4.0 defaults
address feedback updated defaults and yaw I scaling switch integrated yaw off by default
This commit is contained in:
parent
e44dacd9a6
commit
0ba3c5e468
|
@ -133,9 +133,9 @@ void resetPidProfile(pidProfile_t *pidProfile)
|
||||||
{
|
{
|
||||||
RESET_CONFIG(pidProfile_t, pidProfile,
|
RESET_CONFIG(pidProfile_t, pidProfile,
|
||||||
.pid = {
|
.pid = {
|
||||||
[PID_ROLL] = { 46, 65, 35, 60 },
|
[PID_ROLL] = { 42, 60, 35, 70 },
|
||||||
[PID_PITCH] = { 50, 75, 38, 60 },
|
[PID_PITCH] = { 46, 70, 38, 75 },
|
||||||
[PID_YAW] = { 45, 100, 0, 100 },
|
[PID_YAW] = { 35, 100, 0, 0 },
|
||||||
[PID_LEVEL] = { 50, 50, 75, 0 },
|
[PID_LEVEL] = { 50, 50, 75, 0 },
|
||||||
[PID_MAG] = { 40, 0, 0, 0 },
|
[PID_MAG] = { 40, 0, 0, 0 },
|
||||||
},
|
},
|
||||||
|
@ -167,16 +167,16 @@ void resetPidProfile(pidProfile_t *pidProfile)
|
||||||
.itermLimit = 400,
|
.itermLimit = 400,
|
||||||
.throttle_boost = 5,
|
.throttle_boost = 5,
|
||||||
.throttle_boost_cutoff = 15,
|
.throttle_boost_cutoff = 15,
|
||||||
.iterm_rotation = true,
|
.iterm_rotation = false,
|
||||||
.smart_feedforward = false,
|
.smart_feedforward = false,
|
||||||
.iterm_relax = ITERM_RELAX_RP,
|
.iterm_relax = ITERM_RELAX_RP,
|
||||||
.iterm_relax_cutoff = ITERM_RELAX_CUTOFF_DEFAULT,
|
.iterm_relax_cutoff = 20,
|
||||||
.iterm_relax_type = ITERM_RELAX_SETPOINT,
|
.iterm_relax_type = ITERM_RELAX_SETPOINT,
|
||||||
.acro_trainer_angle_limit = 20,
|
.acro_trainer_angle_limit = 20,
|
||||||
.acro_trainer_lookahead_ms = 50,
|
.acro_trainer_lookahead_ms = 50,
|
||||||
.acro_trainer_debug_axis = FD_ROLL,
|
.acro_trainer_debug_axis = FD_ROLL,
|
||||||
.acro_trainer_gain = 75,
|
.acro_trainer_gain = 75,
|
||||||
.abs_control_gain = 0,
|
.abs_control_gain = 10,
|
||||||
.abs_control_limit = 90,
|
.abs_control_limit = 90,
|
||||||
.abs_control_error_limit = 20,
|
.abs_control_error_limit = 20,
|
||||||
.abs_control_cutoff = 11,
|
.abs_control_cutoff = 11,
|
||||||
|
@ -196,11 +196,11 @@ void resetPidProfile(pidProfile_t *pidProfile)
|
||||||
.integrated_yaw_relax = 200,
|
.integrated_yaw_relax = 200,
|
||||||
.thrustLinearization = 0,
|
.thrustLinearization = 0,
|
||||||
.d_min = { 20, 22, 0 }, // roll, pitch, yaw
|
.d_min = { 20, 22, 0 }, // roll, pitch, yaw
|
||||||
.d_min_gain = 20,
|
.d_min_gain = 27,
|
||||||
.d_min_advance = 20,
|
.d_min_advance = 20,
|
||||||
.motor_output_limit = 100,
|
.motor_output_limit = 100,
|
||||||
.auto_profile_cell_count = AUTO_PROFILE_CELL_COUNT_STAY,
|
.auto_profile_cell_count = AUTO_PROFILE_CELL_COUNT_STAY,
|
||||||
.transient_throttle_limit = 0,
|
.transient_throttle_limit = 15,
|
||||||
);
|
);
|
||||||
#ifdef USE_DYN_LPF
|
#ifdef USE_DYN_LPF
|
||||||
pidProfile->dterm_lowpass_hz = 150;
|
pidProfile->dterm_lowpass_hz = 150;
|
||||||
|
@ -573,6 +573,11 @@ void pidInitConfig(const pidProfile_t *pidProfile)
|
||||||
pidCoefficient[axis].Kd = DTERM_SCALE * pidProfile->pid[axis].D;
|
pidCoefficient[axis].Kd = DTERM_SCALE * pidProfile->pid[axis].D;
|
||||||
pidCoefficient[axis].Kf = FEEDFORWARD_SCALE * (pidProfile->pid[axis].F / 100.0f);
|
pidCoefficient[axis].Kf = FEEDFORWARD_SCALE * (pidProfile->pid[axis].F / 100.0f);
|
||||||
}
|
}
|
||||||
|
#ifdef USE_INTEGRATED_YAW_CONTROL
|
||||||
|
if (!pidProfile->use_integrated_yaw) {
|
||||||
|
#endif
|
||||||
|
pidCoefficient[FD_YAW].Ki *= 2.5f;
|
||||||
|
}
|
||||||
|
|
||||||
levelGain = pidProfile->pid[PID_LEVEL].P / 10.0f;
|
levelGain = pidProfile->pid[PID_LEVEL].P / 10.0f;
|
||||||
horizonGain = pidProfile->pid[PID_LEVEL].I / 10.0f;
|
horizonGain = pidProfile->pid[PID_LEVEL].I / 10.0f;
|
||||||
|
|
Loading…
Reference in New Issue