diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-03-23 16:56:07 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-03-23 16:56:07 +0100 |
commit | 42bba678939a58e59282d4c63dbdef53f962e0ed (patch) | |
tree | cb9860460c4c2d492fd3a2ddd76715e0580d2dc0 /src/modules/sensors | |
parent | d1e2e855a3c4b7ba07b91988238e09fc67d2effa (diff) | |
download | px4-firmware-42bba678939a58e59282d4c63dbdef53f962e0ed.tar.gz px4-firmware-42bba678939a58e59282d4c63dbdef53f962e0ed.tar.bz2 px4-firmware-42bba678939a58e59282d4c63dbdef53f962e0ed.zip |
Move changes regarding the filtered airspeed consistently across sensors, use actual air temperature instead of board temperature
Diffstat (limited to 'src/modules/sensors')
-rw-r--r-- | src/modules/sensors/sensors.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/modules/sensors/sensors.cpp b/src/modules/sensors/sensors.cpp index 91a8d5670..13afe27c8 100644 --- a/src/modules/sensors/sensors.cpp +++ b/src/modules/sensors/sensors.cpp @@ -1031,10 +1031,12 @@ Sensors::diff_pres_poll(struct sensor_combined_s &raw) raw.differential_pressure_timestamp = _diff_pres.timestamp; raw.differential_pressure_filtered_pa = _diff_pres.differential_pressure_filtered_pa; + float air_temperature_celcius = (_diff_pres.temperature > -300.0f) ? _diff_pres.temperature : (raw.baro_temp_celcius - PCB_TEMP_ESTIMATE_DEG); + _airspeed.timestamp = _diff_pres.timestamp; _airspeed.indicated_airspeed_m_s = calc_indicated_airspeed(_diff_pres.differential_pressure_filtered_pa); _airspeed.true_airspeed_m_s = calc_true_airspeed(_diff_pres.differential_pressure_filtered_pa + raw.baro_pres_mbar * 1e2f, - raw.baro_pres_mbar * 1e2f, raw.baro_temp_celcius - PCB_TEMP_ESTIMATE_DEG); + raw.baro_pres_mbar * 1e2f, air_temperature_celcius); /* announce the airspeed if needed, just publish else */ if (_airspeed_pub > 0) { @@ -1239,6 +1241,8 @@ Sensors::adc_poll(struct sensor_combined_s &raw) _diff_pres.timestamp = t; _diff_pres.differential_pressure_pa = diff_pres_pa; + _diff_pres.differential_pressure_filtered_pa = diff_pres_pa; + _diff_pres.temperature = -1000.0f; _diff_pres.voltage = voltage; /* announce the airspeed if needed, just publish else */ |