mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-24 00:35:39 +03:00
Allow serial port to share all MSP functions at once (#11950)
Fixes: https://github.com/betaflight/betaflight/issues/11948 Previously the MSP functionality could only be shared with one of the functions defined in `ALL_FUNCTIONS_SHARABLE_WITH_MSP`. This PR allows it to be shared with all of them.
This commit is contained in:
commit
e664577849
3 changed files with 4 additions and 5 deletions
|
@ -586,7 +586,7 @@ static void validateAndFixConfig(void)
|
||||||
|
|
||||||
if (portConfig &&
|
if (portConfig &&
|
||||||
(portConfig->identifier != SERIAL_PORT_USB_VCP) &&
|
(portConfig->identifier != SERIAL_PORT_USB_VCP) &&
|
||||||
((portConfig->functionMask & FUNCTION_MSP_DISPLAYPORT) == FUNCTION_MSP_DISPLAYPORT)) {
|
((portConfig->functionMask & (FUNCTION_VTX_MSP | FUNCTION_MSP)) == (FUNCTION_VTX_MSP | FUNCTION_MSP))) {
|
||||||
displayPortMspSetSerial(portConfig->identifier);
|
displayPortMspSetSerial(portConfig->identifier);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -272,9 +272,9 @@ serialPort_t *findSharedSerialPort(uint16_t functionMask, serialPortFunction_e s
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_TELEMETRY
|
#ifdef USE_TELEMETRY
|
||||||
#define ALL_FUNCTIONS_SHARABLE_WITH_MSP (FUNCTION_BLACKBOX | TELEMETRY_PORT_FUNCTIONS_MASK | FUNCTION_VTX_MSP | FUNCTION_MSP_DISPLAYPORT)
|
#define ALL_FUNCTIONS_SHARABLE_WITH_MSP (FUNCTION_BLACKBOX | TELEMETRY_PORT_FUNCTIONS_MASK | FUNCTION_VTX_MSP)
|
||||||
#else
|
#else
|
||||||
#define ALL_FUNCTIONS_SHARABLE_WITH_MSP (FUNCTION_BLACKBOX | FUNCTION_VTX_MSP | FUNCTION_MSP_DISPLAYPORT)
|
#define ALL_FUNCTIONS_SHARABLE_WITH_MSP (FUNCTION_BLACKBOX | FUNCTION_VTX_MSP)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool isSerialConfigValid(const serialConfig_t *serialConfigToCheck)
|
bool isSerialConfigValid(const serialConfig_t *serialConfigToCheck)
|
||||||
|
@ -311,7 +311,7 @@ bool isSerialConfigValid(const serialConfig_t *serialConfigToCheck)
|
||||||
|
|
||||||
if (bitCount > 1) {
|
if (bitCount > 1) {
|
||||||
// shared
|
// shared
|
||||||
if (bitCount > 2) {
|
if (bitCount > (BITCOUNT(FUNCTION_MSP | ALL_FUNCTIONS_SHARABLE_WITH_MSP))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,6 @@ typedef enum {
|
||||||
FUNCTION_LIDAR_TF = (1 << 15), // 32768
|
FUNCTION_LIDAR_TF = (1 << 15), // 32768
|
||||||
FUNCTION_FRSKY_OSD = (1 << 16), // 65536
|
FUNCTION_FRSKY_OSD = (1 << 16), // 65536
|
||||||
FUNCTION_VTX_MSP = (1 << 17), // 131072
|
FUNCTION_VTX_MSP = (1 << 17), // 131072
|
||||||
FUNCTION_MSP_DISPLAYPORT = (1 << 18) | FUNCTION_MSP, // 262145
|
|
||||||
} serialPortFunction_e;
|
} serialPortFunction_e;
|
||||||
|
|
||||||
#define TELEMETRY_SHAREABLE_PORT_FUNCTIONS_MASK (FUNCTION_TELEMETRY_FRSKY_HUB | FUNCTION_TELEMETRY_LTM | FUNCTION_TELEMETRY_MAVLINK)
|
#define TELEMETRY_SHAREABLE_PORT_FUNCTIONS_MASK (FUNCTION_TELEMETRY_FRSKY_HUB | FUNCTION_TELEMETRY_LTM | FUNCTION_TELEMETRY_MAVLINK)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue