mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-16 12:55:19 +03:00
Fix smartport over softserial using override (#13540)
* Fix smartport over softserial * Constrain baudrateIndex does not work * Reapply 57600 for SmartPort * Use custom define for baudrate override * Return when baudrate requested is above set limit of softserial * Thanks ledvinap * Fix macro name * Cloud Build API does not allow define size > 32
This commit is contained in:
parent
8d1d8872d6
commit
92287b870d
1 changed files with 6 additions and 5 deletions
|
@ -346,13 +346,14 @@ bool isSerialConfigValid(serialConfig_t *serialConfigToCheck)
|
|||
(portConfig->identifier == SERIAL_PORT_SOFTSERIAL2)) {
|
||||
// Ensure MSP or serial RX is not enabled on soft serial ports
|
||||
serialConfigToCheck->portConfigs[index].functionMask &= ~(FUNCTION_MSP | FUNCTION_RX_SERIAL);
|
||||
|
||||
// Ensure that the baud rate on soft serial ports is limited to 19200
|
||||
#ifndef USE_OVERRIDE_SOFTSERIAL_BAUDRATE
|
||||
serialConfigToCheck->portConfigs[index].gps_baudrateIndex = constrain(portConfig->gps_baudrateIndex, BAUD_AUTO, BAUD_19200);
|
||||
serialConfigToCheck->portConfigs[index].blackbox_baudrateIndex = constrain(portConfig->blackbox_baudrateIndex, BAUD_AUTO, BAUD_19200);
|
||||
serialConfigToCheck->portConfigs[index].telemetry_baudrateIndex = constrain(portConfig->telemetry_baudrateIndex, BAUD_AUTO, BAUD_19200);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif // USE_SOFTSERIAL
|
||||
|
||||
if (portConfig->functionMask & FUNCTION_MSP) {
|
||||
mspPortCount++;
|
||||
|
@ -436,10 +437,10 @@ serialPort_t *openSerialPort(
|
|||
|
||||
serialPort_t *serialPort = NULL;
|
||||
|
||||
#ifdef USE_SOFTSERIAL
|
||||
#if defined(USE_SOFTSERIAL) && !defined(USE_OVERRIDE_SOFTSERIAL_BAUDRATE)
|
||||
if (((identifier == SERIAL_PORT_SOFTSERIAL1) || (identifier == SERIAL_PORT_SOFTSERIAL2)) && (baudRate > 19200)) {
|
||||
// Limit baud rate on soft serial ports
|
||||
baudRate = 19200;
|
||||
// Don't continue if baud rate requested is higher then the limit set on soft serial ports
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue