mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-21 15:33:33 +08:00
Clean up temperature msg fields (#24272)
* remove temp field from airspeed.msg, adjust temp selection * temp-sensor hirarchy: airspeed, ext. baro, default value * directly use diff-press or baro temp in true-airspeed calc * improve clarity * add enum for temperature source in VehicleAirData.msg
This commit is contained in:
@@ -2669,7 +2669,6 @@ MavlinkReceiver::handle_message_hil_state_quaternion(mavlink_message_t *msg)
|
||||
airspeed.timestamp_sample = timestamp_sample;
|
||||
airspeed.indicated_airspeed_m_s = hil_state.ind_airspeed * 1e-2f;
|
||||
airspeed.true_airspeed_m_s = hil_state.true_airspeed * 1e-2f;
|
||||
airspeed.air_temperature_celsius = 15.f;
|
||||
airspeed.timestamp = hrt_absolute_time();
|
||||
_airspeed_pub.publish(airspeed);
|
||||
}
|
||||
|
||||
@@ -193,7 +193,7 @@ private:
|
||||
msg.abs_pressure = air_data.baro_pressure_pa;
|
||||
msg.diff_pressure = differential_pressure.differential_pressure_pa;
|
||||
msg.pressure_alt = air_data.baro_alt_meter;
|
||||
msg.temperature = air_data.baro_temp_celcius;
|
||||
msg.temperature = air_data.ambient_temperature;
|
||||
msg.fields_updated = fields_updated;
|
||||
|
||||
mavlink_msg_highres_imu_send_struct(_mavlink->get_channel(), &msg);
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
#include <uORB/topics/vehicle_status.h>
|
||||
#include <uORB/topics/failsafe_flags.h>
|
||||
#include <uORB/topics/health_report.h>
|
||||
#include <uORB/topics/vehicle_air_data.h>
|
||||
|
||||
#include <px4_platform_common/events.h>
|
||||
|
||||
@@ -521,6 +522,7 @@ private:
|
||||
update_gps();
|
||||
update_vehicle_status();
|
||||
update_wind();
|
||||
update_vehicle_air_data();
|
||||
}
|
||||
|
||||
void update_airspeed()
|
||||
@@ -529,7 +531,6 @@ private:
|
||||
|
||||
if (_airspeed_sub.update(&airspeed)) {
|
||||
_airspeed.add_value(airspeed.indicated_airspeed_m_s, _update_rate_filtered);
|
||||
_temperature.add_value(airspeed.air_temperature_celsius, _update_rate_filtered);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -610,6 +611,15 @@ private:
|
||||
}
|
||||
}
|
||||
|
||||
void update_vehicle_air_data()
|
||||
{
|
||||
vehicle_air_data_s air_data;
|
||||
|
||||
if (_vehicle_air_data_sub.update(&air_data)) {
|
||||
_temperature.add_value(air_data.ambient_temperature, _update_rate_filtered);
|
||||
}
|
||||
}
|
||||
|
||||
void set_default_values(mavlink_high_latency2_t &msg) const
|
||||
{
|
||||
msg.airspeed = 0;
|
||||
@@ -659,6 +669,7 @@ private:
|
||||
uORB::Subscription _tecs_status_sub{ORB_ID(tecs_status)};
|
||||
uORB::Subscription _wind_sub{ORB_ID(wind)};
|
||||
uORB::Subscription _health_report_sub{ORB_ID(health_report)};
|
||||
uORB::Subscription _vehicle_air_data_sub{ORB_ID(vehicle_air_data)};
|
||||
|
||||
SimpleAnalyzer _airspeed;
|
||||
SimpleAnalyzer _airspeed_sp;
|
||||
|
||||
Reference in New Issue
Block a user