diff options
author | Julian Oes <julian@oes.ch> | 2014-06-04 01:07:50 +0200 |
---|---|---|
committer | Julian Oes <julian@oes.ch> | 2014-06-04 01:07:50 +0200 |
commit | 93295861c532595e080ae61c32d5e2cb625b4eac (patch) | |
tree | 1569ba05f5f14e5985563554fc0e9506a3c122eb /src/modules/navigator/mission.h | |
parent | 5ed3652c2fdc20ba70df1cde6c28d58fa6be0e04 (diff) | |
download | px4-firmware-93295861c532595e080ae61c32d5e2cb625b4eac.tar.gz px4-firmware-93295861c532595e080ae61c32d5e2cb625b4eac.tar.bz2 px4-firmware-93295861c532595e080ae61c32d5e2cb625b4eac.zip |
navigator: missions work again, loiter when finished or no mission available or sd card removed works as well
Diffstat (limited to 'src/modules/navigator/mission.h')
-rw-r--r-- | src/modules/navigator/mission.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/modules/navigator/mission.h b/src/modules/navigator/mission.h index 65a0991b5..f75c8a882 100644 --- a/src/modules/navigator/mission.h +++ b/src/modules/navigator/mission.h @@ -58,7 +58,7 @@ class Navigator; -class Mission : public control::SuperBlock +class __EXPORT Mission : public control::SuperBlock { public: /** @@ -97,6 +97,11 @@ protected: */ void mission_item_to_position_setpoint(const struct mission_item_s *item, struct position_setpoint_s *sp); + /** + * Set a loiter item, if possible reuse the position setpoint, otherwise take the current position + */ + void set_loiter_item(bool reuse_current_pos_sp, struct position_setpoint_triplet_s *pos_sp_triplet); + class Navigator *_navigator; bool _waypoint_position_reached; @@ -179,13 +184,14 @@ private: void publish_mission_result(); control::BlockParamFloat _param_onboard_enabled; - - int _onboard_mission_sub; - int _offboard_mission_sub; + control::BlockParamFloat _param_loiter_radius; struct mission_s _onboard_mission; struct mission_s _offboard_mission; + int _current_onboard_mission_index; + int _current_offboard_mission_index; + struct mission_item_s _mission_item; orb_advert_t _mission_result_pub; @@ -197,6 +203,8 @@ private: MISSION_TYPE_OFFBOARD } _mission_type; + bool _loiter_set; + MissionFeasibilityChecker missionFeasiblityChecker; /**< class that checks if a mission is feasible */ }; |