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
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-27 21:24 +0000
1"""Sleep Mode configuration (CFG_SLEEP_MODE @ 0x18)"""
3from tropicsquare.config.base import BaseConfig
4from tropicsquare.config.constants import SLEEP_MODE_EN_BIT
7class SleepModeConfig(BaseConfig):
8 """Sleep mode configuration register.
10 Controls whether the chip can enter sleep mode.
12 Fields:
13 sleep_mode_en: Sleep mode enable (bit 0)
14 """
16 @property
17 def sleep_mode_en(self) -> bool:
18 """Sleep mode enable flag.
20 When True, the chip can enter sleep mode for power saving.
21 Default: False (sleep mode disabled)
23 :returns: True if sleep mode is enabled
24 """
25 return bool((self._value >> SLEEP_MODE_EN_BIT) & 1)
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)
34 def to_dict(self) -> dict:
35 """Export fields as dictionary.
37 :returns: Configuration fields and their values
38 """
39 return {
40 'sleep_mode_en': self.sleep_mode_en
41 }
43 def __str__(self) -> str:
44 """Human-readable representation."""
45 return "SleepModeConfig(sleep_mode_en={})".format(self.sleep_mode_en)