}
#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;