Ignore UART pins which are not defined

This commit is contained in:
Steve Evans 2022-01-03 02:36:49 +00:00
parent 3d9b7cf490
commit fae1530500
1 changed files with 4 additions and 4 deletions

View File

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