mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-24 00:35:39 +03:00
increase alt_hold sensitivity 5x and narrow deadband to 20
This commit is contained in:
parent
3ea4742acc
commit
738f5973fb
3 changed files with 5 additions and 3 deletions
|
@ -1109,7 +1109,7 @@ const clivalue_t valueTable[] = {
|
||||||
{ "yaw_control_reversed", VAR_INT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_RC_CONTROLS_CONFIG, offsetof(rcControlsConfig_t, yaw_control_reversed) },
|
{ "yaw_control_reversed", VAR_INT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_RC_CONTROLS_CONFIG, offsetof(rcControlsConfig_t, yaw_control_reversed) },
|
||||||
|
|
||||||
#ifdef USE_ALT_HOLD_MODE
|
#ifdef USE_ALT_HOLD_MODE
|
||||||
{ PARAM_NAME_ALT_HOLD_ADJUST_RATE, VAR_UINT8 | MASTER_VALUE, .config.minmaxUnsigned = { 0, 200 }, PG_ALTHOLD_CONFIG, offsetof(altHoldConfig_t, alt_hold_adjust_rate) },
|
{ PARAM_NAME_ALT_HOLD_ADJUST_RATE, VAR_UINT8 | MASTER_VALUE, .config.minmaxUnsigned = { 0, 250 }, PG_ALTHOLD_CONFIG, offsetof(altHoldConfig_t, alt_hold_adjust_rate) },
|
||||||
{ PARAM_NAME_ALT_HOLD_DEADBAND, VAR_UINT8 | MASTER_VALUE, .config.minmaxUnsigned = { 5, 50 }, PG_ALTHOLD_CONFIG, offsetof(altHoldConfig_t, alt_hold_deadband) },
|
{ PARAM_NAME_ALT_HOLD_DEADBAND, VAR_UINT8 | MASTER_VALUE, .config.minmaxUnsigned = { 5, 50 }, PG_ALTHOLD_CONFIG, offsetof(altHoldConfig_t, alt_hold_deadband) },
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@ static const float taskIntervalSeconds = HZ_TO_INTERVAL(ALTHOLD_TASK_RATE_HZ); /
|
||||||
typedef struct {
|
typedef struct {
|
||||||
bool isAltHoldActive;
|
bool isAltHoldActive;
|
||||||
float targetAltitudeCm;
|
float targetAltitudeCm;
|
||||||
|
float adjustRateMultiplier;
|
||||||
float targetAltitudeAdjustRate;
|
float targetAltitudeAdjustRate;
|
||||||
float deadband;
|
float deadband;
|
||||||
} altHoldState_t;
|
} altHoldState_t;
|
||||||
|
@ -74,6 +75,7 @@ void altHoldInit(void)
|
||||||
{
|
{
|
||||||
altHoldState.isAltHoldActive = false;
|
altHoldState.isAltHoldActive = false;
|
||||||
altHoldState.deadband = altHoldConfig()->alt_hold_deadband / 100.0f;
|
altHoldState.deadband = altHoldConfig()->alt_hold_deadband / 100.0f;
|
||||||
|
altHoldState.adjustRateMultiplier = 5.0f * altHoldConfig()->alt_hold_adjust_rate;
|
||||||
altHoldReset();
|
altHoldReset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,7 +138,7 @@ void altHoldUpdateTargetAltitude(void)
|
||||||
// constant (set) deceleration target in the last 2m
|
// constant (set) deceleration target in the last 2m
|
||||||
throttleAdjustmentFactor = -(0.9f + constrainf(getAltitudeCm() / 2000.0f, 0.1f, 9.0f));
|
throttleAdjustmentFactor = -(0.9f + constrainf(getAltitudeCm() / 2000.0f, 0.1f, 9.0f));
|
||||||
}
|
}
|
||||||
altHoldState.targetAltitudeAdjustRate = throttleAdjustmentFactor * altHoldConfig()->alt_hold_adjust_rate;
|
altHoldState.targetAltitudeAdjustRate = throttleAdjustmentFactor * altHoldState.adjustRateMultiplier;
|
||||||
|
|
||||||
// if taskRate is 100Hz, default adjustRate of 100 adds/subtracts 1m every second, or 1cm per task run, at full stick position
|
// if taskRate is 100Hz, default adjustRate of 100 adds/subtracts 1m every second, or 1cm per task run, at full stick position
|
||||||
altHoldState.targetAltitudeCm += altHoldState.targetAltitudeAdjustRate * taskIntervalSeconds;
|
altHoldState.targetAltitudeCm += altHoldState.targetAltitudeAdjustRate * taskIntervalSeconds;
|
||||||
|
|
|
@ -34,6 +34,6 @@ PG_REGISTER_WITH_RESET_TEMPLATE(altHoldConfig_t, altHoldConfig, PG_ALTHOLD_CONFI
|
||||||
|
|
||||||
PG_RESET_TEMPLATE(altHoldConfig_t, altHoldConfig,
|
PG_RESET_TEMPLATE(altHoldConfig_t, altHoldConfig,
|
||||||
.alt_hold_adjust_rate = 100, // max rate of change of altitude target using sticks in cm/s
|
.alt_hold_adjust_rate = 100, // max rate of change of altitude target using sticks in cm/s
|
||||||
.alt_hold_deadband = 40, // throttle deadband in percent of stick travel
|
.alt_hold_deadband = 20, // throttle deadband in percent of stick travel
|
||||||
);
|
);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue