diff --git a/msg/vehicle_gps_position.msg b/msg/vehicle_gps_position.msg index 85b32a5f63..893bf14381 100644 --- a/msg/vehicle_gps_position.msg +++ b/msg/vehicle_gps_position.msg @@ -42,3 +42,5 @@ float32 heading # heading angle of XYZ body frame rel to NED. Set to NaN if no float32 heading_offset # heading offset of dual antenna array in body frame. Set to NaN if not applicable. (rad, [-PI, PI]) uint8 selected # GPS selection: 0: GPS1, 1: GPS2. 2: GPS3. 3. Blending multiple receivers + +# TOPICS vehicle_gps_position vehicle_gps_position_wo_lat_lon diff --git a/src/modules/logger/logged_topics.cpp b/src/modules/logger/logged_topics.cpp index 197acfffd3..185383694c 100644 --- a/src/modules/logger/logged_topics.cpp +++ b/src/modules/logger/logged_topics.cpp @@ -113,6 +113,7 @@ void LoggedTopics::add_default_topics() add_topic("wind", 1000); add_topic("vehicle_local_position_wo_ref", 100); + add_topic("vehicle_gps_position_wo_lat_lon", 500); if (!_do_not_log_position_data) { add_optional_topic("camera_capture"); diff --git a/src/modules/sensors/vehicle_gps_position/VehicleGPSPosition.cpp b/src/modules/sensors/vehicle_gps_position/VehicleGPSPosition.cpp index b722b65624..beb44fdd14 100644 --- a/src/modules/sensors/vehicle_gps_position/VehicleGPSPosition.cpp +++ b/src/modules/sensors/vehicle_gps_position/VehicleGPSPosition.cpp @@ -44,6 +44,7 @@ VehicleGPSPosition::VehicleGPSPosition() : ScheduledWorkItem(MODULE_NAME, px4::wq_configurations::nav_and_controllers) { _vehicle_gps_position_pub.advertise(); + _vehicle_gps_position_wo_lat_lon_pub.advertise(); } VehicleGPSPosition::~VehicleGPSPosition() @@ -172,6 +173,12 @@ void VehicleGPSPosition::Publish(const sensor_gps_s &gps, uint8_t selected) gps_output.selected = selected; _vehicle_gps_position_pub.publish(gps_output); + + vehicle_gps_position_s gps_output_wo_lat_lon; + gps_output_wo_lat_lon = gps_output; + gps_output_wo_lat_lon.lat = 0; + gps_output_wo_lat_lon.lon = 0; + _vehicle_gps_position_wo_lat_lon_pub.publish(gps_output_wo_lat_lon); } void VehicleGPSPosition::PrintStatus() diff --git a/src/modules/sensors/vehicle_gps_position/VehicleGPSPosition.hpp b/src/modules/sensors/vehicle_gps_position/VehicleGPSPosition.hpp index 8126fd5efd..f7085c7547 100644 --- a/src/modules/sensors/vehicle_gps_position/VehicleGPSPosition.hpp +++ b/src/modules/sensors/vehicle_gps_position/VehicleGPSPosition.hpp @@ -82,6 +82,7 @@ private: "GPS_MAX_RECEIVERS must match to GPS_MAX_RECEIVERS_BLEND"); uORB::Publication _vehicle_gps_position_pub{ORB_ID(vehicle_gps_position)}; + uORB::Publication _vehicle_gps_position_wo_lat_lon_pub{ORB_ID(vehicle_gps_position_wo_lat_lon)}; uORB::SubscriptionInterval _parameter_update_sub{ORB_ID(parameter_update), 1_s};