From 0ddeb56a058ba10624ce9d73c69cc158039138b3 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Fri, 23 Feb 2018 14:55:51 +1100 Subject: [PATCH] Copter: add option to disable DRIFT flight mode Saves about 1kB of space --- ArduCopter/APM_Config.h | 1 + ArduCopter/Copter.h | 2 ++ ArduCopter/config.h | 6 ++++++ ArduCopter/mode.cpp | 2 ++ 4 files changed, 11 insertions(+) diff --git a/ArduCopter/APM_Config.h b/ArduCopter/APM_Config.h index 5765373a68..41f51db89e 100644 --- a/ArduCopter/APM_Config.h +++ b/ArduCopter/APM_Config.h @@ -24,6 +24,7 @@ //#define SPRAYER DISABLED // disable the crop sprayer feature (two ESC controlled pumps the speed of which depends upon the vehicle's horizontal velocity) //#define WINCH_ENABLED DISABLED // disable winch support //#define MODE_AUTO_ENABLED DISABLED // disable auto mode support +//#define MODE_DRIFT_ENABLED DISABLED // disable drift mode support //#define MODE_LOITER_ENABLED DISABLED // disable loiter mode support //#define MODE_POSHOLD_ENABLED DISABLED // disable poshold mode support //#define MODE_SMARTRTL_ENABLED DISABLED // disable smartrtl mode support diff --git a/ArduCopter/Copter.h b/ArduCopter/Copter.h index 8d20372de7..c0d7fd8136 100644 --- a/ArduCopter/Copter.h +++ b/ArduCopter/Copter.h @@ -964,7 +964,9 @@ private: #endif ModeBrake mode_brake; ModeCircle mode_circle; +#if MODE_DRIFT_ENABLED == ENABLED ModeDrift mode_drift; +#endif ModeFlip mode_flip; ModeGuided mode_guided; ModeLand mode_land; diff --git a/ArduCopter/config.h b/ArduCopter/config.h index 509d5786d4..299076e6c9 100644 --- a/ArduCopter/config.h +++ b/ArduCopter/config.h @@ -273,6 +273,12 @@ # define MODE_AUTO_ENABLED ENABLED #endif +////////////////////////////////////////////////////////////////////////////// +// Drift - fly vehicle in altitude-held, coordinated-turn mode +#ifndef MODE_DRIFT_ENABLED +# define MODE_DRIFT_ENABLED ENABLED +#endif + ////////////////////////////////////////////////////////////////////////////// // Loiter mode - allows vehicle to hold global position #ifndef MODE_LOITER_ENABLED diff --git a/ArduCopter/mode.cpp b/ArduCopter/mode.cpp index 4d4ec6a86a..c9b8896f8d 100644 --- a/ArduCopter/mode.cpp +++ b/ArduCopter/mode.cpp @@ -78,9 +78,11 @@ Copter::Mode *Copter::mode_from_mode_num(const uint8_t mode) ret = &mode_rtl; break; +#if MODE_DRIFT_ENABLED == ENABLED case DRIFT: ret = &mode_drift; break; +#endif #if MODE_SPORT_ENABLED == ENABLED case SPORT: