aboutsummaryrefslogtreecommitdiff
path: root/src/modules/navigator/rtl.h
diff options
context:
space:
mode:
authorJulian Oes <julian@oes.ch>2014-06-03 16:01:28 +0200
committerJulian Oes <julian@oes.ch>2014-06-03 16:01:28 +0200
commit854bb7fe089daf8bf3d4e9f2cac1cb2b99a67ac7 (patch)
tree947f86c23d10ee717a418badb662ed09694687dd /src/modules/navigator/rtl.h
parent5f91fe7d15e382b8903cb01c30e28c857f5cfdbe (diff)
downloadpx4-firmware-854bb7fe089daf8bf3d4e9f2cac1cb2b99a67ac7.tar.gz
px4-firmware-854bb7fe089daf8bf3d4e9f2cac1cb2b99a67ac7.tar.bz2
px4-firmware-854bb7fe089daf8bf3d4e9f2cac1cb2b99a67ac7.zip
navigator: mission class added (WIP)
Diffstat (limited to 'src/modules/navigator/rtl.h')
-rw-r--r--src/modules/navigator/rtl.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/modules/navigator/rtl.h b/src/modules/navigator/rtl.h
index c761837fc..8d1bfec59 100644
--- a/src/modules/navigator/rtl.h
+++ b/src/modules/navigator/rtl.h
@@ -1,4 +1,4 @@
-/****************************************************************************
+/***************************************************************************
*
* Copyright (c) 2013-2014 PX4 Development Team. All rights reserved.
*
@@ -44,22 +44,32 @@
#include <controllib/block/BlockParam.hpp>
#include <uORB/topics/mission.h>
+#include <uORB/topics/mission.h>
#include <uORB/topics/home_position.h>
#include <uORB/topics/vehicle_global_position.h>
-class RTL : public control::SuperBlock
+#include "mission.h"
+
+class Navigator;
+
+class RTL : public Mission
{
public:
/**
* Constructor
*/
- RTL();
+ RTL(Navigator *navigator);
/**
* Destructor
*/
- ~RTL();
+ virtual ~RTL();
+
+ virtual bool update(struct position_setpoint_triplet_s *pos_sp_triplet);
+ virtual void reset();
+
+private:
void set_home_position(const home_position_s *home_position);
bool get_current_rtl_item(const vehicle_global_position_s *global_position, mission_item_s *new_mission_item);
@@ -67,7 +77,6 @@ public:
void move_to_next();
-private:
int _mavlink_fd;
enum RTLState {
@@ -77,7 +86,7 @@ private:
RTL_STATE_DESCEND,
RTL_STATE_LAND,
RTL_STATE_FINISHED,
- } _rtl_state;
+ } _rtl_state;
home_position_s _home_position;
float _loiter_radius;