| #endif | #endif | ||||
| #if defined(__MK20DX128__) || defined(__MK20DX256__) | |||||
| unsigned long rtc_get(void) | unsigned long rtc_get(void) | ||||
| { | { | ||||
| return RTC_TSR; | return RTC_TSR; | ||||
| RTC_SR = RTC_SR_TCE; | RTC_SR = RTC_SR_TCE; | ||||
| } | } | ||||
| // adjust is the amount of crystal error to compensate, 1 = 0.1192 ppm | // adjust is the amount of crystal error to compensate, 1 = 0.1192 ppm | ||||
| // For example, adjust = -100 is slows the clock by 11.92 ppm | // For example, adjust = -100 is slows the clock by 11.92 ppm | ||||
| // | // | ||||
| RTC_TCR = ((interval - 1) << 8) | tcr; | RTC_TCR = ((interval - 1) << 8) | tcr; | ||||
| } | } | ||||
| #else | |||||
| unsigned long rtc_get(void) { return 0; } | |||||
| void rtc_set(unsigned long t) { } | |||||
| void rtc_compensate(int adjust) { } | |||||
| #endif | |||||
| #if 0 | #if 0 | ||||
| // TODO: build system should define this | // TODO: build system should define this | ||||
| // so RTC is automatically initialized to approx correct time | // so RTC is automatically initialized to approx correct time |