X-Git-Url: https://git.karo-electronics.de/?p=oswald.git;a=blobdiff_plain;f=metawatch%2Fmw_adc.c;h=52c9e04ae401cdff5fa0810d1767212456f4f8f0;hp=48501268cde35db8812f3621102dabb36a04bfc2;hb=3e320aaa4175a0ed469581f1dea2eac35b390878;hpb=ac20c9d8b06609636166c7f3fa38f97561a21af6 diff --git a/metawatch/mw_adc.c b/metawatch/mw_adc.c index 4850126..52c9e04 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; } +unsigned int 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; +} +