aboutsummaryrefslogtreecommitdiff
path: root/src/modules/navigator/navigator.h
diff options
context:
space:
mode:
authorJulian Oes <julian@oes.ch>2014-06-27 10:34:34 +0200
committerJulian Oes <julian@oes.ch>2014-06-27 12:54:29 +0200
commit7992a063c9f9b2cf7fbb49dcd5d19c60f15d0bfc (patch)
tree905ba7e54ee7e1fef3bf91fcfbb82111a719ac4b /src/modules/navigator/navigator.h
parent98fffe61071b5332a9875efce932ff7c8688ab76 (diff)
downloadpx4-firmware-7992a063c9f9b2cf7fbb49dcd5d19c60f15d0bfc.tar.gz
px4-firmware-7992a063c9f9b2cf7fbb49dcd5d19c60f15d0bfc.tar.bz2
px4-firmware-7992a063c9f9b2cf7fbb49dcd5d19c60f15d0bfc.zip
navigator: added offboard mode
Diffstat (limited to 'src/modules/navigator/navigator.h')
-rw-r--r--src/modules/navigator/navigator.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/modules/navigator/navigator.h b/src/modules/navigator/navigator.h
index dadd15527..e6ff213bd 100644
--- a/src/modules/navigator/navigator.h
+++ b/src/modules/navigator/navigator.h
@@ -56,13 +56,14 @@
#include "mission.h"
#include "loiter.h"
#include "rtl.h"
+#include "offboard.h"
#include "geofence.h"
/**
* Number of navigation modes that need on_active/on_inactive calls
* Currently: mission, loiter, and rtl
*/
-#define NAVIGATOR_MODE_ARRAY_SIZE 3
+#define NAVIGATOR_MODE_ARRAY_SIZE 4
class Navigator : public control::SuperBlock
{
@@ -108,10 +109,13 @@ public:
* Getters
*/
struct vehicle_status_s* get_vstatus() { return &_vstatus; }
+ struct vehicle_control_mode_s* get_control_mode() { return &_control_mode; }
struct vehicle_global_position_s* get_global_position() { return &_global_pos; }
struct home_position_s* get_home_position() { return &_home_pos; }
+
int get_onboard_mission_sub() { return _onboard_mission_sub; }
int get_offboard_mission_sub() { return _offboard_mission_sub; }
+ int get_offboard_control_sp_sub() { return _offboard_control_sp_sub; }
Geofence& get_geofence() { return _geofence; }
bool get_is_in_loiter() { return _is_in_loiter; }
float get_loiter_radius() { return _param_loiter_radius.get(); }
@@ -129,6 +133,7 @@ private:
int _home_pos_sub; /**< home position subscription */
int _vstatus_sub; /**< vehicle status subscription */
int _capabilities_sub; /**< notification of vehicle capabilities updates */
+ int _offboard_control_sp_sub; /*** offboard control subscription */
int _control_mode_sub; /**< vehicle control mode subscription */
int _onboard_mission_sub; /**< onboard mission subscription */
int _offboard_mission_sub; /**< offboard mission subscription */
@@ -158,6 +163,7 @@ private:
Mission _mission; /**< class that handles the missions */
Loiter _loiter; /**< class that handles loiter */
RTL _rtl; /**< class that handles RTL */
+ Offboard _offboard; /**< class that handles offboard */
NavigatorMode *_navigation_mode_array[NAVIGATOR_MODE_ARRAY_SIZE]; /**< array of navigation modes */