diff --git a/src/drivers/osd/msp_osd/msp_osd.cpp b/src/drivers/osd/msp_osd/msp_osd.cpp index 087ffce6c8..e6e7f236f7 100644 --- a/src/drivers/osd/msp_osd/msp_osd.cpp +++ b/src/drivers/osd/msp_osd/msp_osd.cpp @@ -350,16 +350,12 @@ void MspOsd::Run() home_position_s home_position{}; _home_position_sub.copy(&home_position); - estimator_status_s estimator_status{}; - _estimator_status_sub.copy(&estimator_status); - vehicle_global_position_s vehicle_global_position{}; _vehicle_global_position_sub.copy(&vehicle_global_position); // construct and send message const auto msg = msp_osd::construct_COMP_GPS( home_position, - estimator_status, vehicle_global_position, _heartbeat); this->Send(MSP_COMP_GPS, &msg); @@ -379,17 +375,11 @@ void MspOsd::Run() sensor_gps_s vehicle_gps_position{}; _vehicle_gps_position_sub.copy(&vehicle_gps_position); - estimator_status_s estimator_status{}; - _estimator_status_sub.copy(&estimator_status); - vehicle_local_position_s vehicle_local_position{}; _vehicle_local_position_sub.copy(&vehicle_local_position); // construct and send message - const auto msg = msp_osd::construct_ALTITUDE( - vehicle_gps_position, - estimator_status, - vehicle_local_position); + const auto msg = msp_osd::construct_ALTITUDE(vehicle_gps_position, vehicle_local_position); this->Send(MSP_ALTITUDE, &msg); } diff --git a/src/drivers/osd/msp_osd/msp_osd.hpp b/src/drivers/osd/msp_osd/msp_osd.hpp index ad233e2041..87918c7864 100644 --- a/src/drivers/osd/msp_osd/msp_osd.hpp +++ b/src/drivers/osd/msp_osd/msp_osd.hpp @@ -43,7 +43,6 @@ #include #include #include -#include #include #include #include @@ -145,7 +144,6 @@ private: // subscriptions to desired vehicle display information uORB::Subscription _airspeed_validated_sub{ORB_ID(airspeed_validated)}; uORB::Subscription _battery_status_sub{ORB_ID(battery_status)}; - uORB::Subscription _estimator_status_sub{ORB_ID(estimator_status)}; uORB::Subscription _home_position_sub{ORB_ID(home_position)}; uORB::Subscription _input_rc_sub{ORB_ID(input_rc)}; uORB::Subscription _log_message_sub{ORB_ID(log_message)}; diff --git a/src/drivers/osd/msp_osd/uorb_to_msp.cpp b/src/drivers/osd/msp_osd/uorb_to_msp.cpp index 1a78179855..e2cf9daf5e 100644 --- a/src/drivers/osd/msp_osd/uorb_to_msp.cpp +++ b/src/drivers/osd/msp_osd/uorb_to_msp.cpp @@ -365,7 +365,6 @@ msp_raw_gps_t construct_RAW_GPS(const sensor_gps_s &vehicle_gps_position, } msp_comp_gps_t construct_COMP_GPS(const home_position_s &home_position, - const estimator_status_s &estimator_status, const vehicle_global_position_s &vehicle_global_position, const bool heartbeat) { @@ -375,7 +374,8 @@ msp_comp_gps_t construct_COMP_GPS(const home_position_s &home_position, // Calculate distance and direction to home if (home_position.valid_hpos && home_position.valid_lpos - && estimator_status.solution_status_flags & (1 << 4)) { + && (hrt_elapsed_time(&vehicle_global_position.timestamp) < 1_s)) { + float bearing_to_home = math::degrees(get_bearing_to_next_waypoint(vehicle_global_position.lat, vehicle_global_position.lon, home_position.lat, home_position.lon)); @@ -425,7 +425,6 @@ msp_attitude_t construct_ATTITUDE(const vehicle_attitude_s &vehicle_attitude) } msp_altitude_t construct_ALTITUDE(const sensor_gps_s &vehicle_gps_position, - const estimator_status_s &estimator_status, const vehicle_local_position_s &vehicle_local_position) { // initialize result @@ -438,7 +437,7 @@ msp_altitude_t construct_ALTITUDE(const sensor_gps_s &vehicle_gps_position, altitude.estimatedActualPosition = 0; } - if (estimator_status.solution_status_flags & (1 << 5)) { + if (vehicle_local_position.v_z_valid) { altitude.estimatedActualVelocity = -vehicle_local_position.vz * 100; //m/s to cm/s } else { diff --git a/src/drivers/osd/msp_osd/uorb_to_msp.hpp b/src/drivers/osd/msp_osd/uorb_to_msp.hpp index d841faf522..1f5cdb3b6d 100644 --- a/src/drivers/osd/msp_osd/uorb_to_msp.hpp +++ b/src/drivers/osd/msp_osd/uorb_to_msp.hpp @@ -54,7 +54,6 @@ #include #include #include -#include #include #include @@ -94,7 +93,6 @@ msp_raw_gps_t construct_RAW_GPS(const sensor_gps_s &vehicle_gps_position, // construct an MSP_COMP_GPS struct msp_comp_gps_t construct_COMP_GPS(const home_position_s &home_position, - const estimator_status_s &estimator_status, const vehicle_global_position_s &vehicle_global_position, const bool heartbeat); @@ -103,7 +101,6 @@ msp_attitude_t construct_ATTITUDE(const vehicle_attitude_s &vehicle_attitude); // construct an MSP_ALTITUDE struct msp_altitude_t construct_ALTITUDE(const sensor_gps_s &vehicle_gps_position, - const estimator_status_s &estimator_status, const vehicle_local_position_s &vehicle_local_position); // construct an MSP_ESC_SENSOR_DATA struct