1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-22 15:55:48 +03:00

ifdef condition consistently applied, field names consistent, pg ID updated

This commit is contained in:
ctzsnooze 2021-08-30 09:33:12 +10:00
parent 28d9d778a6
commit 5863015354
12 changed files with 46 additions and 32 deletions

View file

@ -1384,16 +1384,16 @@ static bool blackboxWriteSysinfo(void)
#ifdef USE_INTEGRATED_YAW_CONTROL #ifdef USE_INTEGRATED_YAW_CONTROL
BLACKBOX_PRINT_HEADER_LINE("use_integrated_yaw", "%d", currentPidProfile->use_integrated_yaw); BLACKBOX_PRINT_HEADER_LINE("use_integrated_yaw", "%d", currentPidProfile->use_integrated_yaw);
#endif #endif
BLACKBOX_PRINT_HEADER_LINE("ff_transition", "%d", currentPidProfile->feedforwardTransition);
BLACKBOX_PRINT_HEADER_LINE("ff_weight", "%d,%d,%d", currentPidProfile->pid[PID_ROLL].F, BLACKBOX_PRINT_HEADER_LINE("ff_weight", "%d,%d,%d", currentPidProfile->pid[PID_ROLL].F,
currentPidProfile->pid[PID_PITCH].F, currentPidProfile->pid[PID_PITCH].F,
currentPidProfile->pid[PID_YAW].F); currentPidProfile->pid[PID_YAW].F);
#ifdef USE_FEEDFORWARD #ifdef USE_FEEDFORWARD
BLACKBOX_PRINT_HEADER_LINE("ff_transition", "%d", currentPidProfile->feedforward_transition);
BLACKBOX_PRINT_HEADER_LINE("ff_averaging", "%d", currentPidProfile->feedforward_averaging); BLACKBOX_PRINT_HEADER_LINE("ff_averaging", "%d", currentPidProfile->feedforward_averaging);
BLACKBOX_PRINT_HEADER_LINE("ff_max_rate_limit", "%d", currentPidProfile->feedforward_max_rate_limit);
BLACKBOX_PRINT_HEADER_LINE("ff_smooth_factor", "%d", currentPidProfile->feedforward_smooth_factor); BLACKBOX_PRINT_HEADER_LINE("ff_smooth_factor", "%d", currentPidProfile->feedforward_smooth_factor);
BLACKBOX_PRINT_HEADER_LINE("ff_jitter_factor", "%d", currentPidProfile->feedforward_jitter_factor); BLACKBOX_PRINT_HEADER_LINE("ff_jitter_factor", "%d", currentPidProfile->feedforward_jitter_factor);
BLACKBOX_PRINT_HEADER_LINE("ff_boost", "%d", currentPidProfile->feedforward_boost); BLACKBOX_PRINT_HEADER_LINE("ff_boost", "%d", currentPidProfile->feedforward_boost);
BLACKBOX_PRINT_HEADER_LINE("ff_max_rate_limit", "%d", currentPidProfile->feedforward_max_rate_limit);
#endif #endif
BLACKBOX_PRINT_HEADER_LINE("acc_limit_yaw", "%d", currentPidProfile->yawRateAccelLimit); BLACKBOX_PRINT_HEADER_LINE("acc_limit_yaw", "%d", currentPidProfile->yawRateAccelLimit);

View file

@ -1149,7 +1149,7 @@ const clivalue_t valueTable[] = {
#endif #endif
#ifdef USE_FEEDFORWARD #ifdef USE_FEEDFORWARD
{ "feedforward_transition", VAR_UINT8 | PROFILE_VALUE, .config.minmaxUnsigned = { 0, 100 }, PG_PID_PROFILE, offsetof(pidProfile_t, feedforwardTransition) }, { "feedforward_transition", VAR_UINT8 | PROFILE_VALUE, .config.minmaxUnsigned = { 0, 100 }, PG_PID_PROFILE, offsetof(pidProfile_t, feedforward_transition) },
{ "feedforward_averaging", VAR_UINT8 | PROFILE_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_FEEDFORWARD_AVERAGING }, PG_PID_PROFILE, offsetof(pidProfile_t, feedforward_averaging) }, { "feedforward_averaging", VAR_UINT8 | PROFILE_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_FEEDFORWARD_AVERAGING }, PG_PID_PROFILE, offsetof(pidProfile_t, feedforward_averaging) },
{ "feedforward_smoothing", VAR_UINT8 | PROFILE_VALUE, .config.minmaxUnsigned = {0, 75}, PG_PID_PROFILE, offsetof(pidProfile_t, feedforward_smooth_factor) }, { "feedforward_smoothing", VAR_UINT8 | PROFILE_VALUE, .config.minmaxUnsigned = {0, 75}, PG_PID_PROFILE, offsetof(pidProfile_t, feedforward_smooth_factor) },
{ "feedforward_jitter_reduction", VAR_UINT8 | PROFILE_VALUE, .config.minmaxUnsigned = {0, 20}, PG_PID_PROFILE, offsetof(pidProfile_t, feedforward_jitter_factor) }, { "feedforward_jitter_reduction", VAR_UINT8 | PROFILE_VALUE, .config.minmaxUnsigned = {0, 20}, PG_PID_PROFILE, offsetof(pidProfile_t, feedforward_jitter_factor) },

View file

@ -489,8 +489,6 @@ static CMS_Menu cmsx_menuLaunchControl = {
}; };
#endif #endif
static uint8_t cmsx_feedforwardTransition;
static uint8_t cmsx_feedforward_boost;
static uint8_t cmsx_angleStrength; static uint8_t cmsx_angleStrength;
static uint8_t cmsx_horizonStrength; static uint8_t cmsx_horizonStrength;
static uint8_t cmsx_horizonTransition; static uint8_t cmsx_horizonTransition;
@ -517,6 +515,8 @@ static uint8_t cmsx_iterm_relax_cutoff;
#endif #endif
#ifdef USE_FEEDFORWARD #ifdef USE_FEEDFORWARD
static uint8_t cmsx_feedforward_transition;
static uint8_t cmsx_feedforward_boost;
static uint8_t cmsx_feedforward_averaging; static uint8_t cmsx_feedforward_averaging;
static uint8_t cmsx_feedforward_smooth_factor; static uint8_t cmsx_feedforward_smooth_factor;
static uint8_t cmsx_feedforward_jitter_factor; static uint8_t cmsx_feedforward_jitter_factor;
@ -530,9 +530,6 @@ static const void *cmsx_profileOtherOnEnter(displayPort_t *pDisp)
const pidProfile_t *pidProfile = pidProfiles(pidProfileIndex); const pidProfile_t *pidProfile = pidProfiles(pidProfileIndex);
cmsx_feedforwardTransition = pidProfile->feedforwardTransition;
cmsx_feedforward_boost = pidProfile->feedforward_boost;
cmsx_angleStrength = pidProfile->pid[PID_LEVEL].P; cmsx_angleStrength = pidProfile->pid[PID_LEVEL].P;
cmsx_horizonStrength = pidProfile->pid[PID_LEVEL].I; cmsx_horizonStrength = pidProfile->pid[PID_LEVEL].I;
cmsx_horizonTransition = pidProfile->pid[PID_LEVEL].D; cmsx_horizonTransition = pidProfile->pid[PID_LEVEL].D;
@ -560,7 +557,9 @@ static const void *cmsx_profileOtherOnEnter(displayPort_t *pDisp)
#endif #endif
#ifdef USE_FEEDFORWARD #ifdef USE_FEEDFORWARD
cmsx_feedforward_transition = pidProfile->feedforward_transition;
cmsx_feedforward_averaging = pidProfile->feedforward_averaging; cmsx_feedforward_averaging = pidProfile->feedforward_averaging;
cmsx_feedforward_boost = pidProfile->feedforward_boost;
cmsx_feedforward_smooth_factor = pidProfile->feedforward_smooth_factor; cmsx_feedforward_smooth_factor = pidProfile->feedforward_smooth_factor;
cmsx_feedforward_jitter_factor = pidProfile->feedforward_jitter_factor; cmsx_feedforward_jitter_factor = pidProfile->feedforward_jitter_factor;
#endif #endif
@ -577,9 +576,7 @@ static const void *cmsx_profileOtherOnExit(displayPort_t *pDisp, const OSD_Entry
UNUSED(self); UNUSED(self);
pidProfile_t *pidProfile = pidProfilesMutable(pidProfileIndex); pidProfile_t *pidProfile = pidProfilesMutable(pidProfileIndex);
pidProfile->feedforwardTransition = cmsx_feedforwardTransition;
pidInitConfig(currentPidProfile); pidInitConfig(currentPidProfile);
pidProfile->feedforward_boost = cmsx_feedforward_boost;
pidProfile->pid[PID_LEVEL].P = cmsx_angleStrength; pidProfile->pid[PID_LEVEL].P = cmsx_angleStrength;
pidProfile->pid[PID_LEVEL].I = cmsx_horizonStrength; pidProfile->pid[PID_LEVEL].I = cmsx_horizonStrength;
@ -608,7 +605,9 @@ static const void *cmsx_profileOtherOnExit(displayPort_t *pDisp, const OSD_Entry
#endif #endif
#ifdef USE_FEEDFORWARD #ifdef USE_FEEDFORWARD
pidProfile->feedforward_transition = cmsx_feedforward_transition;
pidProfile->feedforward_averaging = cmsx_feedforward_averaging; pidProfile->feedforward_averaging = cmsx_feedforward_averaging;
pidProfile->feedforward_boost = cmsx_feedforward_boost;
pidProfile->feedforward_smooth_factor = cmsx_feedforward_smooth_factor; pidProfile->feedforward_smooth_factor = cmsx_feedforward_smooth_factor;
pidProfile->feedforward_jitter_factor = cmsx_feedforward_jitter_factor; pidProfile->feedforward_jitter_factor = cmsx_feedforward_jitter_factor;
#endif #endif
@ -624,13 +623,13 @@ static const void *cmsx_profileOtherOnExit(displayPort_t *pDisp, const OSD_Entry
static const OSD_Entry cmsx_menuProfileOtherEntries[] = { static const OSD_Entry cmsx_menuProfileOtherEntries[] = {
{ "-- OTHER PP --", OME_Label, NULL, pidProfileIndexString, 0 }, { "-- OTHER PP --", OME_Label, NULL, pidProfileIndexString, 0 },
{ "FF TRANSITION", OME_FLOAT, NULL, &(OSD_FLOAT_t) { &cmsx_feedforwardTransition, 0, 100, 1, 10 }, 0 },
#ifdef USE_FEEDFORWARD #ifdef USE_FEEDFORWARD
{ "FF TRANSITION", OME_FLOAT, NULL, &(OSD_FLOAT_t) { &cmsx_feedforward_transition, 0, 100, 1, 10 }, 0 },
{ "FF AVERAGING", OME_TAB, NULL, &(OSD_TAB_t) { &cmsx_feedforward_averaging, 4, lookupTableFeedforwardAveraging}, 0 }, { "FF AVERAGING", OME_TAB, NULL, &(OSD_TAB_t) { &cmsx_feedforward_averaging, 4, lookupTableFeedforwardAveraging}, 0 },
{ "FF SMOOTHNESS", OME_UINT8, NULL, &(OSD_UINT8_t) { &cmsx_feedforward_smooth_factor, 0, 75, 1 } , 0 }, { "FF SMOOTHNESS", OME_UINT8, NULL, &(OSD_UINT8_t) { &cmsx_feedforward_smooth_factor, 0, 75, 1 } , 0 },
{ "FF JITTER", OME_UINT8, NULL, &(OSD_UINT8_t) { &cmsx_feedforward_jitter_factor, 0, 20, 1 } , 0 }, { "FF JITTER", OME_UINT8, NULL, &(OSD_UINT8_t) { &cmsx_feedforward_jitter_factor, 0, 20, 1 } , 0 },
{ "FF BOOST", OME_UINT8, NULL, &(OSD_UINT8_t) { &cmsx_feedforward_boost, 0, 50, 1 } , 0 },
#endif #endif
{ "FF BOOST", OME_UINT8, NULL, &(OSD_UINT8_t) { &cmsx_feedforward_boost, 0, 50, 1 } , 0 },
{ "ANGLE STR", OME_UINT8, NULL, &(OSD_UINT8_t) { &cmsx_angleStrength, 0, 200, 1 } , 0 }, { "ANGLE STR", OME_UINT8, NULL, &(OSD_UINT8_t) { &cmsx_angleStrength, 0, 200, 1 } , 0 },
{ "HORZN STR", OME_UINT8, NULL, &(OSD_UINT8_t) { &cmsx_horizonStrength, 0, 200, 1 } , 0 }, { "HORZN STR", OME_UINT8, NULL, &(OSD_UINT8_t) { &cmsx_horizonStrength, 0, 200, 1 } , 0 },
{ "HORZN TRS", OME_UINT8, NULL, &(OSD_UINT8_t) { &cmsx_horizonTransition, 0, 200, 1 } , 0 }, { "HORZN TRS", OME_UINT8, NULL, &(OSD_UINT8_t) { &cmsx_horizonTransition, 0, 200, 1 } , 0 },

View file

@ -416,11 +416,13 @@ static int applyStepAdjustment(controlRateConfig_t *controlRateConfig, uint8_t a
currentPidProfile->pid[PID_YAW].F = newValue; currentPidProfile->pid[PID_YAW].F = newValue;
blackboxLogInflightAdjustmentEvent(ADJUSTMENT_YAW_F, newValue); blackboxLogInflightAdjustmentEvent(ADJUSTMENT_YAW_F, newValue);
break; break;
#if defined(USE_FEEDFORWARD)
case ADJUSTMENT_FEEDFORWARD_TRANSITION: case ADJUSTMENT_FEEDFORWARD_TRANSITION:
newValue = constrain(currentPidProfile->feedforwardTransition + delta, 1, 100); // FIXME magic numbers repeated in cli.c newValue = constrain(currentPidProfile->feedforward_transition + delta, 1, 100); // FIXME magic numbers repeated in cli.c
currentPidProfile->feedforwardTransition = newValue; currentPidProfile->feedforward_transition = newValue;
blackboxLogInflightAdjustmentEvent(ADJUSTMENT_FEEDFORWARD_TRANSITION, newValue); blackboxLogInflightAdjustmentEvent(ADJUSTMENT_FEEDFORWARD_TRANSITION, newValue);
break; break;
#endif
default: default:
newValue = -1; newValue = -1;
break; break;
@ -577,11 +579,13 @@ static int applyAbsoluteAdjustment(controlRateConfig_t *controlRateConfig, adjus
currentPidProfile->pid[PID_YAW].F = newValue; currentPidProfile->pid[PID_YAW].F = newValue;
blackboxLogInflightAdjustmentEvent(ADJUSTMENT_YAW_F, newValue); blackboxLogInflightAdjustmentEvent(ADJUSTMENT_YAW_F, newValue);
break; break;
#if defined(USE_FEEDFORWARD)
case ADJUSTMENT_FEEDFORWARD_TRANSITION: case ADJUSTMENT_FEEDFORWARD_TRANSITION:
newValue = constrain(value, 1, 100); // FIXME magic numbers repeated in cli.c newValue = constrain(value, 1, 100); // FIXME magic numbers repeated in cli.c
currentPidProfile->feedforwardTransition = newValue; currentPidProfile->feedforward_transition = newValue;
blackboxLogInflightAdjustmentEvent(ADJUSTMENT_FEEDFORWARD_TRANSITION, newValue); blackboxLogInflightAdjustmentEvent(ADJUSTMENT_FEEDFORWARD_TRANSITION, newValue);
break; break;
#endif
default: default:
newValue = -1; newValue = -1;
break; break;

View file

@ -71,6 +71,7 @@ FAST_CODE_NOINLINE float feedforwardApply(int axis, bool newRcFrame, feedforward
float setpointSpeed = (setpoint - prevSetpoint[axis]) * rxRate; float setpointSpeed = (setpoint - prevSetpoint[axis]) * rxRate;
float absPrevSetpointSpeed = fabsf(prevSetpointSpeed[axis]); float absPrevSetpointSpeed = fabsf(prevSetpointSpeed[axis]);
float setpointAcceleration = 0.0f; float setpointAcceleration = 0.0f;
const float feedforwardTransitionFactor = pidGetFeedforwardTransitionFactor();
const float feedforwardSmoothFactor = pidGetFeedforwardSmoothFactor(); const float feedforwardSmoothFactor = pidGetFeedforwardSmoothFactor();
const float feedforwardJitterFactor = pidGetFeedforwardJitterFactor(); const float feedforwardJitterFactor = pidGetFeedforwardJitterFactor();
float feedforward; float feedforward;

View file

@ -87,7 +87,7 @@ FAST_DATA_ZERO_INIT float throttleBoost;
pt1Filter_t throttleLpf; pt1Filter_t throttleLpf;
#endif #endif
PG_REGISTER_WITH_RESET_TEMPLATE(pidConfig_t, pidConfig, PG_PID_CONFIG, 2); PG_REGISTER_WITH_RESET_TEMPLATE(pidConfig_t, pidConfig, PG_PID_CONFIG, 3);
#if defined(STM32F1) #if defined(STM32F1)
#define PID_PROCESS_DENOM_DEFAULT 8 #define PID_PROCESS_DENOM_DEFAULT 8
@ -141,7 +141,7 @@ void resetPidProfile(pidProfile_t *pidProfile)
.itermWindupPointPercent = 100, .itermWindupPointPercent = 100,
.pidAtMinThrottle = PID_STABILISATION_ON, .pidAtMinThrottle = PID_STABILISATION_ON,
.levelAngleLimit = 55, .levelAngleLimit = 55,
.feedforwardTransition = 0, .feedforward_transition = 0,
.yawRateAccelLimit = 0, .yawRateAccelLimit = 0,
.rateAccelLimit = 0, .rateAccelLimit = 0,
.itermThrottleThreshold = 250, .itermThrottleThreshold = 250,

View file

@ -204,7 +204,7 @@ typedef struct pidProfile_s {
uint8_t dyn_idle_d_gain; // D gain for corrections around rapid changes in rpm uint8_t dyn_idle_d_gain; // D gain for corrections around rapid changes in rpm
uint8_t dyn_idle_max_increase; // limit on maximum possible increase in motor idle drive during active control uint8_t dyn_idle_max_increase; // limit on maximum possible increase in motor idle drive during active control
uint8_t feedforwardTransition; // Feedforward attenuation around centre sticks uint8_t feedforward_transition; // Feedforward attenuation around centre sticks
uint8_t feedforward_averaging; // Number of packets to average when averaging is on uint8_t feedforward_averaging; // Number of packets to average when averaging is on
uint8_t feedforward_smooth_factor; // Amount of lowpass type smoothing for feedforward steps uint8_t feedforward_smooth_factor; // Amount of lowpass type smoothing for feedforward steps
uint8_t feedforward_jitter_factor; // Number of RC steps below which to attenuate feedforward uint8_t feedforward_jitter_factor; // Number of RC steps below which to attenuate feedforward

View file

@ -238,8 +238,6 @@ void pidInitFilters(const pidProfile_t *pidProfile)
pt1FilterInit(&pidRuntime.antiGravityThrottleLpf, pt1FilterGain(ANTI_GRAVITY_THROTTLE_FILTER_CUTOFF, pidRuntime.dT)); pt1FilterInit(&pidRuntime.antiGravityThrottleLpf, pt1FilterGain(ANTI_GRAVITY_THROTTLE_FILTER_CUTOFF, pidRuntime.dT));
pt1FilterInit(&pidRuntime.antiGravitySmoothLpf, pt1FilterGain(ANTI_GRAVITY_SMOOTH_FILTER_CUTOFF, pidRuntime.dT)); pt1FilterInit(&pidRuntime.antiGravitySmoothLpf, pt1FilterGain(ANTI_GRAVITY_SMOOTH_FILTER_CUTOFF, pidRuntime.dT));
pidRuntime.feedforwardBoostFactor = (float)pidProfile->feedforward_boost / 10.0f;
} }
void pidInit(const pidProfile_t *pidProfile) void pidInit(const pidProfile_t *pidProfile)
@ -417,17 +415,18 @@ void pidInitConfig(const pidProfile_t *pidProfile)
#endif #endif
#ifdef USE_FEEDFORWARD #ifdef USE_FEEDFORWARD
if (pidProfile->feedforward_transition == 0) {
pidRuntime.feedforwardTransitionFactor = 0;
} else {
pidRuntime.feedforwardTransitionFactor = 100.0f / pidProfile->feedforward_transition;
}
pidRuntime.feedforwardAveraging = pidProfile->feedforward_averaging; pidRuntime.feedforwardAveraging = pidProfile->feedforward_averaging;
pidRuntime.feedforwardSmoothFactor = 1.0f; pidRuntime.feedforwardSmoothFactor = 1.0f;
if (pidProfile->feedforward_smooth_factor) { if (pidProfile->feedforward_smooth_factor) {
pidRuntime.feedforwardSmoothFactor = 1.0f - ((float)pidProfile->feedforward_smooth_factor) / 100.0f; pidRuntime.feedforwardSmoothFactor = 1.0f - ((float)pidProfile->feedforward_smooth_factor) / 100.0f;
} }
pidRuntime.feedforwardJitterFactor = pidProfile->feedforward_jitter_factor; pidRuntime.feedforwardJitterFactor = pidProfile->feedforward_jitter_factor;
if (pidProfile->feedforwardTransition == 0) { pidRuntime.feedforwardBoostFactor = (float)pidProfile->feedforward_boost / 10.0f;
pidRuntime.feedforwardTransitionFactor = 0;
} else {
pidRuntime.feedforwardTransitionFactor = 100.0f / pidProfile->feedforwardTransition;
}
feedforwardInit(pidProfile); feedforwardInit(pidProfile);
#endif #endif

View file

@ -1822,7 +1822,11 @@ static bool mspProcessOutCommand(int16_t cmdMSP, sbuf_t *dst)
sbufWriteU16(dst, 0); // was pidProfile.yaw_p_limit sbufWriteU16(dst, 0); // was pidProfile.yaw_p_limit
sbufWriteU8(dst, 0); // reserved sbufWriteU8(dst, 0); // reserved
sbufWriteU8(dst, 0); // was vbatPidCompensation sbufWriteU8(dst, 0); // was vbatPidCompensation
sbufWriteU8(dst, currentPidProfile->feedforwardTransition); #if defined(USE_FEEDFORWARD)
sbufWriteU8(dst, currentPidProfile->feedforward_transition);
#else
sbufWriteU8(dst, 0);
#endif
sbufWriteU8(dst, 0); // was low byte of currentPidProfile->dtermSetpointWeight sbufWriteU8(dst, 0); // was low byte of currentPidProfile->dtermSetpointWeight
sbufWriteU8(dst, 0); // reserved sbufWriteU8(dst, 0); // reserved
sbufWriteU8(dst, 0); // reserved sbufWriteU8(dst, 0); // reserved
@ -1901,11 +1905,12 @@ static bool mspProcessOutCommand(int16_t cmdMSP, sbuf_t *dst)
#if defined(USE_FEEDFORWARD) #if defined(USE_FEEDFORWARD)
sbufWriteU8(dst, currentPidProfile->feedforward_averaging); sbufWriteU8(dst, currentPidProfile->feedforward_averaging);
sbufWriteU8(dst, currentPidProfile->feedforward_smooth_factor); sbufWriteU8(dst, currentPidProfile->feedforward_smooth_factor);
sbufWriteU8(dst, currentPidProfile->feedforward_boost);
#else #else
sbufWriteU8(dst, 0); sbufWriteU8(dst, 0);
sbufWriteU8(dst, 0); sbufWriteU8(dst, 0);
sbufWriteU8(dst, 0);
#endif #endif
sbufWriteU8(dst, currentPidProfile->feedforward_boost);
#if defined(USE_BATTERY_VOLTAGE_SAG_COMPENSATION) #if defined(USE_BATTERY_VOLTAGE_SAG_COMPENSATION)
sbufWriteU8(dst, currentPidProfile->vbat_sag_compensation); sbufWriteU8(dst, currentPidProfile->vbat_sag_compensation);
#else #else
@ -2707,7 +2712,11 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
sbufReadU16(src); // was pidProfile.yaw_p_limit sbufReadU16(src); // was pidProfile.yaw_p_limit
sbufReadU8(src); // reserved sbufReadU8(src); // reserved
sbufReadU8(src); // was vbatPidCompensation sbufReadU8(src); // was vbatPidCompensation
currentPidProfile->feedforwardTransition = sbufReadU8(src); #if defined(USE_FEEDFORWARD)
currentPidProfile->feedforward_transition = sbufReadU8(src);
#else
sbufReadU8(src);
#endif
sbufReadU8(src); // was low byte of currentPidProfile->dtermSetpointWeight sbufReadU8(src); // was low byte of currentPidProfile->dtermSetpointWeight
sbufReadU8(src); // reserved sbufReadU8(src); // reserved
sbufReadU8(src); // reserved sbufReadU8(src); // reserved
@ -2804,11 +2813,13 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
#if defined(USE_FEEDFORWARD) #if defined(USE_FEEDFORWARD)
currentPidProfile->feedforward_averaging = sbufReadU8(src); currentPidProfile->feedforward_averaging = sbufReadU8(src);
currentPidProfile->feedforward_smooth_factor = sbufReadU8(src); currentPidProfile->feedforward_smooth_factor = sbufReadU8(src);
currentPidProfile->feedforward_boost = sbufReadU8(src);
#else #else
sbufReadU8(src); sbufReadU8(src);
sbufReadU8(src); sbufReadU8(src);
sbufReadU8(src);
#endif #endif
currentPidProfile->feedforward_boost = sbufReadU8(src);
#if defined(USE_BATTERY_VOLTAGE_SAG_COMPENSATION) #if defined(USE_BATTERY_VOLTAGE_SAG_COMPENSATION)
currentPidProfile->vbat_sag_compensation = sbufReadU8(src); currentPidProfile->vbat_sag_compensation = sbufReadU8(src);
#else #else

View file

@ -131,7 +131,7 @@ void targetConfiguration(void)
pidProfile->dterm_notch_hz = 0; pidProfile->dterm_notch_hz = 0;
pidProfile->pid[PID_PITCH].F = 100; pidProfile->pid[PID_PITCH].F = 100;
pidProfile->pid[PID_ROLL].F = 100; pidProfile->pid[PID_ROLL].F = 100;
pidProfile->feedforwardTransition = 0; pidProfile->feedforward_transition = 0;
/* Anti-Gravity */ /* Anti-Gravity */
pidProfile->itermThrottleThreshold = 500; pidProfile->itermThrottleThreshold = 500;

View file

@ -88,7 +88,7 @@ void targetConfiguration(void)
pidProfile->pid[PID_PITCH].F = 200; pidProfile->pid[PID_PITCH].F = 200;
pidProfile->pid[PID_ROLL].F = 200; pidProfile->pid[PID_ROLL].F = 200;
pidProfile->feedforwardTransition = 50; pidProfile->feedforward_transition = 50;
} }
for (uint8_t rateProfileIndex = 0; rateProfileIndex < CONTROL_RATE_PROFILE_COUNT; rateProfileIndex++) { for (uint8_t rateProfileIndex = 0; rateProfileIndex < CONTROL_RATE_PROFILE_COUNT; rateProfileIndex++) {

View file

@ -142,7 +142,7 @@ void setDefaultTestSettings(void) {
pidProfile->itermWindupPointPercent = 50; pidProfile->itermWindupPointPercent = 50;
pidProfile->pidAtMinThrottle = PID_STABILISATION_ON; pidProfile->pidAtMinThrottle = PID_STABILISATION_ON;
pidProfile->levelAngleLimit = 55; pidProfile->levelAngleLimit = 55;
pidProfile->feedforwardTransition = 100; pidProfile->feedforward_transition = 100;
pidProfile->yawRateAccelLimit = 100; pidProfile->yawRateAccelLimit = 100;
pidProfile->rateAccelLimit = 0; pidProfile->rateAccelLimit = 0;
pidProfile->antiGravityMode = ANTI_GRAVITY_SMOOTH; pidProfile->antiGravityMode = ANTI_GRAVITY_SMOOTH;