From e5056f8d405e5f757d5746b9e71f012a5688faee Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Fri, 23 Feb 2018 14:48:02 +1100 Subject: [PATCH] Copter: add option to disable SPORT flight mode Saves about 1,500 bytes --- 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 3268a6a500..5765373a68 100644 --- a/ArduCopter/APM_Config.h +++ b/ArduCopter/APM_Config.h @@ -27,6 +27,7 @@ //#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 +//#define MODE_SPORT_ENABLED DISABLED // disable sport mode support // features below are disabled by default on all boards diff --git a/ArduCopter/Copter.h b/ArduCopter/Copter.h index 13121a0a6f..8d20372de7 100644 --- a/ArduCopter/Copter.h +++ b/ArduCopter/Copter.h @@ -980,7 +980,9 @@ private: #else ModeStabilize mode_stabilize; #endif +#if MODE_SPORT_ENABLED == ENABLED ModeSport mode_sport; +#endif #if ADSB_ENABLED == ENABLED ModeAvoidADSB mode_avoid_adsb; #endif diff --git a/ArduCopter/config.h b/ArduCopter/config.h index e17925f94a..509d5786d4 100644 --- a/ArduCopter/config.h +++ b/ArduCopter/config.h @@ -291,6 +291,12 @@ # define MODE_SMARTRTL_ENABLED ENABLED #endif +////////////////////////////////////////////////////////////////////////////// +// Sport - fly vehicle in rate-controlled (earth-frame) mode +#ifndef MODE_SPORT_ENABLED +# define MODE_SPORT_ENABLED ENABLED +#endif + ////////////////////////////////////////////////////////////////////////////// // RADIO CONFIGURATION ////////////////////////////////////////////////////////////////////////////// diff --git a/ArduCopter/mode.cpp b/ArduCopter/mode.cpp index 8ae4d6ec53..4d4ec6a86a 100644 --- a/ArduCopter/mode.cpp +++ b/ArduCopter/mode.cpp @@ -82,9 +82,11 @@ Copter::Mode *Copter::mode_from_mode_num(const uint8_t mode) ret = &mode_drift; break; +#if MODE_SPORT_ENABLED == ENABLED case SPORT: ret = &mode_sport; break; +#endif case FLIP: ret = &mode_flip;