// @Description: Used to convert the voltage of the voltage sensing pin (BATT_VOLT_PIN) to the actual battery's voltage (pin voltage * INPUT_VOLTS/1024 * VOLT_DIVIDER)
// @Description: Used to convert the voltage on the current sensing pin (BATT_CURR_PIN) to the actual current being consumed in amps (curr pin voltage * INPUT_VOLTS/1024 * AMP_PER_VOLT )
// @Description: This is the altitude the vehicle will move to as the final stage of Returning to Launch or after completing a mission. Set to zero to land.
// @Description: The autopilot's estimate of the throttle required to maintain a level hover. Calculated automatically from the pilot's throttle input while in stabilize mode
// @Description: The throttle output (0 ~ 1000) when throttle stick is in mid position. Used to scale the manual throttle so that the mid throttle stick position is close to the throttle required to hover
// @Description: Used to convert pilot roll, pitch and yaw input into a dssired rate of rotation in ACRO mode. Higher values mean faster rate of rotation.
// @Description: Used to control whether acro mode actively maintains the current angle when control sticks are released (Enabled = maintains current angle)
// @DisplayName: Loiter latitude rate controller P gain
// @Description: Loiter latitude rate controller P gain. Converts the difference between desired speed and actual speed into a lean angle in the latitude direction
// @Range: 2.000 6.000
// @User: Standard
// @Param: LOITER_LAT_I
// @DisplayName: Loiter latitude rate controller I gain
// @Description: Loiter latitude rate controller I gain. Corrects long-term difference in desired speed and actual speed in the latitude direction
// @Range: 0.020 0.060
// @User: Standard
// @Param: LOITER_LAT_IMAX
// @DisplayName: Loiter rate controller I gain maximum
// @Description: Loiter rate controller I gain maximum. Constrains the lean angle that the I gain will output
// @Range: 0 4500
// @Unit: Centi-Degrees
// @User: Standard
// @Param: LOITER_LAT_D
// @DisplayName: Loiter latitude rate controller D gain
// @Description: Loiter latitude rate controller D gain. Compensates for short-term change in desired speed vs actual speed
// @DisplayName: Loiter longitude rate controller P gain
// @Description: Loiter longitude rate controller P gain. Converts the difference between desired speed and actual speed into a lean angle in the longitude direction
// @Range: 2.000 6.000
// @User: Standard
// @Param: LOITER_LON_I
// @DisplayName: Loiter longitude rate controller I gain
// @Description: Loiter longitude rate controller I gain. Corrects long-term difference in desired speed and actual speed in the longitude direction
// @Range: 0.020 0.060
// @User: Standard
// @Param: LOITER_LON_IMAX
// @DisplayName: Loiter longitude rate controller I gain maximum
// @Description: Loiter longitude rate controller I gain maximum. Constrains the lean angle that the I gain will output
// @Range: 0 4500
// @Unit: Centi-Degrees
// @User: Standard
// @Param: LOITER_LON_D
// @DisplayName: Loiter longituderate controller D gain
// @Description: Loiter longitude rate controller D gain. Compensates for short-term change in desired speed vs actual speed
// @DisplayName: Navigation latitude rate controller P gain
// @Description: Navigation latitude rate controller P gain. Converts the difference between desired speed and actual speed into a lean angle in the latitude direction
// @Range: 2.000 2.800
// @User: Standard
// @Param: NAV_LAT_I
// @DisplayName: Navigation latitude rate controller I gain
// @Description: Navigation latitude rate controller I gain. Corrects long-term difference in desired speed and actual speed in the latitude direction
// @Range: 0.140 0.200
// @User: Standard
// @Param: NAV_LAT_IMAX
// @DisplayName: Navigation rate controller I gain maximum
// @Description: Navigation rate controller I gain maximum. Constrains the lean angle that the I gain will output
// @Range: 0 4500
// @Unit: Centi-Degrees
// @User: Standard
// @Param: NAV_LAT_D
// @DisplayName: Navigation latitude rate controller D gain
// @Description: Navigation latitude rate controller D gain. Compensates for short-term change in desired speed vs actual speed
// @DisplayName: Navigation longitude rate controller P gain
// @Description: Navigation longitude rate controller P gain. Converts the difference between desired speed and actual speed into a lean angle in the longitude direction
// @Range: 2.000 2.800
// @User: Standard
// @Param: NAV_LON_I
// @DisplayName: Navigation longitude rate controller I gain
// @Description: Navigation longitude rate controller I gain. Corrects long-term difference in desired speed and actual speed in the longitude direction
// @Range: 0.140 0.200
// @User: Standard
// @Param: NAV_LON_IMAX
// @DisplayName: Navigation longitude rate controller I gain maximum
// @Description: Navigation longitude rate controller I gain maximum. Constrains the lean angle that the I gain will generate
// @Range: 0 4500
// @Unit: Centi-Degrees
// @User: Standard
// @Param: NAV_LON_D
// @DisplayName: Navigation longituderate controller D gain
// @Description: Navigation longitude rate controller D gain. Compensates for short-term change in desired speed vs actual speed
// @Description: Throttle rate controller P gain. Converts the difference between desired vertical speed and actual speed into a desired acceleration that is passed to the throttle acceleration controller
// @Range: 1.000 8.000
// @User: Standard
// @Param: THR_RATE_I
// @DisplayName: Throttle rate controller I gain
// @Description: Throttle rate controller I gain. Corrects long-term difference in desired vertical speed and actual speed
// @Range: 0.000 0.100
// @User: Standard
// @Param: THR_RATE_IMAX
// @DisplayName: Throttle rate controller I gain maximum
// @Description: Throttle rate controller I gain maximum. Constrains the desired acceleration that the I gain will generate
// @Range: 0 500
// @Unit: cm/s/s
// @User: Standard
// @Param: THR_RATE_D
// @DisplayName: Throttle rate controller D gain
// @Description: Throttle rate controller D gain. Compensates for short-term change in desired vertical speed vs actual speed
// @DisplayName: Throttle acceleration controller P gain
// @Description: Throttle acceleration controller P gain. Converts the difference between desired vertical acceleration and actual acceleration into a motor output
// @Range: 0.500 1.500
// @User: Standard
// @Param: THR_ACCEL_I
// @DisplayName: Throttle acceleration controller I gain
// @Description: Throttle acceleration controller I gain. Corrects long-term difference in desired vertical acceleration and actual acceleration
// @Range: 0.000 3.000
// @User: Standard
// @Param: THR_ACCEL_IMAX
// @DisplayName: Throttle acceleration controller I gain maximum
// @Description: Throttle acceleration controller I gain maximum. Constrains the maximum pwm that the I term will generate
// @Range: 0 500
// @Unit: PWM
// @User: Standard
// @Param: THR_ACCEL_D
// @DisplayName: Throttle acceleration controller D gain
// @Description: Throttle acceleration controller D gain. Compensates for short-term change in desired vertical acceleration vs actual acceleration
// @DisplayName: Roll axis stabilize controller P gain
// @Description: Roll axis stabilize (i.e. angle) controller P gain. Converts the error between the desired roll angle and actual angle to a desired roll rate
// @Range: 3.000 6.000
// @User: Standard
// @Param: STB_RLL_I
// @DisplayName: Roll axis stabilize controller I gain
// @Description: Roll axis stabilize (i.e. angle) controller I gain. Corrects for longer-term difference in desired roll angle and actual angle
// @Range: 0.000 0.100
// @User: Standard
// @Param: STB_RLL_IMAX
// @DisplayName: Roll axis stabilize controller I gain maximum
// @Description: Roll axis stabilize (i.e. angle) controller I gain maximum. Constrains the maximum roll rate that the I term will generate
// @DisplayName: Pitch axis stabilize controller P gain
// @Description: Pitch axis stabilize (i.e. angle) controller P gain. Converts the error between the desired pitch angle and actual angle to a desired pitch rate
// @Range: 3.000 6.000
// @User: Standard
// @Param: STB_PIT_I
// @DisplayName: Pitch axis stabilize controller I gain
// @Description: Pitch axis stabilize (i.e. angle) controller I gain. Corrects for longer-term difference in desired pitch angle and actual angle
// @Range: 0.000 0.100
// @User: Standard
// @Param: STB_PIT_IMAX
// @DisplayName: Pitch axis stabilize controller I gain maximum
// @Description: Pitch axis stabilize (i.e. angle) controller I gain maximum. Constrains the maximum pitch rate that the I term will generate
// @DisplayName: Yaw axis stabilize controller P gain
// @Description: Yaw axis stabilize (i.e. angle) controller P gain. Converts the error between the desired yaw angle and actual angle to a desired yaw rate
// @Range: 3.000 6.000
// @User: Standard
// @Param: STB_YAW_I
// @DisplayName: Yaw axis stabilize controller I gain
// @Description: Yaw axis stabilize (i.e. angle) controller I gain. Corrects for longer-term difference in desired yaw angle and actual angle
// @Range: 0.000 0.100
// @User: Standard
// @Param: STB_YAW_IMAX
// @DisplayName: Yaw axis stabilize controller I gain maximum
// @Description: Yaw axis stabilize (i.e. angle) controller I gain maximum. Constrains the maximum yaw rate that the I term will generate
// @Description: Altitude controller P gain. Converts the difference between the desired altitude and actual altitude into a climb or descent rate which is passed to the throttle rate controller
// @Range: 3.000 6.000
// @User: Standard
// @Param: THR_ALT_I
// @DisplayName: Altitude controller I gain
// @Description: Altitude controller I gain. Corrects for longer-term difference in desired altitude and actual altitude
// @Range: 0.000 0.100
// @User: Standard
// @Param: THR_ALT_IMAX
// @DisplayName: Altitude controller I gain maximum
// @Description: Altitude controller I gain maximum. Constrains the maximum climb rate rate that the I term will generate
// @Range: 0 500
// @Unit: cm/s
// @User: Standard
GGROUP(pi_alt_hold, "THR_ALT_", APM_PI),
// @Param: HLD_LAT_P
// @DisplayName: Loiter latitude position controller P gain
// @Description: Loiter latitude position controller P gain. Converts the distance (in the latitude direction) to the target location into a desired speed which is then passed to the loiter latitude rate controller
// @Range: 0.100 0.300
// @User: Standard
// @Param: HLD_LAT_I
// @DisplayName: Loiter latitude position controller I gain
// @Description: Loiter latitude position controller I gain. Corrects for longer-term distance (in latitude) to the target location
// @Range: 0.000 0.100
// @User: Standard
// @Param: HLD_LAT_IMAX
// @DisplayName: Loiter latitude position controller I gain maximum
// @Description: Loiter latitude position controller I gain maximum. Constrains the maximum desired speed that the I term will generate
// @DisplayName: Loiter longitude position controller P gain
// @Description: Loiter longitude position controller P gain. Converts the distance (in the longitude direction) to the target location into a desired speed which is then passed to the loiter longitude rate controller
// @Range: 0.100 0.300
// @User: Standard
// @Param: HLD_LON_I
// @DisplayName: Loiter longitude position controller I gain
// @Description: Loiter longitude position controller I gain. Corrects for longer-term distance (in longitude direction) to the target location
// @Range: 0.000 0.100
// @User: Standard
// @Param: HLD_LON_IMAX
// @DisplayName: Loiter longitudeposition controller I gain maximum
// @Description: Loiter longitudeposition controller I gain maximum. Constrains the maximum desired speed that the I term will generate