1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-13 11:29:56 +03:00

[mspv2] pass "flags" field back to sender, define ILMI flag (#10464)

This commit is contained in:
Jonathan Hudson 2024-11-13 18:22:57 +00:00 committed by GitHub
parent 180d337dbd
commit 9fb51e0655
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 7 additions and 6 deletions

View file

@ -2717,7 +2717,7 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
vtxSettingsConfigMutable()->lowPowerDisarm = sbufReadU8(src); vtxSettingsConfigMutable()->lowPowerDisarm = sbufReadU8(src);
} }
// API version 1.42 - extension for pitmode frequency // API version 1.42 - extension for pitmode frequency
if (sbufBytesRemaining(src) >= 2) { if (sbufBytesRemaining(src) >= 2) {
sbufReadU16(src); //skip pitModeFreq sbufReadU16(src); //skip pitModeFreq
} }
@ -2738,15 +2738,15 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
if (sbufBytesRemaining(src) >= 2) { if (sbufBytesRemaining(src) >= 2) {
sbufReadU16(src); // freq sbufReadU16(src); // freq
} }
if (sbufBytesRemaining(src) >= 3) { if (sbufBytesRemaining(src) >= 3) {
sbufReadU8(src); // band count sbufReadU8(src); // band count
sbufReadU8(src); // channel count sbufReadU8(src); // channel count
uint8_t newPowerCount = sbufReadU8(src); uint8_t newPowerCount = sbufReadU8(src);
if (newPowerCount > 0 && newPowerCount < (vtxDevice->capability.powerCount)) { if (newPowerCount > 0 && newPowerCount < (vtxDevice->capability.powerCount)) {
vtxDevice->capability.powerCount = newPowerCount; vtxDevice->capability.powerCount = newPowerCount;
} }
} }
} }
} }
@ -2944,7 +2944,7 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
if (sublinkID == 0) { if (sublinkID == 0) {
rxLinkStatistics.uplinkTXPower = sbufReadU16(src); rxLinkStatistics.uplinkTXPower = sbufReadU16(src);
rxLinkStatistics.downlinkTXPower = sbufReadU16(src); rxLinkStatistics.downlinkTXPower = sbufReadU16(src);
for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) {
rxLinkStatistics.band[i] = sbufReadU8(src); rxLinkStatistics.band[i] = sbufReadU8(src);
} }
@ -4249,7 +4249,7 @@ mspResult_e mspFcProcessCommand(mspPacket_t *cmd, mspPacket_t *reply, mspPostPro
if (cmd->flags & MSP_FLAG_DONT_REPLY) { if (cmd->flags & MSP_FLAG_DONT_REPLY) {
ret = MSP_RESULT_NO_REPLY; ret = MSP_RESULT_NO_REPLY;
} }
reply->flags = cmd->flags;
reply->result = ret; reply->result = ret;
return ret; return ret;
} }

View file

@ -46,6 +46,7 @@ typedef struct mspPacket_s {
typedef enum { typedef enum {
MSP_FLAG_DONT_REPLY = (1 << 0), MSP_FLAG_DONT_REPLY = (1 << 0),
MSP_FLAG_ILMI = (1 << 1), // "In-Line Message identifier"
} mspFlags_e; } mspFlags_e;
struct serialPort_s; struct serialPort_s;