mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-20 15:43:34 +08:00
geofence_update.msg: notify navigator on geofence update
This commit is contained in:
@@ -51,6 +51,7 @@
|
||||
#include <px4_defines.h>
|
||||
|
||||
#include <navigator/navigation.h>
|
||||
#include <uORB/topics/geofence_update.h>
|
||||
#include <uORB/topics/mission.h>
|
||||
#include <uORB/topics/mission_result.h>
|
||||
|
||||
@@ -87,6 +88,7 @@ MavlinkMissionManager::MavlinkMissionManager(Mavlink *mavlink) :
|
||||
_offboard_mission_sub(-1),
|
||||
_mission_result_sub(-1),
|
||||
_offboard_mission_pub(nullptr),
|
||||
_geofence_update_pub(nullptr),
|
||||
_slow_rate_limiter(100 * 1000), // Rate limit sending of the current WP sequence to 10 Hz
|
||||
_verbose(mavlink->verbose()),
|
||||
_mavlink(mavlink)
|
||||
@@ -101,6 +103,7 @@ MavlinkMissionManager::~MavlinkMissionManager()
|
||||
{
|
||||
orb_unsubscribe(_mission_result_sub);
|
||||
orb_unadvertise(_offboard_mission_pub);
|
||||
orb_unadvertise(_geofence_update_pub);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -210,7 +213,9 @@ MavlinkMissionManager::update_geofence_count(unsigned count)
|
||||
|
||||
if (res == sizeof(mission_stats_entry_s)) {
|
||||
_count[(uint8_t)MAV_MISSION_TYPE_FENCE] = count;
|
||||
// TODO: notify via orb
|
||||
|
||||
geofence_update_s geofence_update{};
|
||||
orb_publish_auto(ORB_ID(geofence_update), &_geofence_update_pub, &geofence_update, nullptr, ORB_PRIO_DEFAULT);
|
||||
|
||||
} else {
|
||||
warnx("WPM: ERROR: can't save mission state");
|
||||
|
||||
@@ -126,6 +126,7 @@ private:
|
||||
int _offboard_mission_sub;
|
||||
int _mission_result_sub;
|
||||
orb_advert_t _offboard_mission_pub;
|
||||
orb_advert_t _geofence_update_pub;
|
||||
|
||||
MavlinkRateLimiter _slow_rate_limiter;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user