#include #include #include #include "lights.h" volatile uint16_t jiffies; void init_tmr() { wdt_enable(WDTO_60MS); WDTCR |= _BV(WDIE); // interrupt mode, 64 ms } void susp_tmr() { wdt_disable(); } ISR(WDT_vect) { ++jiffies; timer_check_buttons(); patterns_next_tick(); pwm_disable_if_not_needed(); timer_start_slow_adcs(); if ((jiffies & 0x7FF) == 0) ambient_log_min_max(); WDTCR |= _BV(WDIE); // avoid WDT reset next time }