diff --git a/ArduCopter/APM_Config.h b/ArduCopter/APM_Config.h index c7c4eb9e19..dbd050a06a 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_POSHOLD_ENABLED DISABLED // disable poshold mode support // features below are disabled by default on all boards //#define CAL_ALWAYS_REBOOT // flight controller will reboot after compass or accelerometer calibration completes diff --git a/ArduCopter/Copter.h b/ArduCopter/Copter.h index 66b909012f..6cf2d06a14 100644 --- a/ArduCopter/Copter.h +++ b/ArduCopter/Copter.h @@ -969,7 +969,9 @@ private: ModeGuided mode_guided; ModeLand mode_land; ModeLoiter mode_loiter; +#if MODE_POSHOLD_ENABLED == ENABLED ModePosHold mode_poshold; +#endif ModeRTL mode_rtl; #if FRAME_CONFIG == HELI_FRAME ModeStabilize_Heli mode_stabilize; diff --git a/ArduCopter/config.h b/ArduCopter/config.h index 0562ed97ea..b72a2973d6 100644 --- a/ArduCopter/config.h +++ b/ArduCopter/config.h @@ -273,6 +273,12 @@ # define MODE_AUTO_ENABLED ENABLED #endif +////////////////////////////////////////////////////////////////////////////// +// Position Hold - enable holding of global position +#ifndef MODE_POSHOLD_ENABLED +# define MODE_POSHOLD_ENABLED ENABLED +#endif + ////////////////////////////////////////////////////////////////////////////// // RADIO CONFIGURATION ////////////////////////////////////////////////////////////////////////////// diff --git a/ArduCopter/mode.cpp b/ArduCopter/mode.cpp index a97621ac14..53993e8af9 100644 --- a/ArduCopter/mode.cpp +++ b/ArduCopter/mode.cpp @@ -94,9 +94,11 @@ Copter::Mode *Copter::mode_from_mode_num(const uint8_t mode) break; #endif +#if MODE_POSHOLD_ENABLED == ENABLED case POSHOLD: ret = &mode_poshold; break; +#endif case BRAKE: ret = &mode_brake;