]> www.fi.muni.cz Git - bike-lights.git/blobdiff - firmware/tmr.c
ambient.c: adjust the day/dawn values
[bike-lights.git] / firmware / tmr.c
index 5a4403797f1db1fb29af62faaae90ce386ebe84f..23b70b68e316e372782a0d74be4883002fd564ea 100644 (file)
@@ -4,30 +4,38 @@
 #include "lights.h"
 
 volatile uint16_t jiffies;
-#define PATTERN_DIV  // clk/10
+#define PATTERN_DIV 10 // clk/10
 static unsigned char pattern_div;
 
 void init_tmr()
 {
        TCCR0A = _BV(WGM00);
        TCCR0B = _BV(CS02) | _BV(CS00); // CLK/1024 = 1 kHz
-       OCR0A = 10; // 100 Hz
+       OCR0A = 5; // 200 Hz
        TIMSK |= _BV(OCIE0A);
 
        jiffies = 0;
        pattern_div = PATTERN_DIV;
 }
 
+void susp_tmr()
+{
+       TCCR0A = TCCR0B = 0;
+       TIMSK &= ~_BV(OCIE0A);
+       TIFR = 0;
+}
+
 ISR(TIMER0_COMPA_vect)
 {
        ++jiffies;
 
+       pwm_timer();
+
        if (--pattern_div == 0) {
                timer_check_buttons();
                patterns_next_tick();
+               timer_start_slow_adcs();
                pattern_div = PATTERN_DIV;
        }
-
-       timer_start_adcs();
 }