diff --git a/src/main.c b/src/main.c --- a/src/main.c +++ b/src/main.c @@ -99,6 +99,10 @@ int main(void) { blink_rate = BLINK_SLOW; HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI); + HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI); + HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI); + HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI); + // Wait for RTC wakeup interrupt //wfi(); //enter_sleep(); @@ -112,6 +116,11 @@ int main(void) case SYSTEM_GPSACQ: { blink_rate = BLINK_FAST; + HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI); + HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI); + HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI); + HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI); + if(!gps_ison()) { @@ -176,6 +185,13 @@ int main(void) state = SYSTEM_IDLE; } } + else + { + HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI); + HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI); + HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI); + HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI); + } // Schedule next wakeup (maybe 2mins prior ot timeslot if no osc trim) // Next wakeup should enter SYSTEM_GPSACQ state...