void time_set(time_s* newTimeData) { // TCNT2 = 0x00; newTimeData->secs = 0; memcpy(&timeData, newTimeData, sizeof(time_s)); #if RTC_SRC != RTC_SRC_INTERNAL rtc_save(newTimeData); #endif alarm_updateNextAlarm(); }
void time_set(s_time* timeDataSet) { // TCNT2 = 0x00; halfSecond = false; timeDataSet->secs = 0; memcpy(&timeData, timeDataSet, sizeof(s_time)); // Convert to BCD s_time tmp; tmp.secs = 0; tmp.mins = dec2bcd(timeDataSet->mins); tmp.hours = dec2bcd(timeDataSet->hours); tmp.day = timeDataSet->day; // Don't need to convert to BCD since it only stores 0 - 6 tmp.date = dec2bcd(timeDataSet->date); tmp.month = dec2bcd(timeDataSet->month); tmp.year = dec2bcd(timeDataSet->year); ds1337_save(&tmp); alarm_updateNextAlarm(); }