Coverage for tropicsquare / config / sleep_mode.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-03-27 21:24 +0000

1"""Sleep Mode configuration (CFG_SLEEP_MODE @ 0x18)""" 

2 

3from tropicsquare.config.base import BaseConfig 

4from tropicsquare.config.constants import SLEEP_MODE_EN_BIT 

5 

6 

7class SleepModeConfig(BaseConfig): 

8 """Sleep mode configuration register. 

9 

10 Controls whether the chip can enter sleep mode. 

11 

12 Fields: 

13 sleep_mode_en: Sleep mode enable (bit 0) 

14 """ 

15 

16 @property 

17 def sleep_mode_en(self) -> bool: 

18 """Sleep mode enable flag. 

19 

20 When True, the chip can enter sleep mode for power saving. 

21 Default: False (sleep mode disabled) 

22 

23 :returns: True if sleep mode is enabled 

24 """ 

25 return bool((self._value >> SLEEP_MODE_EN_BIT) & 1) 

26 

27 @sleep_mode_en.setter 

28 def sleep_mode_en(self, value: bool) -> None: 

29 if value: 

30 self._value |= (1 << SLEEP_MODE_EN_BIT) 

31 else: 

32 self._value &= ~(1 << SLEEP_MODE_EN_BIT) 

33 

34 def to_dict(self) -> dict: 

35 """Export fields as dictionary. 

36 

37 :returns: Configuration fields and their values 

38 """ 

39 return { 

40 'sleep_mode_en': self.sleep_mode_en 

41 } 

42 

43 def __str__(self) -> str: 

44 """Human-readable representation.""" 

45 return "SleepModeConfig(sleep_mode_en={})".format(self.sleep_mode_en)