Merge pull request #7717 from McGiverGim/add_dyn_filters_msp

Add dynamic lpf and dterm filters to MSP
This commit is contained in:
Michael Keller 2019-03-07 03:51:02 +13:00 committed by GitHub
commit e808242828
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 25 additions and 0 deletions

View File

@ -1401,6 +1401,17 @@ static bool mspProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst)
sbufWriteU8(dst, gyroConfig()->gyro_lowpass_type);
sbufWriteU8(dst, gyroConfig()->gyro_lowpass2_type);
sbufWriteU16(dst, currentPidProfile->dterm_lowpass2_hz);
#if defined(USE_DYN_LPF)
sbufWriteU16(dst, gyroConfig()->dyn_lpf_gyro_min_hz);
sbufWriteU16(dst, gyroConfig()->dyn_lpf_gyro_max_hz);
sbufWriteU16(dst, currentPidProfile->dyn_lpf_dterm_min_hz);
sbufWriteU16(dst, currentPidProfile->dyn_lpf_dterm_max_hz);
#else
sbufWriteU16(dst, 0);
sbufWriteU16(dst, 0);
sbufWriteU16(dst, 0);
sbufWriteU16(dst, 0);
#endif
break;
case MSP_PID_ADVANCED:
@ -2037,6 +2048,20 @@ static mspResult_e mspProcessInCommand(uint8_t cmdMSP, sbuf_t *src)
gyroConfigMutable()->gyro_lowpass2_type = sbufReadU8(src);
currentPidProfile->dterm_lowpass2_hz = sbufReadU16(src);
}
if (sbufBytesRemaining(src) >= 8) {
#if defined(USE_DYN_LPF)
gyroConfigMutable()->dyn_lpf_gyro_min_hz = sbufReadU16(src);
gyroConfigMutable()->dyn_lpf_gyro_max_hz = sbufReadU16(src);
currentPidProfile->dyn_lpf_dterm_min_hz = sbufReadU16(src);
currentPidProfile->dyn_lpf_dterm_max_hz = sbufReadU16(src);
#else
sbufReadU16(src);
sbufReadU16(src);
sbufReadU16(src);
sbufReadU16(src);
#endif
}
// reinitialize the gyro filters with the new values
validateAndFixGyroConfig();
gyroInitFilters();