aboutsummaryrefslogtreecommitdiff
path: root/apps/sensors/sensors.cpp
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-03-08 22:17:22 +0100
committerLorenz Meier <lm@inf.ethz.ch>2013-03-08 22:17:22 +0100
commita4318bd68c35bd5c0b0aa36584e9f08d7377da49 (patch)
treea7613980a29c89e7a3ac84b367bba607bb609223 /apps/sensors/sensors.cpp
parente8e52afcc426491f5959e6f879f26c9211a88d4c (diff)
parent87ea7096fd481fde0f0a946366a5b9ff8b5dc638 (diff)
downloadpx4-firmware-a4318bd68c35bd5c0b0aa36584e9f08d7377da49.tar.gz
px4-firmware-a4318bd68c35bd5c0b0aa36584e9f08d7377da49.tar.bz2
px4-firmware-a4318bd68c35bd5c0b0aa36584e9f08d7377da49.zip
Merge branch 'master' of github.com:PX4/Firmware into px4io-i2c
Diffstat (limited to 'apps/sensors/sensors.cpp')
-rw-r--r--apps/sensors/sensors.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/apps/sensors/sensors.cpp b/apps/sensors/sensors.cpp
index 8d04e6ad6..d725c7727 100644
--- a/apps/sensors/sensors.cpp
+++ b/apps/sensors/sensors.cpp
@@ -998,12 +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 / (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);