mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-17 21:35:44 +03:00
major rc changes ctzsnooze 2021
This commit is contained in:
parent
2a5e457603
commit
636d563abe
26 changed files with 377 additions and 546 deletions
|
@ -1487,8 +1487,8 @@ static bool mspProcessOutCommand(int16_t cmdMSP, sbuf_t *dst)
|
|||
sbufWriteU8(dst, rxConfig()->spektrum_sat_bind);
|
||||
sbufWriteU16(dst, rxConfig()->rx_min_usec);
|
||||
sbufWriteU16(dst, rxConfig()->rx_max_usec);
|
||||
sbufWriteU8(dst, rxConfig()->rcInterpolation);
|
||||
sbufWriteU8(dst, rxConfig()->rcInterpolationInterval);
|
||||
sbufWriteU8(dst, 0); // not required in API 1.44, was rxConfig()->rcInterpolation)
|
||||
sbufWriteU8(dst, 0); // not required in API 1.44, was rxConfig()->rcInterpolationInterval)
|
||||
sbufWriteU16(dst, rxConfig()->airModeActivateThreshold * 10 + 1000);
|
||||
#ifdef USE_RX_SPI
|
||||
sbufWriteU8(dst, rxSpiConfig()->rx_spi_protocol);
|
||||
|
@ -1500,13 +1500,13 @@ static bool mspProcessOutCommand(int16_t cmdMSP, sbuf_t *dst)
|
|||
sbufWriteU8(dst, 0);
|
||||
#endif
|
||||
sbufWriteU8(dst, rxConfig()->fpvCamAngleDegrees);
|
||||
sbufWriteU8(dst, rxConfig()->rcInterpolationChannels);
|
||||
sbufWriteU8(dst, 0); // not required in API 1.44, was rxConfig()->rcSmoothingChannels
|
||||
#if defined(USE_RC_SMOOTHING_FILTER)
|
||||
sbufWriteU8(dst, rxConfig()->rc_smoothing_type);
|
||||
sbufWriteU8(dst, rxConfig()->rc_smoothing_input_cutoff);
|
||||
sbufWriteU8(dst, rxConfig()->rc_smoothing_derivative_cutoff);
|
||||
sbufWriteU8(dst, rxConfig()->rc_smoothing_input_type);
|
||||
sbufWriteU8(dst, rxConfig()->rc_smoothing_derivative_type);
|
||||
sbufWriteU8(dst, rxConfig()->rc_smoothing_mode);
|
||||
sbufWriteU8(dst, rxConfig()->rc_smoothing_setpoint_cutoff);
|
||||
sbufWriteU8(dst, rxConfig()->rc_smoothing_feedforward_cutoff);
|
||||
sbufWriteU8(dst, 0); // not required in API 1.44, was rxConfig()->rc_smoothing_input_type
|
||||
sbufWriteU8(dst, 0); // not required in API 1.44, was rxConfig()->rc_smoothing_derivative_type
|
||||
#else
|
||||
sbufWriteU8(dst, 0);
|
||||
sbufWriteU8(dst, 0);
|
||||
|
@ -1521,7 +1521,7 @@ static bool mspProcessOutCommand(int16_t cmdMSP, sbuf_t *dst)
|
|||
#endif
|
||||
// Added in MSP API 1.42
|
||||
#if defined(USE_RC_SMOOTHING_FILTER)
|
||||
sbufWriteU8(dst, rxConfig()->rc_smoothing_auto_factor);
|
||||
sbufWriteU8(dst, rxConfig()->rc_smoothing_auto_factor_rpy);
|
||||
#else
|
||||
sbufWriteU8(dst, 0);
|
||||
#endif
|
||||
|
@ -1816,7 +1816,7 @@ static bool mspProcessOutCommand(int16_t cmdMSP, sbuf_t *dst)
|
|||
sbufWriteU16(dst, 0); // was pidProfile.yaw_p_limit
|
||||
sbufWriteU8(dst, 0); // reserved
|
||||
sbufWriteU8(dst, 0); // was vbatPidCompensation
|
||||
sbufWriteU8(dst, currentPidProfile->feedForwardTransition);
|
||||
sbufWriteU8(dst, currentPidProfile->feedforwardTransition);
|
||||
sbufWriteU8(dst, 0); // was low byte of currentPidProfile->dtermSetpointWeight
|
||||
sbufWriteU8(dst, 0); // reserved
|
||||
sbufWriteU8(dst, 0); // reserved
|
||||
|
@ -1892,14 +1892,14 @@ static bool mspProcessOutCommand(int16_t cmdMSP, sbuf_t *dst)
|
|||
sbufWriteU8(dst, 0);
|
||||
#endif
|
||||
// Added in MSP API 1.44
|
||||
#if defined(USE_INTERPOLATED_SP)
|
||||
sbufWriteU8(dst, currentPidProfile->ff_interpolate_sp);
|
||||
sbufWriteU8(dst, currentPidProfile->ff_smooth_factor);
|
||||
#if defined(USE_FEEDFORWARD)
|
||||
sbufWriteU8(dst, currentPidProfile->feedforward_averaging);
|
||||
sbufWriteU8(dst, currentPidProfile->feedforward_smooth_factor);
|
||||
#else
|
||||
sbufWriteU8(dst, 0);
|
||||
sbufWriteU8(dst, 0);
|
||||
#endif
|
||||
sbufWriteU8(dst, currentPidProfile->ff_boost);
|
||||
sbufWriteU8(dst, currentPidProfile->feedforward_boost);
|
||||
#if defined(USE_BATTERY_VOLTAGE_SAG_COMPENSATION)
|
||||
sbufWriteU8(dst, currentPidProfile->vbat_sag_compensation);
|
||||
#else
|
||||
|
@ -2140,7 +2140,7 @@ static mspResult_e mspFcProcessOutCommandWithArg(mspDescriptor_t srcDesc, int16_
|
|||
sbufWriteU8(dst, currentPidProfile->simplified_pd_ratio);
|
||||
sbufWriteU8(dst, currentPidProfile->simplified_pd_gain);
|
||||
sbufWriteU8(dst, currentPidProfile->simplified_dmin_ratio);
|
||||
sbufWriteU8(dst, currentPidProfile->simplified_ff_gain);
|
||||
sbufWriteU8(dst, currentPidProfile->simplified_feedforward_gain);
|
||||
|
||||
sbufWriteU8(dst, currentPidProfile->simplified_dterm_filter);
|
||||
sbufWriteU8(dst, currentPidProfile->simplified_dterm_filter_multiplier);
|
||||
|
@ -2703,7 +2703,7 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
|
|||
sbufReadU16(src); // was pidProfile.yaw_p_limit
|
||||
sbufReadU8(src); // reserved
|
||||
sbufReadU8(src); // was vbatPidCompensation
|
||||
currentPidProfile->feedForwardTransition = sbufReadU8(src);
|
||||
currentPidProfile->feedforwardTransition = sbufReadU8(src);
|
||||
sbufReadU8(src); // was low byte of currentPidProfile->dtermSetpointWeight
|
||||
sbufReadU8(src); // reserved
|
||||
sbufReadU8(src); // reserved
|
||||
|
@ -2797,14 +2797,14 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
|
|||
}
|
||||
if (sbufBytesRemaining(src) >= 5) {
|
||||
// Added in MSP API 1.44
|
||||
#if defined(USE_INTERPOLATED_SP)
|
||||
currentPidProfile->ff_interpolate_sp = sbufReadU8(src);
|
||||
currentPidProfile->ff_smooth_factor = sbufReadU8(src);
|
||||
#if defined(USE_FEEDFORWARD)
|
||||
currentPidProfile->feedforward_averaging = sbufReadU8(src);
|
||||
currentPidProfile->feedforward_smooth_factor = sbufReadU8(src);
|
||||
#else
|
||||
sbufReadU8(src);
|
||||
sbufReadU8(src);
|
||||
#endif
|
||||
currentPidProfile->ff_boost = sbufReadU8(src);
|
||||
currentPidProfile->feedforward_boost = sbufReadU8(src);
|
||||
#if defined(USE_BATTERY_VOLTAGE_SAG_COMPENSATION)
|
||||
currentPidProfile->vbat_sag_compensation = sbufReadU8(src);
|
||||
#else
|
||||
|
@ -3115,7 +3115,7 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
|
|||
currentPidProfile->simplified_pd_ratio = sbufReadU8(src);
|
||||
currentPidProfile->simplified_pd_gain = sbufReadU8(src);
|
||||
currentPidProfile->simplified_dmin_ratio = sbufReadU8(src);
|
||||
currentPidProfile->simplified_ff_gain = sbufReadU8(src);
|
||||
currentPidProfile->simplified_feedforward_gain = sbufReadU8(src);
|
||||
|
||||
currentPidProfile->simplified_dterm_filter = sbufReadU8(src);
|
||||
currentPidProfile->simplified_dterm_filter_multiplier = sbufReadU8(src);
|
||||
|
@ -3234,8 +3234,8 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
|
|||
rxConfigMutable()->rx_max_usec = sbufReadU16(src);
|
||||
}
|
||||
if (sbufBytesRemaining(src) >= 4) {
|
||||
rxConfigMutable()->rcInterpolation = sbufReadU8(src);
|
||||
rxConfigMutable()->rcInterpolationInterval = sbufReadU8(src);
|
||||
sbufReadU8(src); // not required in API 1.44, was rxConfigMutable()->rcInterpolation
|
||||
sbufReadU8(src); // not required in API 1.44, was rxConfigMutable()->rcInterpolationInterval
|
||||
rxConfigMutable()->airModeActivateThreshold = (sbufReadU16(src) - 1000) / 10;
|
||||
}
|
||||
if (sbufBytesRemaining(src) >= 6) {
|
||||
|
@ -3254,13 +3254,13 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
|
|||
}
|
||||
if (sbufBytesRemaining(src) >= 6) {
|
||||
// Added in MSP API 1.40
|
||||
rxConfigMutable()->rcInterpolationChannels = sbufReadU8(src);
|
||||
sbufReadU8(src); // not required in API 1.44, was rxConfigMutable()->rcSmoothingChannels
|
||||
#if defined(USE_RC_SMOOTHING_FILTER)
|
||||
configRebootUpdateCheckU8(&rxConfigMutable()->rc_smoothing_type, sbufReadU8(src));
|
||||
configRebootUpdateCheckU8(&rxConfigMutable()->rc_smoothing_input_cutoff, sbufReadU8(src));
|
||||
configRebootUpdateCheckU8(&rxConfigMutable()->rc_smoothing_derivative_cutoff, sbufReadU8(src));
|
||||
configRebootUpdateCheckU8(&rxConfigMutable()->rc_smoothing_input_type, sbufReadU8(src));
|
||||
configRebootUpdateCheckU8(&rxConfigMutable()->rc_smoothing_derivative_type, sbufReadU8(src));
|
||||
configRebootUpdateCheckU8(&rxConfigMutable()->rc_smoothing_mode, sbufReadU8(src));
|
||||
configRebootUpdateCheckU8(&rxConfigMutable()->rc_smoothing_setpoint_cutoff, sbufReadU8(src));
|
||||
configRebootUpdateCheckU8(&rxConfigMutable()->rc_smoothing_feedforward_cutoff, sbufReadU8(src));
|
||||
sbufReadU8(src); // not required in API 1.44, was rc_smoothing_input_type
|
||||
sbufReadU8(src); // not required in API 1.44, was rc_smoothing_derivative_type
|
||||
#else
|
||||
sbufReadU8(src);
|
||||
sbufReadU8(src);
|
||||
|
@ -3285,7 +3285,7 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
|
|||
// the 10.6 configurator where it was possible to submit an invalid out-of-range value. We might be
|
||||
// able to remove the constraint at some point in the future once the affected versions are deprecated
|
||||
// enough that the risk is low.
|
||||
configRebootUpdateCheckU8(&rxConfigMutable()->rc_smoothing_auto_factor, constrain(sbufReadU8(src), RC_SMOOTHING_AUTO_FACTOR_MIN, RC_SMOOTHING_AUTO_FACTOR_MAX));
|
||||
configRebootUpdateCheckU8(&rxConfigMutable()->rc_smoothing_auto_factor_rpy, constrain(sbufReadU8(src), RC_SMOOTHING_AUTO_FACTOR_MIN, RC_SMOOTHING_AUTO_FACTOR_MAX));
|
||||
#else
|
||||
sbufReadU8(src);
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue