diff --git a/src/main.c b/src/main.c --- a/src/main.c +++ b/src/main.c @@ -44,8 +44,8 @@ int main(void) HAL_Delay(1000); // startup delay before infinisleep sysclk_init(); + gpio_init(); rtc_init(); - gpio_init(); adc_init(); wspr_init(); @@ -54,7 +54,9 @@ int main(void) led_blink(4); uint16_t blink_rate = BLINK_FAST; - uint8_t state = SYSTEM_GPSACQ; +// uint8_t state = SYSTEM_GPSACQ; +//DEBUG: + uint8_t state = SYSTEM_IDLE; uint32_t gps_polltimer = 0; uint32_t fix_acq_starttime = 0; @@ -75,10 +77,10 @@ int main(void) // TODO: Disable GPIO port clocking when not needed! // Every 10 minutes, wake up and try to wspr -// if(state == SYSTEM_IDLE && (HAL_GetTick() - last_wspr_tx_time > 60000 * 10)) -// { -// state = SYSTEM_GPSACQ; -// } + if(state == SYSTEM_IDLE && (HAL_GetTick() - last_wspr_tx_time > 60000 * 10)) + { + state = SYSTEM_GPSACQ; + } // Update fix status every 2 seconds, only if the GPS is powered on if(HAL_GetTick() - gps_polltimer > 2000) @@ -120,7 +122,8 @@ int main(void) // HAL_SuspendTick(); // Enter sleep mode: wait for interrupt - HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI); + //HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI); + HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); // We have woken up!