diff options
author | Simon Wilks <sjwilks@gmail.com> | 2013-04-22 08:51:49 +0200 |
---|---|---|
committer | Simon Wilks <sjwilks@gmail.com> | 2013-04-22 08:51:49 +0200 |
commit | 715e3e2ebe0546edfa8c053ff90f4f1fdc521da7 (patch) | |
tree | 1b75c413961e72ae88ad49283060965676c5c207 /apps/sensors/sensors.cpp | |
parent | 48f815860b5900f3770486d88aea9084c75441e0 (diff) | |
download | px4-firmware-715e3e2ebe0546edfa8c053ff90f4f1fdc521da7.tar.gz px4-firmware-715e3e2ebe0546edfa8c053ff90f4f1fdc521da7.tar.bz2 px4-firmware-715e3e2ebe0546edfa8c053ff90f4f1fdc521da7.zip |
Cleanup
Diffstat (limited to 'apps/sensors/sensors.cpp')
-rw-r--r-- | apps/sensors/sensors.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/apps/sensors/sensors.cpp b/apps/sensors/sensors.cpp index fcd1d869f..8b6f18473 100644 --- a/apps/sensors/sensors.cpp +++ b/apps/sensors/sensors.cpp @@ -99,6 +99,12 @@ #define BAT_VOL_LOWPASS_2 0.01f #define VOLTAGE_BATTERY_IGNORE_THRESHOLD_VOLTS 3.5f +/** + * HACK - true temperature is much less than indicated temperature in baro, + * subtract 5 degrees in an attempt to account for the electrical upheating of the PCB + */ +#define PCB_TEMP_ESTIMATE_DEG 5.0f + #define PPM_INPUT_TIMEOUT_INTERVAL 50000 /**< 50 ms timeout / 20 Hz */ #define limit_minus_one_to_one(arg) (arg < -1.0f) ? -1.0f : ((arg > 1.0f) ? 1.0f : arg) @@ -913,15 +919,9 @@ Sensors::diff_pres_poll(struct sensor_combined_s &raw) raw.differential_pressure_pa = _diff_pres.differential_pressure_pa; raw.differential_pressure_counter++; - float airspeed_true = calc_true_airspeed(_diff_pres.differential_pressure_pa + raw.baro_pres_mbar*1e2f, - raw.baro_pres_mbar*1e2f, raw.baro_temp_celcius - 5.0f); //factor 1e2 for conversion from mBar to Pa - // XXX HACK - true temperature is much less than indicated temperature in baro, - // subtract 5 degrees in an attempt to account for the electrical upheating of the PCB - - float airspeed_indicated = calc_indicated_airspeed(_diff_pres.differential_pressure_pa); - - _airspeed.indicated_airspeed_m_s = airspeed_indicated; - _airspeed.true_airspeed_m_s = airspeed_true; + _airspeed.indicated_airspeed_m_s = calc_indicated_airspeed(_diff_pres.differential_pressure_pa); + _airspeed.true_airspeed_m_s = calc_true_airspeed(_diff_pres.differential_pressure_pa + raw.baro_pres_mbar*1e2f, + raw.baro_pres_mbar*1e2f, raw.baro_temp_celcius - PCB_TEMP_ESTIMATE_DEG); /* announce the airspeed if needed, just publish else */ if (_airspeed_pub > 0) { |