diff --git a/src/main.c b/src/main.c --- a/src/main.c +++ b/src/main.c @@ -31,24 +31,18 @@ int main(void) HAL_GPIO_WritePin(OSC_NOTEN, 1); HAL_GPIO_WritePin(TCXO_EN, 0); - HAL_GPIO_TogglePin(LED_BLUE); - uint32_t led_timer = HAL_GetTick(); uint32_t last_gps = HAL_GetTick(); uint32_t last_wspr = HAL_GetTick(); //0xfffff; // start immediately. - HAL_GPIO_TogglePin(LED_BLUE); - HAL_Delay(100); - HAL_GPIO_TogglePin(LED_BLUE); - HAL_Delay(100); - HAL_GPIO_TogglePin(LED_BLUE); - HAL_Delay(100); - HAL_GPIO_TogglePin(LED_BLUE); - HAL_Delay(100); + + led_blink(4); uint8_t lastMinute = 0; uint16_t blink_rate = 250; + gps_poweron(); + HAL_Delay(500); gps_update_position(); while (1) @@ -72,28 +66,28 @@ int main(void) } // EMZ TODO: this needs to trigger off of RTC minute, not GPS minute -// volatile uint8_t minute = get_timestamp()[3] - 0x30; -// -// // If last minute was odd and this minute is even (transition) -// if(lastMinute%2 == 1 && minute%2 == 0) -// { -// // Wait until the first second of the minute -// HAL_Delay(1000); -// wspr_transmit(); -// } + volatile uint8_t minute = get_timestamp()[3] - 0x30; -// lastMinute = minute; + // If last minute was odd and this minute is even (transition) + if(lastMinute%2 == 1 && minute%2 == 0) + { + // Wait until the first second of the minute + HAL_Delay(1000); + wspr_transmit(); + } + + lastMinute = minute; last_wspr = HAL_GetTick(); } if(HAL_GetTick() - led_timer > blink_rate) { - HAL_GPIO_TogglePin(LED_BLUE); + // HAL_GPIO_TogglePin(LED_BLUE); led_timer = HAL_GetTick(); } if(HAL_GetTick() - last_gps > 10) { - //gps_process(); + gps_process(); last_gps = HAL_GetTick(); }