X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?p=bike-lights.git;a=blobdiff_plain;f=adc.c;h=b758721d73e4c298ff3561b0be773b7336879894;hp=a37e95886f237828537666d5bb209048a521eaeb;hb=e5360facc2b16d902a9c891e9cd8aadcc3c21e39;hpb=355758d26d0bd1cfffd97b115673522e63b42820 diff --git a/adc.c b/adc.c index a37e958..b758721 100644 --- a/adc.c +++ b/adc.c @@ -16,6 +16,8 @@ static unsigned char adc_mux[] = { // pwmleds should be first _BV(REFS1) | _BV(MUX2) | _BV(MUX0), }; +#define AMBIENT_ADC N_PWMLEDS + #define LAST_ADC (sizeof(adc_mux)/sizeof(char)) volatile static unsigned char current_adc = LAST_ADC; @@ -27,7 +29,9 @@ static void start_next_adc() // test if current_adc should be measured if (current_adc < N_PWMLEDS && pwmled_is_on(current_adc)) goto found; - // TODO ambient light, battery sense, etc. + if (current_adc == AMBIENT_ADC) + goto found; + // TODO battery sense, etc. } // all ADCs have been handled @@ -66,7 +70,9 @@ ISR(ADC_vect) { // IRQ handler if (current_adc < N_PWMLEDS) pwmled_adc(current_adc, adcval); - // TODO ambient light, battery sense, etc. + if (current_adc == AMBIENT_ADC) + ambient_adc(adcval); + // TODO battery sense, etc. start_next_adc(); }