]> www.fi.muni.cz Git - tinyboard.git/blobdiff - projects/step-up/main.c
Experimental step-up driver for chain of 5630 LEDs.
[tinyboard.git] / projects / step-up / main.c
index 69657a8a70052d37b5b4cdd1545febfeba8ad456..25d80df070bb4bf7269e89c6ee50792fdb245612 100644 (file)
@@ -11,11 +11,10 @@ static void hw_setup()
 {
        power_all_disable();
 
-       wdt_enable(WDTO_1S);
-
        init_battery();
        init_pwm();
        init_adc();
+       init_wdt();
 
        init_buttons();
 
@@ -30,9 +29,10 @@ static void hw_suspend()
 {
        susp_pwm();
        susp_adc();
+       susp_wdt();
+
        susp_buttons();
 
-       wdt_disable();
        power_all_disable();
 }
 
@@ -71,8 +71,20 @@ int main(void)
        sei();
 #if 1
        while (1) {
-               wdt_reset();
-               sleep_mode();
+               cli();
+               if (pwm_enabled) {
+                       set_sleep_mode(SLEEP_MODE_IDLE);
+               } else if (adc_enabled) {
+                       set_sleep_mode(SLEEP_MODE_ADC);
+               } else {
+                       set_sleep_mode(SLEEP_MODE_PWR_DOWN);
+               }
+
+               sleep_enable();
+               // keep BOD active, no sleep_bod_disable();
+               sei();
+               sleep_cpu();
+               sleep_disable();
        }
 #endif