X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?p=tinyboard.git;a=blobdiff_plain;f=projects%2Fstep-up%2Fmain.c;h=25d80df070bb4bf7269e89c6ee50792fdb245612;hp=69657a8a70052d37b5b4cdd1545febfeba8ad456;hb=HEAD;hpb=3e9d94b2511bc76aab92b2af38aacadf2dbe4dab diff --git a/projects/step-up/main.c b/projects/step-up/main.c index 69657a8..25d80df 100644 --- a/projects/step-up/main.c +++ b/projects/step-up/main.c @@ -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