]> www.fi.muni.cz Git - bike-lights.git/blobdiff - firmware/main.c
buttons.c: fix for setup timeout
[bike-lights.git] / firmware / main.c
index 25ea829511781e3e365c282a9bc0ae0e4357b8c3..ea3bb69d1384dd5840c5e6a90066dda0807a229c 100644 (file)
@@ -7,7 +7,7 @@
 
 #include "lights.h"
 
-void hw_setup()
+static void hw_setup()
 {
        wdt_enable(WDTO_1S);
        init_battery();
@@ -24,7 +24,7 @@ void hw_setup()
        set_sleep_mode(SLEEP_MODE_IDLE);
 }
 
-void hw_suspend()
+static void hw_suspend()
 {
        susp_pwm();
        susp_adc();
@@ -39,6 +39,7 @@ void power_down()
        uint16_t wake_count = 0;
        unsigned char btn;
 
+       hw_suspend();
 sleep_again:
        // enable PCINT14, so that user can wake up later
         GIMSK |= _BV(PCIE1);
@@ -87,12 +88,13 @@ ISR(PCINT_vect)
 int main(void)
 {
        log_init();
+
        power_usi_disable(); // Once for lifetime
+       ACSRA |= _BV(ACD);   // disable analog comparator
 
        log_set_state(3);
 
        hw_setup();
-       hw_suspend();
        power_down();
 
        sei();