1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-24 16:55:36 +03:00

Merge pull request #11220 from SteveCEvans/uart_pin_swap

Ignore UART pins which are not defined
This commit is contained in:
haslinghuis 2022-01-06 02:10:35 +01:00 committed by GitHub
commit 4bc7a2c7fa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -57,23 +57,23 @@ void uartPinConfigure(const serialPinConfig_t *pSerialPinConfig)
uartdev->pinSwap = false;
#endif
for (int pindex = 0 ; pindex < UARTHARDWARE_MAX_PINS ; pindex++) {
if (pSerialPinConfig->ioTagRx[device] == hardware->rxPins[pindex].pin) {
if (pSerialPinConfig->ioTagRx[device] && (pSerialPinConfig->ioTagRx[device] == hardware->rxPins[pindex].pin)) {
uartdev->rx = hardware->rxPins[pindex];
}
if (pSerialPinConfig->ioTagTx[device] == hardware->txPins[pindex].pin) {
if (pSerialPinConfig->ioTagTx[device] && (pSerialPinConfig->ioTagTx[device] == hardware->txPins[pindex].pin)) {
uartdev->tx = hardware->txPins[pindex];
}
#if !(defined(STM32F1) || defined(STM32F4))
// Check for swapped pins
if (pSerialPinConfig->ioTagTx[device] == hardware->rxPins[pindex].pin) {
if (pSerialPinConfig->ioTagTx[device] && (pSerialPinConfig->ioTagTx[device] == hardware->rxPins[pindex].pin)) {
uartdev->tx = hardware->rxPins[pindex];
uartdev->pinSwap = true;
}
if (pSerialPinConfig->ioTagRx[device] == hardware->txPins[pindex].pin) {
if (pSerialPinConfig->ioTagRx[device] && (pSerialPinConfig->ioTagRx[device] == hardware->txPins[pindex].pin)) {
uartdev->rx = hardware->txPins[pindex];
uartdev->pinSwap = true;
}