From 53235e53943e3da5a676d46b22974c1780b40834 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?King=20K=C3=A9vin?= Date: Sun, 12 Jun 2016 15:36:26 +0200 Subject: [PATCH] use DCF77 to update time at boot and every hour --- main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/main.c b/main.c index a0ec917..434cbf8 100644 --- a/main.c +++ b/main.c @@ -439,7 +439,7 @@ int main(void) nvic_enable_irq(NVIC_RTC_IRQ); // allow the RTC to interrupt #endif rtc_dcf77_setup(); // setup DCF77 module - rtc_dcf77_on(); // switch on DCF77 module + rtc_dcf77_on(); // switch on DCF77 module to get correct time printf("OK\n"); // setup WS2812b LEDs @@ -564,6 +564,7 @@ int main(void) rtc_set_counter_val(ticks_time); // set new time to internal RTC #endif printf("DCF77 time: 20%02u-%02u-%02u %02u:%02u:00\n", dcf77_time[5], dcf77_time[4], dcf77_time[2], dcf77_time[1], dcf77_time[0]); // display time + rtc_dcf77_off(); // switch DCF77 off since we have correct time } else { printf("DCF77 time: error\n"); } @@ -588,6 +589,7 @@ int main(void) printf("%02lu:%02lu:%02lu\n", ticks_time/ticks_hour, (ticks_time%ticks_hour)/ticks_minute, (ticks_time%ticks_minute)/ticks_second); // display external time } if ((ticks_time%ticks_hour)==0) { // one hours passed + rtc_dcf77_on(); // switch DCF77 on to update/correct time clock_hours(); // show hour markers } if (ticks_time>=ticks_midday*2) { // one day passed