navigator: unroll two small publication functions

This commit is contained in:
Matthias Grob
2026-01-22 16:12:47 +01:00
parent 878cb50891
commit 92243f8e2b
3 changed files with 11 additions and 35 deletions
+2 -1
View File
@@ -63,10 +63,11 @@ px4_add_module(
MAIN navigator
SRCS ${NAVIGATOR_SOURCES}
DEPENDS
adsb
dataman_client
geo
adsb
geofence_breach_avoidance
hysteresis
motion_planning
mission_feasibility_checker
rtl_time_estimator
-10
View File
@@ -397,16 +397,6 @@ private:
// update subscriptions
void params_update();
/**
* Publish a new position setpoint triplet for position controllers
*/
void publish_position_setpoint_triplet();
/**
* Publish the mission result so commander and mavlink know what is going on
*/
void publish_mission_result();
void publish_navigator_status();
void publish_vehicle_command_ack(const vehicle_command_s &cmd, uint8_t result);
+9 -24
View File
@@ -920,11 +920,18 @@ void Navigator::run()
}
if (_pos_sp_triplet_updated) {
publish_position_setpoint_triplet();
_pos_sp_triplet.timestamp = hrt_absolute_time();
_pos_sp_triplet_pub.publish(_pos_sp_triplet);
_pos_sp_triplet_updated = false;
}
if (_mission_result_updated) {
publish_mission_result();
_mission_result.timestamp = hrt_absolute_time();
_mission_result_pub.publish(_mission_result);
_mission_result.item_do_jump_changed = false;
_mission_result.item_changed_index = 0;
_mission_result.item_do_jump_remaining = 0;
_mission_result_updated = false;
}
// Set gimbal neutral if requested and delay is over
@@ -1144,13 +1151,6 @@ int Navigator::print_status()
return 0;
}
void Navigator::publish_position_setpoint_triplet()
{
_pos_sp_triplet.timestamp = hrt_absolute_time();
_pos_sp_triplet_pub.publish(_pos_sp_triplet);
_pos_sp_triplet_updated = false;
}
float Navigator::get_default_acceptance_radius()
{
return _param_nav_acc_rad.get();
@@ -1369,21 +1369,6 @@ int Navigator::custom_command(int argc, char *argv[])
return print_usage("unknown command");
}
void Navigator::publish_mission_result()
{
_mission_result.timestamp = hrt_absolute_time();
/* lazily publish the mission result only once available */
_mission_result_pub.publish(_mission_result);
/* reset some of the flags */
_mission_result.item_do_jump_changed = false;
_mission_result.item_changed_index = 0;
_mission_result.item_do_jump_remaining = 0;
_mission_result_updated = false;
}
void Navigator::set_mission_failure_heading_timeout()
{
if (!_mission_result.failure) {