diff --git a/docs/development/msp/README.md b/docs/development/msp/README.md index 7377eef84bc..324068780b1 100644 --- a/docs/development/msp/README.md +++ b/docs/development/msp/README.md @@ -261,8 +261,6 @@ When the MSP JSON specification changes, bump `msp_messages.json` version: [91 - MSP_SET_ADVANCED_CONFIG](#msp_set_advanced_config) [92 - MSP_FILTER_CONFIG](#msp_filter_config) [93 - MSP_SET_FILTER_CONFIG](#msp_set_filter_config) -[94 - MSP_PID_ADVANCED](#msp_pid_advanced) -[95 - MSP_SET_PID_ADVANCED](#msp_set_pid_advanced) [96 - MSP_SENSOR_CONFIG](#msp_sensor_config) [97 - MSP_SET_SENSOR_CONFIG](#msp_set_sensor_config) [98 - MSP_SPECIAL_PARAMETERS](#msp_special_parameters) @@ -1724,50 +1722,6 @@ When the MSP JSON specification changes, bump `msp_messages.json` version: **Notes:** Requires at least 22 bytes; intermediate length checks enforce legacy Betaflight frame layout and call `pidInitFilters()` once the D-term notch placeholders are consumed. -## `MSP_PID_ADVANCED (94 / 0x5e)` -**Description:** Retrieves advanced PID tuning parameters. Many fields are BF compatibility placeholders. - -**Request Payload:** **None** - -**Reply Payload:** -|Field|C Type|Size (Bytes)|Units|Description| -|---|---|---|---|---| -| `legacyRollPitchItermIgnore` | `uint16_t` | 2 | - | Always 0 (Legacy) | -| `legacyYawItermIgnore` | `uint16_t` | 2 | - | Always 0 (Legacy) | -| `legacyYawPLimit` | `uint16_t` | 2 | - | Always 0 (Legacy) | -| `bfCompatDeltaMethod` | `uint8_t` | 1 | - | Always 0 (BF compatibility) | -| `bfCompatVbatPidComp` | `uint8_t` | 1 | - | Always 0 (BF compatibility) | -| `bfCompatSetpointRelaxRatio` | `uint8_t` | 1 | - | Always 0 (BF compatibility) | -| `reserved1` | `uint8_t` | 1 | - | Always 0 | -| `legacyPidSumLimit` | `uint16_t` | 2 | - | Always 0 (Legacy) | -| `bfCompatItermThrottleGain` | `uint8_t` | 1 | - | Always 0 (BF compatibility) | -| `accelLimitRollPitch` | `uint16_t` | 2 | dps / 10 | Axis acceleration limit for Roll/Pitch / 10 (`pidProfile()->axisAccelerationLimitRollPitch / 10`) | -| `accelLimitYaw` | `uint16_t` | 2 | dps / 10 | Axis acceleration limit for Yaw / 10 (`pidProfile()->axisAccelerationLimitYaw / 10`) | - -**Notes:** Acceleration limits are scaled by 10 for compatibility. - -## `MSP_SET_PID_ADVANCED (95 / 0x5f)` -**Description:** Sets advanced PID tuning parameters. - -**Request Payload:** -|Field|C Type|Size (Bytes)|Units|Description| -|---|---|---|---|---| -| `legacyRollPitchItermIgnore` | `uint16_t` | 2 | - | Ignored (legacy compatibility). | -| `legacyYawItermIgnore` | `uint16_t` | 2 | - | Ignored (legacy compatibility). | -| `legacyYawPLimit` | `uint16_t` | 2 | - | Ignored (legacy compatibility). | -| `bfCompatDeltaMethod` | `uint8_t` | 1 | - | Ignored (BF compatibility). | -| `bfCompatVbatPidComp` | `uint8_t` | 1 | - | Ignored (BF compatibility). | -| `bfCompatSetpointRelaxRatio` | `uint8_t` | 1 | - | Ignored (BF compatibility). | -| `reserved1` | `uint8_t` | 1 | - | Ignored (reserved). | -| `legacyPidSumLimit` | `uint16_t` | 2 | - | Ignored (legacy compatibility). | -| `bfCompatItermThrottleGain` | `uint8_t` | 1 | - | Ignored (BF compatibility). | -| `accelLimitRollPitch` | `uint16_t` | 2 | dps / 10 | Sets `pidProfileMutable()->axisAccelerationLimitRollPitch = value * 10`. | -| `accelLimitYaw` | `uint16_t` | 2 | dps / 10 | Sets `pidProfileMutable()->axisAccelerationLimitYaw = value * 10`. | - -**Reply Payload:** **None** - -**Notes:** Expects 17 bytes. - ## `MSP_SENSOR_CONFIG (96 / 0x60)` **Description:** Retrieves the configured hardware type for various sensors. diff --git a/docs/development/msp/msp_messages.json b/docs/development/msp/msp_messages.json index 176833915ad..89b8fc61fc4 100644 --- a/docs/development/msp/msp_messages.json +++ b/docs/development/msp/msp_messages.json @@ -1,7 +1,7 @@ { "version": { - "major": 2, - "minor": 1, + "major": 3, + "minor": 0, "patch": 0 }, "messages": { @@ -3304,153 +3304,6 @@ "notes": "Requires at least 22 bytes; intermediate length checks enforce legacy Betaflight frame layout and call `pidInitFilters()` once the D-term notch placeholders are consumed.", "description": "Sets filter configuration settings. Handles different payload lengths for backward compatibility." }, - "MSP_PID_ADVANCED": { - "code": 94, - "mspv": 1, - "replaced_by": ["MSP_INAV_PID"], - "request": null, - "reply": { - "payload": [ - { - "name": "legacyRollPitchItermIgnore", - "ctype": "uint16_t", - "desc": "Always 0 (Legacy)", - "value": 0 - }, - { - "name": "legacyYawItermIgnore", - "ctype": "uint16_t", - "desc": "Always 0 (Legacy)", - "value": 0 - }, - { - "name": "legacyYawPLimit", - "ctype": "uint16_t", - "desc": "Always 0 (Legacy)", - "value": 0 - }, - { - "name": "bfCompatDeltaMethod", - "ctype": "uint8_t", - "desc": "Always 0 (BF compatibility)", - "value": 0 - }, - { - "name": "bfCompatVbatPidComp", - "ctype": "uint8_t", - "desc": "Always 0 (BF compatibility)", - "value": 0 - }, - { - "name": "bfCompatSetpointRelaxRatio", - "ctype": "uint8_t", - "desc": "Always 0 (BF compatibility)", - "value": 0 - }, - { - "name": "reserved1", - "ctype": "uint8_t", - "desc": "Always 0", - "value": 0 - }, - { - "name": "legacyPidSumLimit", - "ctype": "uint16_t", - "desc": "Always 0 (Legacy)", - "value": 0 - }, - { - "name": "bfCompatItermThrottleGain", - "ctype": "uint8_t", - "desc": "Always 0 (BF compatibility)", - "value": 0 - }, - { - "name": "accelLimitRollPitch", - "ctype": "uint16_t", - "desc": "Axis acceleration limit for Roll/Pitch / 10 (`pidProfile()->axisAccelerationLimitRollPitch / 10`)", - "units": "dps / 10" - }, - { - "name": "accelLimitYaw", - "ctype": "uint16_t", - "desc": "Axis acceleration limit for Yaw / 10 (`pidProfile()->axisAccelerationLimitYaw / 10`)", - "units": "dps / 10" - } - ] - }, - "notes": "Acceleration limits are scaled by 10 for compatibility.", - "description": "Retrieves advanced PID tuning parameters. Many fields are BF compatibility placeholders." - }, - "MSP_SET_PID_ADVANCED": { - "code": 95, - "mspv": 1, - "replaced_by": ["MSP_SET_INAV_PID"], - "request": { - "payload": [ - { - "name": "legacyRollPitchItermIgnore", - "ctype": "uint16_t", - "desc": "Ignored (legacy compatibility)." - }, - { - "name": "legacyYawItermIgnore", - "ctype": "uint16_t", - "desc": "Ignored (legacy compatibility)." - }, - { - "name": "legacyYawPLimit", - "ctype": "uint16_t", - "desc": "Ignored (legacy compatibility)." - }, - { - "name": "bfCompatDeltaMethod", - "ctype": "uint8_t", - "desc": "Ignored (BF compatibility)." - }, - { - "name": "bfCompatVbatPidComp", - "ctype": "uint8_t", - "desc": "Ignored (BF compatibility)." - }, - { - "name": "bfCompatSetpointRelaxRatio", - "ctype": "uint8_t", - "desc": "Ignored (BF compatibility)." - }, - { - "name": "reserved1", - "ctype": "uint8_t", - "desc": "Ignored (reserved)." - }, - { - "name": "legacyPidSumLimit", - "ctype": "uint16_t", - "desc": "Ignored (legacy compatibility)." - }, - { - "name": "bfCompatItermThrottleGain", - "ctype": "uint8_t", - "desc": "Ignored (BF compatibility)." - }, - { - "name": "accelLimitRollPitch", - "ctype": "uint16_t", - "desc": "Sets `pidProfileMutable()->axisAccelerationLimitRollPitch = value * 10`.", - "units": "dps / 10" - }, - { - "name": "accelLimitYaw", - "ctype": "uint16_t", - "desc": "Sets `pidProfileMutable()->axisAccelerationLimitYaw = value * 10`.", - "units": "dps / 10" - } - ] - }, - "reply": null, - "notes": "Expects 17 bytes.", - "description": "Sets advanced PID tuning parameters." - }, "MSP_SENSOR_CONFIG": { "code": 96, "mspv": 1, diff --git a/src/main/fc/fc_msp.c b/src/main/fc/fc_msp.c index 1edf45749e2..17f7c11fe2e 100644 --- a/src/main/fc/fc_msp.c +++ b/src/main/fc/fc_msp.c @@ -1443,25 +1443,6 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF sbufWriteU16(dst, 0); //Was gyroConfig()->gyro_stage2_lowpass_hz break; - case MSP_PID_ADVANCED: - sbufWriteU16(dst, 0); // pidProfile()->rollPitchItermIgnoreRate - sbufWriteU16(dst, 0); // pidProfile()->yawItermIgnoreRate - sbufWriteU16(dst, 0); //pidProfile()->yaw_p_limit - sbufWriteU8(dst, 0); //BF: pidProfile()->deltaMethod - sbufWriteU8(dst, 0); //BF: pidProfile()->vbatPidCompensation - sbufWriteU8(dst, 0); //BF: pidProfile()->setpointRelaxRatio - sbufWriteU8(dst, 0); - sbufWriteU16(dst, 0); //Was pidsum limit - sbufWriteU8(dst, 0); //BF: pidProfile()->itermThrottleGain - - /* - * To keep compatibility on MSP frame length level with Betaflight, axis axisAccelerationLimitYaw - * limit will be sent and received in [dps / 10] - */ - sbufWriteU16(dst, constrain(pidProfile()->axisAccelerationLimitRollPitch / 10, 0, 65535)); - sbufWriteU16(dst, constrain(pidProfile()->axisAccelerationLimitYaw / 10, 0, 65535)); - break; - case MSP_INAV_PID: sbufWriteU8(dst, 0); //Legacy, no longer in use async processing value sbufWriteU16(dst, 0); //Legacy, no longer in use async processing value @@ -2874,29 +2855,6 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src) return MSP_RESULT_ERROR; break; - case MSP_SET_PID_ADVANCED: - if (dataSize == 17) { - sbufReadU16(src); // pidProfileMutable()->rollPitchItermIgnoreRate - sbufReadU16(src); // pidProfileMutable()->yawItermIgnoreRate - sbufReadU16(src); //pidProfile()->yaw_p_limit - - sbufReadU8(src); //BF: pidProfileMutable()->deltaMethod - sbufReadU8(src); //BF: pidProfileMutable()->vbatPidCompensation - sbufReadU8(src); //BF: pidProfileMutable()->setpointRelaxRatio - sbufReadU8(src); - sbufReadU16(src); // Was pidsumLimit - sbufReadU8(src); //BF: pidProfileMutable()->itermThrottleGain - - /* - * To keep compatibility on MSP frame length level with Betaflight, axis axisAccelerationLimitYaw - * limit will be sent and received in [dps / 10] - */ - pidProfileMutable()->axisAccelerationLimitRollPitch = sbufReadU16(src) * 10; - pidProfileMutable()->axisAccelerationLimitYaw = sbufReadU16(src) * 10; - } else - return MSP_RESULT_ERROR; - break; - case MSP_SET_INAV_PID: if (dataSize == 15) { sbufReadU8(src); //Legacy, no longer in use async processing value diff --git a/src/main/msp/msp_protocol.h b/src/main/msp/msp_protocol.h index 6b4705a738c..1821fbb2b4b 100644 --- a/src/main/msp/msp_protocol.h +++ b/src/main/msp/msp_protocol.h @@ -204,8 +204,6 @@ #define MSP_FILTER_CONFIG 92 //DEPRECATED in INAV 9.1 - use settings system instead. Will be removed in INAV 10.0 #define MSP_SET_FILTER_CONFIG 93 //DEPRECATED in INAV 9.1 - use settings system instead. Will be removed in INAV 10.0 -#define MSP_PID_ADVANCED 94 //DEPRECATED in INAV 9.1 - use MSP_INAV_PID instead. Will be removed in INAV 10.0 -#define MSP_SET_PID_ADVANCED 95 //DEPRECATED in INAV 9.1 - use MSP_SET_INAV_PID instead. Will be removed in INAV 10.0 #define MSP_SENSOR_CONFIG 96 #define MSP_SET_SENSOR_CONFIG 97