From c149361f1535eccb8f077052fb67c5cd56db7169 Mon Sep 17 00:00:00 2001 From: Thomas Gubler Date: Mon, 4 Mar 2013 14:21:49 +0100 Subject: scale the saved adc values to get voltage --- apps/sensors/sensors.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'apps/sensors/sensors.cpp') diff --git a/apps/sensors/sensors.cpp b/apps/sensors/sensors.cpp index b5badec71..becd32f7d 100644 --- a/apps/sensors/sensors.cpp +++ b/apps/sensors/sensors.cpp @@ -998,16 +998,16 @@ Sensors::adc_poll(struct sensor_combined_s &raw) /* read all channels available */ int ret = read(_fd_adc, &buf_adc, sizeof(buf_adc)); - /* look for battery channel */ - for (unsigned i = 0; i < sizeof(buf_adc) / sizeof(buf_adc[0]); i++) { if (ret >= (int)sizeof(buf_adc[0])) { + /* Save raw voltage values */ if (i < (sizeof(raw.adc_voltage_v)) / sizeof(raw.adc_voltage_v[0])) { - raw.adc_voltage_v[i] = buf_adc[i].am_data; + raw.adc_voltage_v[i] = buf_adc[i].am_data / (4096.0f / 3.3f); } + /* look for specific channels and process the raw voltage to measurement data */ if (ADC_BATTERY_VOLTAGE_CHANNEL == buf_adc[i].am_channel) { /* Voltage in volts */ float voltage = (buf_adc[i].am_data * _parameters.battery_voltage_scaling); -- cgit v1.2.3