switch (n) {
case 0: // pwmled 1: 1.1V, ADC0,1 (PA0,1), gain 20
ADMUX = _BV(REFS1) | _BV(MUX3) | _BV(MUX1) | _BV(MUX0);
- sum_shift = 3; // 8 measurements
+ sum_shift = PWMLED_ADC_SHIFT;
break;
case 1: // pwmled 2: 1.1V, ADC2,1 (PA2,1), gain 20
ADMUX = _BV(REFS1) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
- sum_shift = 3; // 8 measurements
+ sum_shift = PWMLED_ADC_SHIFT;
break;
case 2: // pwmled 3: 1.1V, ADC4 (PA5), single-ended
ADMUX = _BV(REFS1) | _BV(MUX2);
- sum_shift = 3; // 8 measurements
+ sum_shift = PWMLED_ADC_SHIFT;
break;
case 3: // ambient light: 1.1V, ADC5 (PA6), single-ended
ADMUX = _BV(REFS1) | _BV(MUX2) | _BV(MUX0);
- sum_shift = 0; // 1 measurement
+ sum_shift = 3; // 3 measurements
break;
case 4: // batt voltage: 1.1V, ADC6 (PA7), single-ended
ADMUX = _BV(REFS1) | _BV(MUX2) | _BV(MUX1);
if (current_adc < N_PWMLEDS)
pwmled_adc(current_adc, adc_sum);
if (current_adc == AMBIENT_ADC)
- ambient_adc(adcval);
+ ambient_adc(adc_sum);
if (current_adc == BATTERY_ADC)
battery_adc(adcval);