printf("DCF77 receiver switched on\n");// notify user
}elseif(0==strcmp(word,"off")){
rtc_dcf77_off();// switch DCF77 off
printf("DCF77 receiver switched off\n");// notify user
}else{
gotoerror;
}
}elseif(0==strcmp(word,"time")){
word=strtok(NULL,delimiter);
if(!word){
@ -438,9 +452,14 @@ int main(void)
rtc_interrupt_enable(RTC_SEC);// enable RTC interrupt on "seconds"
nvic_enable_irq(NVIC_RTC_IRQ);// allow the RTC to interrupt
#endif
printf("OK\n");
// setup DCF77
printf("setup DCF77 receiver: ");
rtc_dcf77_setup();// setup DCF77 module
rtc_dcf77_on();// switch on DCF77 module to get correct time
printf("OK\n");
rtc_dcf77_on();// switch DCF77 on to get correct time
printf("DCF77 receiver switched on\n");// notify user
// setup WS2812B LEDs
printf("setup LEDs: ");
@ -565,6 +584,7 @@ int main(void)
#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
printf("DCF77 receiver switched off\n");// notify user
}else{
printf("DCF77 time: error\n");
}
@ -589,8 +609,9 @@ 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
rtc_dcf77_on();// switch DCF77 on to update/correct time
printf("DCF77 receiver switched on\n");// notify user