mirror of https://github.com/ArduPilot/ardupilot
470 lines
17 KiB
Plaintext
470 lines
17 KiB
Plaintext
//
|
|
// Example and reference Arducopter 2.0 configuration file
|
|
// =======================================================
|
|
//
|
|
// This file contains documentation and examples for configuration options
|
|
// supported by the ArduPilot Mega software.
|
|
//
|
|
// Most of these options are just that - optional. You should create
|
|
// the APM_Config.h file and use this file as a reference for options
|
|
// that you want to change. Don't copy this file directly; the options
|
|
// described here and their default values may change over time.
|
|
//
|
|
// Each item is marked with a keyword describing when you should set it:
|
|
//
|
|
// REQUIRED
|
|
// You must configure this in your APM_Config.h file. The
|
|
// software will not compile if the option is not set.
|
|
//
|
|
// OPTIONAL
|
|
// The option has a sensible default (which will be described
|
|
// here), but you may wish to override it.
|
|
//
|
|
// EXPERIMENTAL
|
|
// You should configure this option unless you are prepared
|
|
// to deal with potential problems. It may relate to a feature
|
|
// still in development, or which is not yet adequately tested.
|
|
//
|
|
// DEBUG
|
|
// The option should only be set if you are debugging the
|
|
// software, or if you are gathering information for a bug
|
|
// report.
|
|
//
|
|
// NOTE:
|
|
// Many of these settings are considered 'factory defaults', and the
|
|
// live value is stored and managed in the ArduPilot Mega EEPROM.
|
|
// Use the setup 'factoryreset' command after changing options in
|
|
// your APM_Config.h file.
|
|
//
|
|
// Units
|
|
// -----
|
|
//
|
|
// Unless indicated otherwise, numeric quantities use the following units:
|
|
//
|
|
// Measurement | Unit
|
|
// ------------+-------------------------------------
|
|
// angle | degrees
|
|
// distance | metres
|
|
// speed | metres per second
|
|
// servo angle | microseconds
|
|
// voltage | volts
|
|
// times | seconds
|
|
// throttle | percent
|
|
//
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// HARDWARE CONFIGURATION AND CONNECTIONS
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// GPS_PROTOCOL REQUIRED
|
|
//
|
|
// GPS configuration, must be one of:
|
|
//
|
|
// GPS_PROTOCOL_NONE No GPS attached
|
|
// GPS_PROTOCOL_IMU X-Plane interface or ArduPilot IMU.
|
|
// GPS_PROTOCOL_MTK MediaTek-based GPS
|
|
// GPS_PROTOCOL_UBLOX UBLOX GPS
|
|
// GPS_PROTOCOL_SIRF SiRF-based GPS in Binary mode. NOT TESTED
|
|
// GPS_PROTOCOL_NMEA Standard NMEA GPS NOT SUPPORTED (yet?)
|
|
//
|
|
//#define GPS_PROTOCOL GPS_PROTOCOL_UBLOX
|
|
//
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// GCS_PROTOCOL OPTIONAL
|
|
// GCS_PORT OPTIONAL
|
|
// MAV_SYSTEM_ID OPTIONAL
|
|
//
|
|
// The GCS_PROTOCOL option determines which (if any) ground control station
|
|
// protocol will be used. Must be one of:
|
|
//
|
|
// GCS_PROTOCOL_NONE No GCS output
|
|
// GCS_PROTOCOL_MAVLINK QGroundControl protocol
|
|
//
|
|
// The GCS_PORT option determines which serial port will be used by the
|
|
// GCS protocol. The usual values are 0 for the console/USB port,
|
|
// or 3 for the telemetry port on the oilpan. Note that some protocols
|
|
// will ignore this value and always use the console port.
|
|
//
|
|
// The MAV_SYSTEM_ID is a unique identifier for this UAV. The default value is 1.
|
|
// If you will be flying multiple UAV's each should be assigned a different ID so
|
|
// that ground stations can tell them apart.
|
|
//
|
|
//#define GCS_PROTOCOL GCS_PROTOCOL_MAVLINK
|
|
//#define GCS_PORT 3
|
|
//#define MAV_SYSTEM_ID 1
|
|
//
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Serial port speeds.
|
|
//
|
|
// SERIAL0_BAUD OPTIONAL
|
|
//
|
|
// Baudrate for the console port. Default is 115200bps.
|
|
//
|
|
// SERIAL3_BAUD OPTIONAL
|
|
//
|
|
// Baudrate for the telemetry port. Default is 57600bps.
|
|
//
|
|
//#define SERIAL0_BAUD 115200
|
|
//#define SERIAL3_BAUD 57600
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Battery monitoring OPTIONAL
|
|
//
|
|
// See the manual for details on selecting divider resistors for battery
|
|
// monitoring via the oilpan.
|
|
//
|
|
// BATTERY_EVENT OPTIONAL
|
|
//
|
|
// Set BATTERY_EVENT to ENABLED to enable low voltage or high discharge warnings.
|
|
// The default is DISABLED.
|
|
//
|
|
// LOW_VOLTAGE OPTIONAL if BATTERY_EVENT is set.
|
|
//
|
|
// Value in volts at which ArduPilot Mega should consider the
|
|
// battery to be "low".
|
|
//
|
|
// VOLT_DIV_RATIO OPTIONAL
|
|
//
|
|
// See the manual for details. The default value corresponds to the resistors
|
|
// recommended by the manual.
|
|
//
|
|
// CURR_AMPS_PER_VOLT OPTIONAL
|
|
// CURR_AMPS_OFFSET OPTIONAL
|
|
//
|
|
// The sensitivity of the current sensor. This must be scaled if a resistor is installed on APM
|
|
// for a voltage divider on input 2 (not recommended). The offset is used for current sensors with an offset
|
|
//
|
|
//
|
|
// HIGH_DISCHARGE OPTIONAL if BATTERY_EVENT is set.
|
|
//
|
|
// Value in milliamp-hours at which a warning should be triggered. Recommended value = 80% of
|
|
// battery capacity.
|
|
//
|
|
//#define BATTERY_EVENT DISABLED
|
|
//#define LOW_VOLTAGE 9.6
|
|
//#define VOLT_DIV_RATIO 3.56
|
|
//#define CURR_AMPS_PER_VOLT 27.32
|
|
//#define CURR_AMPS_OFFSET 0.0
|
|
//#define HIGH_DISCHARGE 1760
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// INPUT_VOLTAGE OPTIONAL
|
|
//
|
|
// In order to have accurate pressure and battery voltage readings, this
|
|
// value should be set to the voltage measured on the 5V rail on the oilpan.
|
|
//
|
|
// See the manual for more details. The default value should be close.
|
|
//
|
|
//#define INPUT_VOLTAGE 5.0
|
|
//
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// RADIO CONFIGURATION
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// FLIGHT_MODE OPTIONAL
|
|
//
|
|
// Flight modes assigned to the control channel, and the input channel that
|
|
// is read for the control mode.
|
|
//
|
|
// ATTENTION: Some APM boards have radio channels marked 0-7, and
|
|
// others have them marked the standard 1-8. The FLIGHT_MODE_CHANNEL option
|
|
// uses channel numbers 1-8 (and defaults to 8).
|
|
//
|
|
// If you only have a three-position switch or just want three modes, set your
|
|
// switch to produce 1165, 1425, and 1815 microseconds and configure
|
|
// FLIGHT_MODE 1 & 2, 3 & 4 and 5 & 6 to be the same. This is the default.
|
|
//
|
|
//
|
|
// For more modes (up to six), set your switch(es) to produce any of 1165,
|
|
// 1295, 1425, 1555, 1685, and 1815 microseconds.
|
|
//
|
|
// Flight mode | Switch Setting (ms)
|
|
// ------------+---------------------
|
|
// 1 | 1165
|
|
// 2 | 1295
|
|
// 3 | 1425
|
|
// 4 | 1555
|
|
// 5 | 1685
|
|
// 6 | 1815 (FAILSAFE if using channel 8)
|
|
//
|
|
// The following standard flight modes are available:
|
|
//
|
|
// Name | Description
|
|
// -----------------+--------------------------------------------
|
|
// |
|
|
// STABILIZE | Tries to maintain level flight, but can be overridden with radio control inputs.
|
|
// |
|
|
// FLY_BY_WIRE_A | Autopilot style control via user input, with manual throttle.
|
|
// |
|
|
// FLY_BY_WIRE_B | Autopilot style control via user input, aispeed controlled with throttle.
|
|
// |
|
|
// RTL | Returns to the Home location and then LOITERs at a safe altitude.
|
|
// |
|
|
// AUTO | Autonomous flight based on programmed waypoints. Use the WaypointWriter
|
|
// | application or your Ground Control System to edit and upload
|
|
// | waypoints and other commands.
|
|
// |
|
|
//
|
|
//
|
|
// The following non-standard modes are EXPERIMENTAL:
|
|
//
|
|
// Name | Description
|
|
// -----------------+--------------------------------------------
|
|
// |
|
|
// LOITER | Flies in a circle around the current location.
|
|
// |
|
|
// CIRCLE | Flies in a stabilized 'dumb' circle.
|
|
// |
|
|
//
|
|
//
|
|
// If you are using channel 8 for mode switching then FLIGHT_MODE_5 and
|
|
// FLIGHT_MODE_6 should be MANUAL.
|
|
//
|
|
//
|
|
//#define FLIGHT_MODE_CHANNEL 8
|
|
//
|
|
//#define FLIGHT_MODE_1 RTL
|
|
//#define FLIGHT_MODE_2 RTL
|
|
//#define FLIGHT_MODE_3 FLY_BY_WIRE_A
|
|
//#define FLIGHT_MODE_4 FLY_BY_WIRE_A
|
|
//#define FLIGHT_MODE_5 MANUAL
|
|
//#define FLIGHT_MODE_6 MANUAL
|
|
//
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// THROTTLE_FAILSAFE OPTIONAL
|
|
// THROTTLE_FS_VALUE OPTIONAL
|
|
// THROTTLE_FAILSAFE_ACTION OPTIONAL
|
|
//
|
|
// The throttle failsafe allows you to configure a software failsafe activated
|
|
// by a setting on the throttle input channel (channel 3).
|
|
//
|
|
// This can be used to achieve a failsafe override on loss of radio control
|
|
// without having to sacrifice one of your FLIGHT_MODE settings, as the
|
|
// throttle failsafe overrides the switch-selected mode.
|
|
//
|
|
// Throttle failsafe is enabled by setting THROTTLE_FAILSAFE to 1. The default
|
|
// is for it to be disabled.
|
|
//
|
|
// If the throttle failsafe is enabled, THROTTLE_FS_VALUE sets the channel value
|
|
// below which the failsafe engages. The default is 975ms, which is a very low
|
|
// throttle setting. Most transmitters will let you trim the manual throttle
|
|
// position up so that you cannot engage the failsafe with a regular stick movement.
|
|
//
|
|
// Configure your receiver's failsafe setting for the throttle channel to the
|
|
// absolute minimum, and use setup pwm program in the CLI to check that
|
|
// you cannot reach that value with the throttle control. Leave a margin of
|
|
// at least 50 microseconds between the lowest throttle setting and
|
|
// THROTTLE_FS_VALUE.
|
|
//
|
|
// The FAILSAFE_ACTION setting determines what AC2 will do when throttle failsafe
|
|
// mode is entered while flying in AUTO mode. This is important in order to avoid
|
|
// accidental failsafe behaviour when flying waypoints that take the aircraft
|
|
// temporarily out of radio range.
|
|
//
|
|
// If FAILSAFE_ACTION is 1, when failsafe is entered in AUTO modes,
|
|
// the aircraft will head for home in RTL mode. If the throttle channel moves
|
|
// back up, it will return to AUTO mode.
|
|
//
|
|
// The default behaviour is to ignore throttle failsafe in AUTO and LOITER modes.
|
|
//
|
|
//#define THROTTLE_FAILSAFE DISABLED
|
|
//#define THROTTLE_FS_VALUE 975
|
|
//#define THROTTLE_FAILSAFE_ACTION 2
|
|
//
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// STARTUP BEHAVIOUR
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// GROUND_START_DELAY OPTIONAL
|
|
//
|
|
// If configured, inserts a delay between power-up and the beginning of IMU
|
|
// calibration during a ground start.
|
|
//
|
|
// Use this setting to give you time to position the aircraft horizontally
|
|
// for the IMU calibration.
|
|
//
|
|
// The default is to begin IMU calibration immediately at startup.
|
|
//
|
|
//#define GROUND_START_DELAY 0
|
|
//
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// FLIGHT AND NAVIGATION CONTROL
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// ENABLE_HIL OPTIONAL
|
|
//
|
|
// This will output a binary control string to for use in HIL sims
|
|
// such as Xplane 9 or FlightGear.
|
|
//
|
|
//#define ENABLE_HIL ENABLED
|
|
//
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Autopilot control limits
|
|
//
|
|
// PITCH_MAX OPTIONAL
|
|
//
|
|
// The maximum commanded pitch up angle.
|
|
// The default is 18 degrees.
|
|
//
|
|
//#define PITCH_MAX 18
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Attitude control gains
|
|
//
|
|
// Tuning values for the attitude control PID loops.
|
|
//
|
|
// The P term is the primary tuning value. This determines how the control
|
|
// deflection varies in proportion to the required correction.
|
|
//
|
|
// The I term is used to help control surfaces settle. This value should
|
|
// normally be kept low.
|
|
//
|
|
// The D term is used to slow change to avoid overshoot.
|
|
//
|
|
// Note: When tuning these values, start with changes of no more than 25% at
|
|
// a time.
|
|
//
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Crosstrack compensation
|
|
//
|
|
// XTRACK_GAIN OPTIONAL
|
|
//
|
|
// Crosstrack compensation in degrees per metre off track.
|
|
// Default value is 0.01 degrees per metre. Values lower than 0.001 will
|
|
// disable crosstrack compensation.
|
|
//
|
|
// XTRACK_ENTRY_ANGLE OPTIONAL
|
|
//
|
|
// Maximum angle used to correct for track following.
|
|
// Default value is 30 degrees.
|
|
//
|
|
//#define XTRACK_GAIN 0.01
|
|
//#define XTRACK_ENTRY_ANGLE 30
|
|
//
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// DEBUGGING
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// DEBUG_LEVEL DEBUG
|
|
//
|
|
// Selects the lowest level of debug messages passed to the telemetry system.
|
|
// Default is SEVERITY_LOW. May be one of:
|
|
//
|
|
// SEVERITY_LOW
|
|
// SEVERITY_MEDIUM
|
|
// SEVERITY_HIGH
|
|
// SEVERITY_CRITICAL
|
|
//
|
|
//#define DEBUG_LEVEL SEVERITY_LOW
|
|
//
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Dataflash logging control
|
|
//
|
|
// Each of these logging options may be set to ENABLED to enable, or DISABLED
|
|
// to disable the logging of the respective data.
|
|
//
|
|
// LOG_ATTITUDE_FAST DEBUG
|
|
//
|
|
// Logs basic attitude info to the dataflash at 50Hz (uses more space).
|
|
// Defaults to DISABLED.
|
|
//
|
|
// LOG_ATTITUDE_MED OPTIONAL
|
|
//
|
|
// Logs basic attitude info to the dataflash at 10Hz (uses less space than
|
|
// LOG_ATTITUDE_FAST). Defaults to ENABLED.
|
|
//
|
|
// LOG_GPS OPTIONAL
|
|
//
|
|
// Logs GPS info to the dataflash at 10Hz. Defaults to ENABLED.
|
|
//
|
|
// LOG_PM OPTIONAL
|
|
//
|
|
// Logs IMU performance monitoring info every 20 seconds.
|
|
// Defaults to DISABLED.
|
|
//
|
|
// LOG_CTUN OPTIONAL
|
|
//
|
|
// Logs control loop tuning info at 10 Hz. This information is useful for tuning
|
|
// servo control loop gain values. Defaults to DISABLED.
|
|
//
|
|
// LOG_NTUN OPTIONAL
|
|
//
|
|
// Logs navigation tuning info at 10 Hz. This information is useful for tuning
|
|
// navigation control loop gain values. Defaults to DISABLED.
|
|
//
|
|
// LOG_ MODE OPTIONAL
|
|
//
|
|
// Logs changes to the flight mode upon occurrence. Defaults to ENABLED.
|
|
//
|
|
// LOG_RAW DEBUG
|
|
//
|
|
// Logs raw accelerometer and gyro data at 50 Hz (uses more space).
|
|
// Defaults to DISABLED.
|
|
//
|
|
// LOG_CMD OPTIONAL
|
|
//
|
|
// Logs new commands when they process.
|
|
// Defaults to ENABLED.
|
|
//
|
|
//#define LOG_ATTITUDE_FAST DISABLED
|
|
//#define LOG_ATTITUDE_MED ENABLED
|
|
//#define LOG_GPS ENABLED
|
|
//#define LOG_PM ENABLED
|
|
//#define LOG_CTUN DISABLED
|
|
//#define LOG_NTUN DISABLED
|
|
//#define LOG_MODE ENABLED
|
|
//#define LOG_RAW DISABLED
|
|
//#define LOG_CMD ENABLED
|
|
//#define LOG_CURRENT ENABLED
|
|
//
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// RC override
|
|
//
|
|
// ALLOW_RC_OVERRIDE OPTIONAL
|
|
//
|
|
// This is for advanced used only!
|
|
//
|
|
// If you enable ALLOW_RC_OVERRIDE then a GCS will be able to
|
|
// override RC input values using a MAVLINK_MSG_ID_RC_CHANNELS_RAW
|
|
// message sent to APM. This allows the GCS to precisely control
|
|
// all PWM values as seen by APM, which means it can set any switch
|
|
// position, or set a precise control value. Do not enable unless you
|
|
// really know what you are doing!
|
|
//
|
|
|
|
//
|
|
// Do not remove - this is to discourage users from copying this file
|
|
// and using it as-is rather than editing their own.
|
|
//
|
|
#error You should not copy APM_Config.h.reference - make your own APM_Config.h file with just the options you need.
|