Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 0 additions & 46 deletions docs/development/msp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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.

## <a id="msp_pid_advanced"></a>`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.

## <a id="msp_set_pid_advanced"></a>`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.

## <a id="msp_sensor_config"></a>`MSP_SENSOR_CONFIG (96 / 0x60)`
**Description:** Retrieves the configured hardware type for various sensors.

Expand Down
151 changes: 2 additions & 149 deletions docs/development/msp/msp_messages.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"version": {
"major": 2,
"minor": 1,
"major": 3,
"minor": 0,
"patch": 0
},
"messages": {
Expand Down Expand Up @@ -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,
Expand Down
42 changes: 0 additions & 42 deletions src/main/fc/fc_msp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
2 changes: 0 additions & 2 deletions src/main/msp/msp_protocol.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading