]> www.fi.muni.cz Git - tinyboard.git/blobdiff - projects/step-up/adc.c
pattern.c: ADC-timed blinking patterns
[tinyboard.git] / projects / step-up / adc.c
index d7679d30b09cff20d7038629cca4d334b8a04b06..2bd4bfff81804ad3ad00d87fb790ea7c1f9da269 100644 (file)
@@ -140,9 +140,21 @@ static void adc1_gain20_adc(uint16_t adcsum)
 }
 #endif
 
+static void inline adc_based_timer()
+{
+       static uint16_t pattern_counter;
+
+       if (++pattern_counter > 250) {
+               pattern_counter = 0;
+               patterns_next_tick();
+       }
+}
+
 ISR(ADC_vect) { // IRQ handler
        uint16_t adcval = ADCW;
 
+       adc_based_timer();
+
        if (read_zero) {
                setup_mux(current_adc);
                read_zero = 0;