geofence_update.msg: notify navigator on geofence update

This commit is contained in:
Beat Küng
2017-08-04 18:08:51 +02:00
committed by Lorenz Meier
parent 328e84117e
commit 82716012bd
6 changed files with 57 additions and 3 deletions
+6 -1
View File
@@ -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");
+1
View File
@@ -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;