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;fp=projects%2Fstep-up%2Fmain.c;h=c1ee381453a334bf43493ddb93e287f9fa2bea62;hp=69657a8a70052d37b5b4cdd1545febfeba8ad456;hb=0174f645d64fbb6e1280c2bb225273f429dff187;hpb=678dd60ed95c50064bf8266f71ecf1b026dc3877 diff --git a/projects/step-up/main.c b/projects/step-up/main.c index 69657a8..c1ee381 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,18 @@ int main(void) sei(); #if 1 while (1) { - wdt_reset(); - sleep_mode(); + cli(); + if (pwm_running) { + set_sleep_mode(SLEEP_MODE_IDLE); + } else if (adc_running) { + set_sleep_mode(SLEEP_MODE_ADC); + } else { + set_sleep_mode(SLEEP_MODE_PWR_DOWN); + } + // keep BOD active, no sleep_bod_disable(); + sei(); + sleep_cpu(); + sleep_disable(); } #endif