From f6c92b59f03adcffc10b150474f9a7062be5ca30 Mon Sep 17 00:00:00 2001 From: smckown Date: Wed, 4 Nov 2009 03:55:03 +0000 Subject: [PATCH] Clean up the ADC configuration for the wind vane. --- tos/platforms/tmirws/sensors/WindVaneAdcP.nc | 21 +++++++------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/tos/platforms/tmirws/sensors/WindVaneAdcP.nc b/tos/platforms/tmirws/sensors/WindVaneAdcP.nc index e898db0f..67f019df 100644 --- a/tos/platforms/tmirws/sensors/WindVaneAdcP.nc +++ b/tos/platforms/tmirws/sensors/WindVaneAdcP.nc @@ -47,31 +47,24 @@ module WindVaneAdcP { provides interface AdcConfigure; } implementation { - /* TODO: The internal references are unsable, varying by more than 0.1V and - * jumping around. The external reference of 2.50V seems stable. + /* We use the external reference because it is probably more accurate (see + * the circuit), and there is no arbitration for the voltage reference. With + * the external reference, we can ReadStream 4 data points in 420 us. Using + * the internal reference, this time increases significantly to over 18 ms. */ const msp430adc12_channel_config_t config = { inch: INPUT_CHANNEL_A2, -#if 1 /* internal references unstable (no, I don't think so) */ - sref: REFERENCE_VREFplus_AVss, - ref2_5v: /*REFVOLT_LEVEL_1_5, */ REFVOLT_LEVEL_2_5, -#else /* external reference is stable, and is 2.5V */ sref: REFERENCE_VeREFplus_AVss, - ref2_5v: REFVOLT_LEVEL_1_5, -#endif -#if 0 /* clock source doesn't seem to affect stability */ + ref2_5v: REFVOLT_LEVEL_1_5, /* doesn't matter since external ref used */ adc12ssel: SHT_SOURCE_ADC12OSC, adc12div: SHT_CLOCK_DIV_8, -#else - adc12ssel: SHT_SOURCE_ACLK, - adc12div: SHT_CLOCK_DIV_1, -#endif sht: SAMPLE_HOLD_8_CYCLES, sampcon_ssel: SAMPCON_SOURCE_ACLK, sampcon_id: SAMPCON_CLOCK_DIV_1 }; - async command const msp430adc12_channel_config_t* AdcConfigure.getConfiguration() + async command const msp430adc12_channel_config_t* + AdcConfigure.getConfiguration() { return &config; } -- 2.39.2