diff options
author | Daniel Agar <daniel@agar.ca> | 2015-02-22 23:04:23 -0500 |
---|---|---|
committer | Daniel Agar <daniel@agar.ca> | 2015-04-13 22:22:19 -0400 |
commit | 25dfd84b40177d40a5848f6c549f5d326f670bee (patch) | |
tree | 2728c49f18a6fa723179357b8ca3a1ce7e12637f /src/modules/navigator/geofence.h | |
parent | 3c36a615692d746996e4d32a97e8e24285330913 (diff) | |
download | px4-firmware-25dfd84b40177d40a5848f6c549f5d326f670bee.tar.gz px4-firmware-25dfd84b40177d40a5848f6c549f5d326f670bee.tar.bz2 px4-firmware-25dfd84b40177d40a5848f6c549f5d326f670bee.zip |
Geofence max horizontal and vertical distance
-changes GF_ON to GF_MODE
-adds GF_MAX_HOR_DIST and GF_MAX_VER_DIST params
Diffstat (limited to 'src/modules/navigator/geofence.h')
-rw-r--r-- | src/modules/navigator/geofence.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/modules/navigator/geofence.h b/src/modules/navigator/geofence.h index 37a41b68a..effce9e97 100644 --- a/src/modules/navigator/geofence.h +++ b/src/modules/navigator/geofence.h @@ -45,6 +45,7 @@ #include <uORB/topics/vehicle_global_position.h> #include <uORB/topics/vehicle_gps_position.h> #include <uORB/topics/sensor_combined.h> +#include <uORB/topics/home_position.h> #include <controllib/blocks.hpp> #include <controllib/block/BlockParam.hpp> @@ -76,7 +77,9 @@ public: * @return true: system is inside fence, false: system is outside fence */ bool inside(const struct vehicle_global_position_s &global_position, - const struct vehicle_gps_position_s &gps_position, float baro_altitude_amsl); + const struct vehicle_gps_position_s &gps_position, float baro_altitude_amsl, + const struct home_position_s home_pos, bool home_position_set); + bool inside_polygon(double lat, double lon, float altitude); int clearDm(); @@ -103,16 +106,21 @@ public: private: orb_advert_t _fence_pub; /**< publish fence topic */ + home_position_s _home_pos; + bool _home_pos_set; + float _altitude_min; float _altitude_max; unsigned _verticesCount; /* Params */ - control::BlockParamInt _param_geofence_on; + control::BlockParamInt _param_geofence_mode; control::BlockParamInt _param_altitude_mode; control::BlockParamInt _param_source; control::BlockParamInt _param_counter_threshold; + control::BlockParamInt _param_max_hor_distance; + control::BlockParamInt _param_max_ver_distance; uint8_t _outside_counter; |