1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-19 06:15:16 +03:00

Cleanup MSP // compatibility

Correct double rcSmoothInterval

fix size
This commit is contained in:
borisbstyle 2016-07-28 10:02:54 +02:00
parent 617218bc77
commit 6581bea2d5
2 changed files with 23 additions and 47 deletions

View file

@ -808,7 +808,7 @@ static bool processOutCommand(uint8_t cmdMSP)
serialize16((uint16_t)gyro.targetLooptime);
break;
case MSP_RC_TUNING:
headSerialReply(11);
headSerialReply(12);
serialize8(currentControlRateProfile->rcRate8);
serialize8(currentControlRateProfile->rcExpo8);
for (i = 0 ; i < 3; i++) {
@ -819,6 +819,7 @@ static bool processOutCommand(uint8_t cmdMSP)
serialize8(currentControlRateProfile->thrExpo8);
serialize16(currentControlRateProfile->tpa_breakpoint);
serialize8(currentControlRateProfile->rcYawExpo8);
serialize8(currentControlRateProfile->rcYawRate8);
break;
case MSP_PID:
headSerialReply(3 * PID_ITEM_COUNT);
@ -1020,7 +1021,7 @@ static bool processOutCommand(uint8_t cmdMSP)
break;
case MSP_RX_CONFIG:
headSerialReply(12);
headSerialReply(16);
serialize8(masterConfig.rxConfig.serialrx_provider);
serialize16(masterConfig.rxConfig.maxcheck);
serialize16(masterConfig.rxConfig.midrc);
@ -1028,6 +1029,9 @@ static bool processOutCommand(uint8_t cmdMSP)
serialize8(masterConfig.rxConfig.spektrum_sat_bind);
serialize16(masterConfig.rxConfig.rx_min_usec);
serialize16(masterConfig.rxConfig.rx_max_usec);
serialize8(masterConfig.rxConfig.rcSmoothing);
serialize8(masterConfig.rxConfig.rcSmoothInterval);
serialize16(masterConfig.rxConfig.airModeActivateThreshold);
break;
case MSP_FAILSAFE_CONFIG:
@ -1221,7 +1225,7 @@ static bool processOutCommand(uint8_t cmdMSP)
serialize8(masterConfig.sensorAlignmentConfig.acc_align);
serialize8(masterConfig.sensorAlignmentConfig.mag_align);
break;
case MSP_PID_ADVANCED_CONFIG :
case MSP_ADVANCED_CONFIG :
headSerialReply(6);
serialize8(masterConfig.gyro_sync_denom);
serialize8(masterConfig.pid_process_denom);
@ -1235,23 +1239,13 @@ static bool processOutCommand(uint8_t cmdMSP)
serialize16(currentProfile->pidProfile.dterm_lpf_hz);
serialize16(currentProfile->pidProfile.yaw_lpf_hz);
break;
case MSP_ADVANCED_TUNING:
headSerialReply(3 * 2 + 2);
case MSP_PID_ADVANCED:
headSerialReply(17);
serialize16(currentProfile->pidProfile.rollPitchItermIgnoreRate);
serialize16(currentProfile->pidProfile.yawItermIgnoreRate);
serialize16(currentProfile->pidProfile.yaw_p_limit);
serialize8(currentProfile->pidProfile.deltaMethod);
serialize8(currentProfile->pidProfile.vbatPidCompensation);
break;
case MSP_SPECIAL_PARAMETERS:
headSerialReply(1 + 2 + 1 + 2);
serialize8(currentControlRateProfile->rcYawRate8);
serialize16(masterConfig.rxConfig.airModeActivateThreshold);
serialize8(masterConfig.rxConfig.rcSmoothInterval);
serialize16(currentProfile->pidProfile.pidMaxVelocity);
break;
case MSP_PIDC_BETAFLIGHT:
headSerialReply(9);
serialize8(currentProfile->pidProfile.ptermSetpointWeight);
serialize8(currentProfile->pidProfile.dtermSetpointWeight);
serialize8(currentProfile->pidProfile.toleranceBand);
@ -1260,11 +1254,6 @@ static bool processOutCommand(uint8_t cmdMSP)
serialize16(currentProfile->pidProfile.pidMaxVelocity);
serialize16(currentProfile->pidProfile.pidMaxVelocityYaw);
break;
case MSP_RC_SMOOTHING:
headSerialReply(2);
serialize8(masterConfig.rxConfig.rcSmoothing);
serialize8(masterConfig.rxConfig.rcSmoothInterval);
break;
case MSP_SENSOR_CONFIG:
headSerialReply(3);
serialize8(masterConfig.acc_hardware);
@ -1409,6 +1398,9 @@ static bool processInCommand(void)
if (currentPort->dataSize >= 11) {
currentControlRateProfile->rcYawExpo8 = read8();
}
if (currentPort->dataSize >= 12) {
currentControlRateProfile->rcYawRate8 = read8();
}
} else {
headSerialError(0);
}
@ -1678,6 +1670,11 @@ static bool processInCommand(void)
masterConfig.rxConfig.rx_min_usec = read16();
masterConfig.rxConfig.rx_max_usec = read16();
}
if (currentPort->dataSize > 12) {
masterConfig.rxConfig.rcSmoothing = read8();
masterConfig.rxConfig.rcSmoothInterval = read8();
masterConfig.rxConfig.airModeActivateThreshold = read16();
}
break;
case MSP_SET_FAILSAFE_CONFIG:
@ -1821,7 +1818,7 @@ static bool processInCommand(void)
break;
#endif
case MSP_SET_PID_ADVANCED_CONFIG :
case MSP_SET_ADVANCED_CONFIG :
masterConfig.gyro_sync_denom = read8();
masterConfig.pid_process_denom = read8();
masterConfig.use_unsyncedPwm = read8();
@ -1833,20 +1830,12 @@ static bool processInCommand(void)
currentProfile->pidProfile.dterm_lpf_hz = read16();
currentProfile->pidProfile.yaw_lpf_hz = read16();
break;
case MSP_SET_ADVANCED_TUNING:
case MSP_SET_PID_ADVANCED:
currentProfile->pidProfile.rollPitchItermIgnoreRate = read16();
currentProfile->pidProfile.yawItermIgnoreRate = read16();
currentProfile->pidProfile.yaw_p_limit = read16();
currentProfile->pidProfile.deltaMethod = read8();
currentProfile->pidProfile.vbatPidCompensation = read8();
break;
case MSP_SET_SPECIAL_PARAMETERS:
currentControlRateProfile->rcYawRate8 = read8();
masterConfig.rxConfig.airModeActivateThreshold = read16();
masterConfig.rxConfig.rcSmoothInterval = read8();
read16();
break;
case MSP_SET_PIDC_BETAFLIGHT:
currentProfile->pidProfile.ptermSetpointWeight = read8();
currentProfile->pidProfile.dtermSetpointWeight = read8();
currentProfile->pidProfile.toleranceBand = read8();
@ -1855,10 +1844,6 @@ static bool processInCommand(void)
currentProfile->pidProfile.pidMaxVelocity = read16();
currentProfile->pidProfile.pidMaxVelocityYaw = read16();
break;
case MSP_SET_RC_SMOOTHING:
masterConfig.rxConfig.rcSmoothing = read8();
masterConfig.rxConfig.rcSmoothInterval = read8();
break;
case MSP_SET_SENSOR_CONFIG:
masterConfig.acc_hardware = read8();
masterConfig.baro_hardware = read8();