X-Git-Url: https://git.karo-electronics.de/?p=oswald.git;a=blobdiff_plain;f=metawatch%2Fmw_adc.c;h=d5db450a80b0250a20699ba93889ebde5e281a3c;hp=48501268cde35db8812f3621102dabb36a04bfc2;hb=1b5790095c23913d02531727e47b79af3568e0b1;hpb=1553c23cf33de5d8a193ffc8c7014cf826fc9fd3 diff --git a/metawatch/mw_adc.c b/metawatch/mw_adc.c index 4850126..d5db450 100644 --- a/metawatch/mw_adc.c +++ b/metawatch/mw_adc.c @@ -58,17 +58,18 @@ unsigned int mw_get_battery_adc_val(void) ENABLE_ADC(); /* WaitForAdcBusy(); */ - while (ADC12CTL1 & ADC12BUSY); + while (ADC12CTL1 & ADC12BUSY) + nop(); - /* Convert the ADC count for the battery input into a voltage + /* Convert the ADC count for the battery input into a voltage * ADC12MEM1: Counts Battery Voltage in ADC counts * Result: Battery voltage in millivolts */ BATTERY_SENSE_DISABLE(); - return (unsigned int)(CONVERSION_FACTOR_BATTERY * (double)ADC12MEM1); + return (unsigned int)(CONVERSION_FACTOR_BATTERY * (double)ADC12MEM1); } -unsigned char mw_get_battery_percentage_from_val(unsigned int BattVal) +uint8_t mw_get_battery_percentage_from_val(unsigned int BattVal) { if (BattVal > BATTERY_FULL_LEVEL) BattVal = BATTERY_FULL_LEVEL; @@ -81,3 +82,20 @@ unsigned char mw_get_battery_percentage_from_val(unsigned int BattVal) return (unsigned char)BattVal; } +uint16_t mw_get_amblight_adc_val(void) +{ + LIGHT_SENSE_ENABLE(); + + CLEAR_START_ADDR(); + ADC12CTL1 |= ADC12CSTARTADD_2; + ENABLE_ADC(); + + /* WaitForAdcBusy(); */ + while (ADC12CTL1 & ADC12BUSY) + nop(); + + LIGHT_SENSE_DISABLE(); + + return ADC12MEM2; +} +