aboutsummaryrefslogtreecommitdiff
path: root/src/modules/navigator/mission_feasibility_checker.h
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2014-02-24 19:04:26 +0100
committerThomas Gubler <thomasgubler@gmail.com>2014-02-24 19:04:26 +0100
commit88fe2d3052eccd542ffb5d3473d720b66b8679fd (patch)
treed930d8edf5df6e99b5380199b0f4f787ed086ec6 /src/modules/navigator/mission_feasibility_checker.h
parent9c02525e39f724e7a4a4b5c945a591a3a3366f67 (diff)
downloadpx4-firmware-88fe2d3052eccd542ffb5d3473d720b66b8679fd.tar.gz
px4-firmware-88fe2d3052eccd542ffb5d3473d720b66b8679fd.tar.bz2
px4-firmware-88fe2d3052eccd542ffb5d3473d720b66b8679fd.zip
mission feasibility checker: add check for waypoint altitude relative to home position altitude
Diffstat (limited to 'src/modules/navigator/mission_feasibility_checker.h')
-rw-r--r--src/modules/navigator/mission_feasibility_checker.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/modules/navigator/mission_feasibility_checker.h b/src/modules/navigator/mission_feasibility_checker.h
index 7a0b2a296..819dcf9c3 100644
--- a/src/modules/navigator/mission_feasibility_checker.h
+++ b/src/modules/navigator/mission_feasibility_checker.h
@@ -59,14 +59,15 @@ private:
/* Checks for all airframes */
bool checkGeofence(dm_item_t dm_current, size_t nMissionItems, Geofence &geofence);
+ bool checkHomePositionAltitude(dm_item_t dm_current, size_t nMissionItems, float home_alt, bool throw_error = false);
/* Checks specific to fixedwing airframes */
- bool checkMissionFeasibleFixedwing(dm_item_t dm_current, size_t nMissionItems, Geofence &geofence);
+ bool checkMissionFeasibleFixedwing(dm_item_t dm_current, size_t nMissionItems, Geofence &geofence, float home_alt);
bool checkFixedWingLanding(dm_item_t dm_current, size_t nMissionItems);
void updateNavigationCapabilities();
/* Checks specific to rotarywing airframes */
- bool checkMissionFeasibleRotarywing(dm_item_t dm_current, size_t nMissionItems, Geofence &geofence);
+ bool checkMissionFeasibleRotarywing(dm_item_t dm_current, size_t nMissionItems, Geofence &geofence, float home_alt);
public:
MissionFeasibilityChecker();
@@ -75,7 +76,7 @@ public:
/*
* Returns true if mission is feasible and false otherwise
*/
- bool checkMissionFeasible(bool isRotarywing, dm_item_t dm_current, size_t nMissionItems, Geofence &geofence);
+ bool checkMissionFeasible(bool isRotarywing, dm_item_t dm_current, size_t nMissionItems, Geofence &geofence, float home_alt);
};