aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-07-11 22:09:47 +0200
committerLorenz Meier <lm@inf.ethz.ch>2014-07-11 22:09:47 +0200
commite3afb669cae54b042f453605601fed861c52ee45 (patch)
treedf309c4b4c8114bb642a233fc886dea610ddb03a
parent899657613e44f0d4bbdb66644b35420d7381ff99 (diff)
downloadpx4-firmware-e3afb669cae54b042f453605601fed861c52ee45.tar.gz
px4-firmware-e3afb669cae54b042f453605601fed861c52ee45.tar.bz2
px4-firmware-e3afb669cae54b042f453605601fed861c52ee45.zip
sensors: Fix usage of offset for measurements
-rw-r--r--src/modules/sensors/sensor_params.c2
-rw-r--r--src/modules/sensors/sensors.cpp6
2 files changed, 4 insertions, 4 deletions
diff --git a/src/modules/sensors/sensor_params.c b/src/modules/sensors/sensor_params.c
index 6b90a1239..8f6e7abe6 100644
--- a/src/modules/sensors/sensor_params.c
+++ b/src/modules/sensors/sensor_params.c
@@ -205,7 +205,7 @@ PARAM_DEFINE_FLOAT(SENS_DPRES_OFF, 0.0f);
*
* Pick the appropriate scaling from the datasheet.
* this number defines the (linear) conversion from voltage
- * to Pascal (pa).
+ * to Pascal (pa). For the MPXV7002DP this is 1000.
*
* @group Sensor Calibration
*/
diff --git a/src/modules/sensors/sensors.cpp b/src/modules/sensors/sensors.cpp
index 0cad0c0e5..cda79693d 100644
--- a/src/modules/sensors/sensors.cpp
+++ b/src/modules/sensors/sensors.cpp
@@ -1330,12 +1330,12 @@ Sensors::adc_poll(struct sensor_combined_s &raw)
* a valid voltage from a connected sensor. Also assume a non-
* zero offset from the sensor if its connected.
*/
- if (voltage > 0.4f && (_parameters.diff_pres_analog_scale > 0)) {
+ if (voltage > 0.4f && (_parameters.diff_pres_analog_scale > 0.0f)) {
- float diff_pres_pa = voltage * _parameters.diff_pres_analog_scale;
+ float diff_pres_pa = voltage * _parameters.diff_pres_analog_scale - _parameters.diff_pres_offset_pa;
_diff_pres.timestamp = t;
- _diff_pres.differential_pressure_pa = diff_pres_pa - _parameters.diff_pres_offset_pa;
+ _diff_pres.differential_pressure_pa = diff_pres_pa;
_diff_pres.differential_pressure_raw_pa = diff_pres_pa;
_diff_pres.differential_pressure_filtered_pa = diff_pres_pa;
_diff_pres.temperature = -1000.0f;