mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-18 13:55:18 +03:00
Added defaults and MSP support to filter settings.
This commit is contained in:
parent
c1e88ae7f4
commit
75693fbd5b
4 changed files with 49 additions and 22 deletions
|
@ -1230,8 +1230,14 @@ static bool mspProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst)
|
|||
sbufWriteU16(dst, motorConfig()->digitalIdleOffsetValue);
|
||||
sbufWriteU8(dst, gyroConfig()->gyro_use_32khz);
|
||||
sbufWriteU8(dst, motorConfig()->dev.motorPwmInversion);
|
||||
break;
|
||||
sbufWriteU8(dst, gyroConfig()->gyro_to_use);
|
||||
sbufWriteU8(dst, gyroConfig()->gyro_high_fsr);
|
||||
sbufWriteU8(dst, gyroConfig()->gyroMovementCalibrationThreshold);
|
||||
sbufWriteU16(dst, gyroConfig()->gyroCalibrationDuration);
|
||||
sbufWriteU16(dst, gyroConfig()->gyro_offset_yaw);
|
||||
sbufWriteU8(dst, gyroConfig()->checkOverflow);
|
||||
|
||||
break;
|
||||
case MSP_FILTER_CONFIG :
|
||||
sbufWriteU8(dst, gyroConfig()->gyro_lowpass_hz);
|
||||
sbufWriteU16(dst, currentPidProfile->dterm_lowpass_hz);
|
||||
|
@ -1243,8 +1249,14 @@ static bool mspProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst)
|
|||
sbufWriteU16(dst, gyroConfig()->gyro_soft_notch_hz_2);
|
||||
sbufWriteU16(dst, gyroConfig()->gyro_soft_notch_cutoff_2);
|
||||
sbufWriteU8(dst, currentPidProfile->dterm_filter_type);
|
||||
break;
|
||||
sbufWriteU8(dst, gyroConfig()->gyro_hardware_lpf);
|
||||
sbufWriteU8(dst, gyroConfig()->gyro_32khz_hardware_lpf);
|
||||
sbufWriteU16(dst, gyroConfig()->gyro_lowpass2_hz);
|
||||
sbufWriteU8(dst, gyroConfig()->gyro_lowpass_type);
|
||||
sbufWriteU8(dst, gyroConfig()->gyro_lowpass2_type);
|
||||
sbufWriteU16(dst, currentPidProfile->dterm_lowpass2_hz);
|
||||
|
||||
break;
|
||||
case MSP_PID_ADVANCED:
|
||||
sbufWriteU16(dst, 0);
|
||||
sbufWriteU16(dst, 0);
|
||||
|
@ -1671,13 +1683,21 @@ static mspResult_e mspProcessInCommand(uint8_t cmdMSP, sbuf_t *src)
|
|||
if (sbufBytesRemaining(src)) {
|
||||
gyroConfigMutable()->gyro_use_32khz = sbufReadU8(src);
|
||||
}
|
||||
validateAndFixGyroConfig();
|
||||
|
||||
if (sbufBytesRemaining(src)) {
|
||||
motorConfigMutable()->dev.motorPwmInversion = sbufReadU8(src);
|
||||
}
|
||||
break;
|
||||
if (sbufBytesRemaining(src) >= 8) {
|
||||
gyroConfigMutable()->gyro_to_use = sbufReadU8(src);
|
||||
gyroConfigMutable()->gyro_high_fsr = sbufReadU8(src);
|
||||
gyroConfigMutable()->gyroMovementCalibrationThreshold = sbufReadU8(src);
|
||||
gyroConfigMutable()->gyroCalibrationDuration = sbufReadU16(src);
|
||||
gyroConfigMutable()->gyro_offset_yaw = sbufReadU16(src);
|
||||
gyroConfigMutable()->checkOverflow = sbufReadU8(src);
|
||||
}
|
||||
|
||||
validateAndFixGyroConfig();
|
||||
|
||||
break;
|
||||
case MSP_SET_FILTER_CONFIG:
|
||||
gyroConfigMutable()->gyro_lowpass_hz = sbufReadU8(src);
|
||||
currentPidProfile->dterm_lowpass_hz = sbufReadU16(src);
|
||||
|
@ -1695,13 +1715,21 @@ static mspResult_e mspProcessInCommand(uint8_t cmdMSP, sbuf_t *src)
|
|||
if (sbufBytesRemaining(src) >= 1) {
|
||||
currentPidProfile->dterm_filter_type = sbufReadU8(src);
|
||||
}
|
||||
if (sbufBytesRemaining(src) >= 8) {
|
||||
gyroConfigMutable()->gyro_hardware_lpf = sbufReadU8(src);
|
||||
gyroConfigMutable()->gyro_32khz_hardware_lpf = sbufReadU8(src);
|
||||
gyroConfigMutable()->gyro_lowpass2_hz = sbufReadU16(src);
|
||||
gyroConfigMutable()->gyro_lowpass_type = sbufReadU8(src);
|
||||
gyroConfigMutable()->gyro_lowpass2_type = sbufReadU8(src);
|
||||
currentPidProfile->dterm_lowpass2_hz = sbufReadU16(src);
|
||||
}
|
||||
// reinitialize the gyro filters with the new values
|
||||
validateAndFixGyroConfig();
|
||||
gyroInitFilters();
|
||||
// reinitialize the PID filters with the new values
|
||||
pidInitFilters(currentPidProfile);
|
||||
break;
|
||||
|
||||
break;
|
||||
case MSP_SET_PID_ADVANCED:
|
||||
sbufReadU16(src);
|
||||
sbufReadU16(src);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue