]> www.fi.muni.cz Git - tinyboard.git/blobdiff - projects/step-up/wdt.c
Experimental step-up driver for chain of 5630 LEDs.
[tinyboard.git] / projects / step-up / wdt.c
index 050c0c550f5c762242a345fbb80e81db5915f2c3..cb94ec8bc5260b054170404846ef50f61ead66ea 100644 (file)
@@ -6,7 +6,7 @@
 
 void init_wdt()
 {
-       wdt_enable(WDTO_1S);
+       WDTCR = _BV(WDIE) | _BV(WDP1); // interrupt mode, 64 ms
 }
 
 void susp_wdt()
@@ -14,3 +14,19 @@ void susp_wdt()
        wdt_disable();
 }
 
+ISR(WDT_vect) {
+       ++jiffies;
+
+       if (pwm_enabled) {
+               need_pwmled_adc = 1;
+       }
+
+       if (jiffies & 0x000F) {
+               need_battery_adc = 1; // about every 1s
+       }
+
+       patterns_next_tick();
+       timer_check_buttons();
+       if (!adc_enabled)
+               start_next_adc(); // only if not running
+}