void rtc_gettime (RTC_t *rtc) { uint32_t t; while ( ( t = RTC_GetCounter() ) != RTC_GetCounter() ) { ; } counter_to_struct( t, rtc ); // get non DST time adjustDST( rtc ); }
/******************************************************************************* * Function Name : rtc_gettime * Description : populates structure from HW-RTC, takes DST into account * Input : None * Output : time-struct gets modified * Return : always true/not used *******************************************************************************/ bool rtc_gettime (RTC_t *rtc) { uint32_t t; RTC_TimeTypeDef RTC_TimeStructure; RTC_DateTypeDef RTC_DateStructure; RTC_GetTime(RTC_Format_BIN, &RTC_TimeStructure); RTC_GetDate(RTC_Format_BIN, &RTC_DateStructure); RTC_to_struct( RTC_TimeStructure, RTC_DateStructure, rtc ); // get non DST time adjustDST( rtc ); return true; }