+ } else {
+ unsigned char current_adc_copy = current_adc;
+ uint16_t adc_sum_copy = adc_sum;
+
+ start_next_adc();
+
+ handler_running |= (1 << current_adc_copy);
+ NONATOMIC_BLOCK(NONATOMIC_FORCEOFF) {
+ if (current_adc_copy < N_PWMLEDS)
+ pwmled_adc(current_adc_copy, adc_sum_copy);
+ if (current_adc_copy == AMBIENT_ADC)
+ ambient_adc(adc_sum_copy);
+ if (current_adc_copy == BATTERY_ADC)
+ battery_adc(adc_sum_copy);
+ }
+ handler_running &= ~(1 << current_adc_copy);
+ }