Verify the main app mostly sleeps
This validates that the main watch app spends at least 99.5% of it's time sleeping in the first 10 seconds.
This commit is contained in:
@@ -31,9 +31,19 @@ namespace BSP {
|
||||
|
||||
using BSP::ReturnCode;
|
||||
|
||||
GpioPin *LowPower::m_timing_pin = nullptr;
|
||||
|
||||
ReturnCode LowPower::init()
|
||||
{
|
||||
enable_debug();
|
||||
m_timing_pin = nullptr;
|
||||
return ReturnCode::OK;
|
||||
}
|
||||
|
||||
ReturnCode LowPower::init(GpioPin &timing_pin)
|
||||
{
|
||||
m_timing_pin = &timing_pin;
|
||||
m_timing_pin->write(0);
|
||||
|
||||
return ReturnCode::OK;
|
||||
}
|
||||
|
||||
@@ -93,7 +103,13 @@ ReturnCode LowPower::stop()
|
||||
CLR(RCC->CFGR, RCC_CFGR_STOPWUCK); // MSI oscillator is wake-up from stop clock
|
||||
SET(SCB->SCR, SCB_SCR_SLEEPDEEP_Msk); // low-power mode = stop mode
|
||||
|
||||
__WFI(); // enter low-power mode (Wake from interrupt)
|
||||
if (m_timing_pin != nullptr) {
|
||||
m_timing_pin->write(1);
|
||||
__WFI(); // enter low-power mode (Wake from interrupt)
|
||||
m_timing_pin->write(0);
|
||||
} else{
|
||||
__WFI();
|
||||
}
|
||||
|
||||
wakeups++;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user