From 1adfca256b753c96f4eca04ac8b758c50e9627b2 Mon Sep 17 00:00:00 2001 From: Pavel Kirienko Date: Sun, 16 Jun 2013 17:44:36 +0400 Subject: [PATCH] Land on exit --- src/ardrone_driver.cpp | 2 ++ src/teleop_twist.cpp | 7 +++++++ src/teleop_twist.h | 2 ++ 3 files changed, 11 insertions(+) diff --git a/src/ardrone_driver.cpp b/src/ardrone_driver.cpp index 77587d9f..ee6b4a71 100644 --- a/src/ardrone_driver.cpp +++ b/src/ardrone_driver.cpp @@ -885,6 +885,8 @@ int main(int argc, char** argv) { res = ardrone_tool_update(); } + landOnExit(); + ardrone_tool_update(); res = ardrone_tool_shutdown(); } return SUCCEED(res) ? 0 : -1; diff --git a/src/teleop_twist.cpp b/src/teleop_twist.cpp index ba58d43a..85347340 100644 --- a/src/teleop_twist.cpp +++ b/src/teleop_twist.cpp @@ -115,6 +115,13 @@ void takeoffCallback(const std_msgs::Empty &msg) vp_os_mutex_unlock(&twist_lock); } +void landOnExit(void) +{ + vp_os_mutex_lock(&twist_lock); + needs_land = true; + vp_os_mutex_unlock(&twist_lock); +} + C_RESULT open_teleop(void) { return C_OK; diff --git a/src/teleop_twist.h b/src/teleop_twist.h index fe6295cb..0ff6ab5d 100644 --- a/src/teleop_twist.h +++ b/src/teleop_twist.h @@ -25,6 +25,8 @@ bool setLedAnimationCallback(ardrone_autonomy::LedAnim::Request& request, ardron bool flatTrimCallback(std_srvs::Empty::Request& request, std_srvs::Empty::Response& response); bool setFlightAnimationCallback(ardrone_autonomy::FlightAnim::Request& request, ardrone_autonomy::FlightAnim::Response& response); +void landOnExit(void); + //All global drone configs that should be sent on init #define DEFAULT_CAM_STATE 0