From 7c6b43d464f471d15bd2a777186b71c27bbf5229 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?King=20K=C3=A9vin?= Date: Fri, 6 May 2016 11:18:11 +0200 Subject: [PATCH] fix parity check --- lib/rtc_dcf77.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/rtc_dcf77.c b/lib/rtc_dcf77.c index 754e949..61d2c5f 100644 --- a/lib/rtc_dcf77.c +++ b/lib/rtc_dcf77.c @@ -78,13 +78,13 @@ uint8_t* rtc_dcf77_time(void) if (rtc_dcf77_frame==0) { // no time received yet return NULL; } - if (!(rtc_dcf77_frame&(1<<20))) { // start of encode time should always be 1 + if (!(rtc_dcf77_frame&((uint64_t)1<<20))) { // start of encode time should always be 1 return NULL; } // check minute parity parity = 0; - for (uint8_t bit=21; bit<29; bit++) { - if (rtc_dcf77_frame&(1<>21)&(0x1))+2*((rtc_dcf77_frame>>22)&(0x1))+4*((rtc_dcf77_frame>>23)&(0x1))+8*((rtc_dcf77_frame>>24)&(0x1))+10*((rtc_dcf77_frame>>25)&(0x1))+20*((rtc_dcf77_frame>>26)&(0x1))+40*((rtc_dcf77_frame>>27)&(0x1)); // read minute (00-59) // check hour parity parity = 0; - for (uint8_t bit=29; bit<35; bit++) { - if (rtc_dcf77_frame&(1<>29)&(0x1))+2*((rtc_dcf77_frame>>30)&(0x1))+4*((rtc_dcf77_frame>>31)&(0x1))+8*((rtc_dcf77_frame>>32)&(0x1))+10*((rtc_dcf77_frame>>33)&(0x1))+20*((rtc_dcf77_frame>>34)&(0x1)); // read hour (00-23) // check date parity parity = 0; - for (uint8_t bit=36; bit<57; bit++) { - if (rtc_dcf77_frame&(1<