void init_wdt()
{
- wdt_enable(WDTO_1S);
+ WDTCR = _BV(WDIE) | _BV(WDP1); // interrupt mode, 64 ms
}
void susp_wdt()
wdt_disable();
}
+ISR(WDT_vect) {
+ ++jiffies;
+
+ if (jiffies & 0x000F) {
+ need_battery_adc = 1; // about every 1s
+ }
+
+ patterns_next_tick();
+ timer_check_buttons();
+}