|
CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
|
#include <SleepManager.h>
Public Member Functions | |
| void | init (hal::ISleepController *sleep, hal::IPowerManager *power, LockScreenView *lockScreen) |
| Initializes sleep-manager dependencies and state. | |
| void | checkLockScreenSleep (uint32_t nowMs) |
| Evaluates whether lock-screen light sleep should be entered. | |
| void | resetTimer (uint32_t nowMs) |
| Resets lock-screen sleep timer using explicit timestamp. | |
| void | resetTimer () |
| Resets lock-screen sleep timer using current system tick. | |
| bool | isInLightSleep () const |
| bool | addSleepInhibitor (const char *reason) |
| Sleep inhibitor API implementation. | |
| bool | removeSleepInhibitor (const char *reason) |
| Removes a sleep inhibitor reason. | |
| bool | isSleepInhibited () const |
| uint8_t | getInhibitorCount () const |
Static Public Member Functions | |
| static SleepManager & | instance () |
| Returns singleton sleep manager instance. | |
Definition at line 23 of file SleepManager.h.
| bool cdc::ui::SleepManager::addSleepInhibitor | ( | const char * | reason | ) |
Sleep inhibitor API implementation.
Add a sleep inhibitor (prevents sleep while active)
| reason | Identifier for the inhibitor (e.g., module name) |
Adds a sleep inhibitor reason.
| reason | Inhibitor identifier string. |
Definition at line 208 of file SleepManager.cpp.
References LOG_I, LOG_W, cdc::ui::MAX_SLEEP_INHIBITORS, and cdc::ui::TAG.
Referenced by cdc::ui::BlePairingView::onEnter().
| void cdc::ui::SleepManager::checkLockScreenSleep | ( | uint32_t | nowMs | ) |
Evaluates whether lock-screen light sleep should be entered.
| nowMs | Current monotonic time in milliseconds. |
Definition at line 69 of file SleepManager.cpp.
References cdc::ui::ViewStack::instance(), isSleepInhibited(), cdc::ui::LIGHT_SLEEP, cdc::ui::LIGHT_SLEEP_TIMEOUT_MS, and cdc::ui::NONE.
Referenced by cdc::ui::ui_process().
|
inline |
Get count of active inhibitors
Definition at line 66 of file SleepManager.h.
| void cdc::ui::SleepManager::init | ( | hal::ISleepController * | sleep, |
| hal::IPowerManager * | power, | ||
| LockScreenView * | lockScreen ) |
Initializes sleep-manager dependencies and state.
| sleep | Sleep controller dependency. |
| Power | Power manager dependency. |
| lockScreen | Lock-screen view dependency. |
Definition at line 39 of file SleepManager.cpp.
Referenced by cdc::ui::ui_init().
|
static |
Returns singleton sleep manager instance.
Definition at line 27 of file SleepManager.cpp.
Referenced by host_set_sleep_inhibit(), cdc::ui::BlePairingView::onEnter(), cdc::ui::BlePairingView::onExit(), cdc::ui::ui_init(), and cdc::ui::ui_process().
|
inline |
Definition at line 40 of file SleepManager.h.
|
inline |
Check if sleep is currently inhibited
Definition at line 61 of file SleepManager.h.
Referenced by checkLockScreenSleep().
| bool cdc::ui::SleepManager::removeSleepInhibitor | ( | const char * | reason | ) |
Removes a sleep inhibitor reason.
Remove a sleep inhibitor
| reason | Identifier to remove |
| reason | Inhibitor identifier string. |
Definition at line 238 of file SleepManager.cpp.
References LOG_I, and cdc::ui::TAG.
Referenced by cdc::ui::BlePairingView::onExit().
| void cdc::ui::SleepManager::resetTimer | ( | ) |
Resets lock-screen sleep timer using current system tick.
Definition at line 60 of file SleepManager.cpp.
| void cdc::ui::SleepManager::resetTimer | ( | uint32_t | nowMs | ) |
Resets lock-screen sleep timer using explicit timestamp.
| nowMs | Current monotonic time in milliseconds. |
Definition at line 52 of file SleepManager.cpp.
Referenced by cdc::ui::ui_process().