No more "pin-pair"
RX and TX can be assigned to ANY capable pins.
This commit is contained in:
parent
6c5997ef9f
commit
2d45189fe2
6
Makefile
6
Makefile
|
@ -682,6 +682,7 @@ COMMON_SRC = \
|
|||
drivers/serial.c \
|
||||
drivers/serial_pinconfig.c \
|
||||
drivers/serial_uart.c \
|
||||
drivers/serial_uart_pinconfig.c \
|
||||
drivers/sound_beeper.c \
|
||||
drivers/stack_check.c \
|
||||
drivers/system.c \
|
||||
|
@ -897,6 +898,7 @@ SIZE_OPTIMISED_SRC := $(SIZE_OPTIMISED_SRC) \
|
|||
config/config_streamer.c \
|
||||
drivers/serial_pinconfig.c \
|
||||
drivers/serial_uart_init.c \
|
||||
drivers/serial_uart_pinconfig.c \
|
||||
io/serial_4way.c \
|
||||
io/serial_4way_avrootloader.c \
|
||||
io/serial_4way_stk500v2.c \
|
||||
|
@ -1013,8 +1015,10 @@ SITLEXCLUDES = \
|
|||
drivers/light_led.c \
|
||||
drivers/system.c \
|
||||
drivers/rcc.c \
|
||||
drivers/serial_uart.c \
|
||||
drivers/serial_pinconfig.c \
|
||||
drivers/serial_uart.c \
|
||||
drivers/serial_uart_init.c \
|
||||
drivers/serial_uart_pinconfig.c \
|
||||
drivers/rx_xn297.c \
|
||||
drivers/display_ug2864hsweg01.c \
|
||||
telemetry/crsf.c \
|
||||
|
|
1439
Makefile.orig
1439
Makefile.orig
File diff suppressed because it is too large
Load Diff
|
@ -40,33 +40,6 @@
|
|||
#include "drivers/serial_uart.h"
|
||||
#include "drivers/serial_uart_impl.h"
|
||||
|
||||
uartDevice_t uartDevice[UARTDEV_COUNT]; // Only configured in target.h
|
||||
uartDevice_t *uartDevmap[UARTDEV_COUNT_MAX]; // Full array
|
||||
|
||||
void uartPinConfigure(const serialPinConfig_t *pSerialPinConfig)
|
||||
{
|
||||
uartDevice_t *uartdev = uartDevice;
|
||||
|
||||
for (size_t hindex = 0 ; hindex < UARTDEV_COUNT ; hindex++) {
|
||||
|
||||
const uartHardware_t *hardware = &uartHardware[hindex];
|
||||
UARTDevice device = hardware->device;
|
||||
|
||||
for (int pair = 0 ; pair < UARTHARDWARE_PINPAIR_COUNT ; pair++) {
|
||||
if (hardware->pinPair[pair].rx == pSerialPinConfig->ioTagRx[device]
|
||||
&& hardware->pinPair[pair].tx == pSerialPinConfig->ioTagTx[device]) {
|
||||
// Matching pin pair found
|
||||
|
||||
uartdev->hardware = hardware;
|
||||
uartdev->rx = hardware->pinPair[pair].rx;
|
||||
uartdev->tx = hardware->pinPair[pair].tx;
|
||||
uartDevmap[device] = uartdev++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void usartConfigurePinInversion(uartPort_t *uartPort) {
|
||||
bool inverted = uartPort->port.options & SERIAL_INVERTED;
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#if defined(STM32F1)
|
||||
#define UARTDEV_COUNT_MAX 3
|
||||
#define UARTHARDWARE_PINPAIR_COUNT 3
|
||||
#define UARTHARDWARE_MAX_PINS 3
|
||||
#ifndef UART_RX_BUFFER_SIZE
|
||||
#define UART_RX_BUFFER_SIZE 256
|
||||
#endif
|
||||
|
@ -30,7 +30,7 @@
|
|||
#endif
|
||||
#elif defined(STM32F3)
|
||||
#define UARTDEV_COUNT_MAX 5
|
||||
#define UARTHARDWARE_PINPAIR_COUNT 4
|
||||
#define UARTHARDWARE_MAX_PINS 4
|
||||
#ifndef UART_RX_BUFFER_SIZE
|
||||
#define UART_RX_BUFFER_SIZE 256
|
||||
#endif
|
||||
|
@ -39,7 +39,7 @@
|
|||
#endif
|
||||
#elif defined(STM32F4)
|
||||
#define UARTDEV_COUNT_MAX 6
|
||||
#define UARTHARDWARE_PINPAIR_COUNT 4
|
||||
#define UARTHARDWARE_MAX_PINS 4
|
||||
#ifndef UART_RX_BUFFER_SIZE
|
||||
#define UART_RX_BUFFER_SIZE 512
|
||||
#endif
|
||||
|
@ -48,7 +48,7 @@
|
|||
#endif
|
||||
#elif defined(STM32F7)
|
||||
#define UARTDEV_COUNT_MAX 8
|
||||
#define UARTHARDWARE_PINPAIR_COUNT 3
|
||||
#define UARTHARDWARE_MAX_PINS 3
|
||||
#ifndef UART_RX_BUFFER_SIZE
|
||||
#define UART_RX_BUFFER_SIZE 512
|
||||
#endif
|
||||
|
@ -111,11 +111,6 @@
|
|||
|
||||
#define UARTDEV_COUNT (UARTDEV_COUNT_1 + UARTDEV_COUNT_2 + UARTDEV_COUNT_3 + UARTDEV_COUNT_4 + UARTDEV_COUNT_5 + UARTDEV_COUNT_6 + UARTDEV_COUNT_7 + UARTDEV_COUNT_8)
|
||||
|
||||
typedef struct uartPinPair_s {
|
||||
ioTag_t rx;
|
||||
ioTag_t tx;
|
||||
} uartPinPair_t;
|
||||
|
||||
typedef struct uartHardware_s {
|
||||
UARTDevice device; // XXX Not required for full allocation
|
||||
USART_TypeDef* reg;
|
||||
|
@ -127,7 +122,8 @@ typedef struct uartHardware_s {
|
|||
DMA_Stream_TypeDef *txDMAStream;
|
||||
DMA_Stream_TypeDef *rxDMAStream;
|
||||
#endif
|
||||
uartPinPair_t pinPair[UARTHARDWARE_PINPAIR_COUNT];
|
||||
ioTag_t rxPins[UARTHARDWARE_MAX_PINS];
|
||||
ioTag_t txPins[UARTHARDWARE_MAX_PINS];
|
||||
#if defined(STM32F7)
|
||||
uint32_t rcc_ahb1;
|
||||
rccPeriphTag_t rcc_apb2;
|
||||
|
|
|
@ -42,33 +42,6 @@
|
|||
#include "drivers/serial_uart.h"
|
||||
#include "drivers/serial_uart_impl.h"
|
||||
|
||||
uartDevice_t uartDevice[UARTDEV_COUNT]; // Only those configured in target.h
|
||||
uartDevice_t *uartDevmap[UARTDEV_COUNT_MAX]; // Full array
|
||||
|
||||
void uartPinConfigure(const serialPinConfig_t *pSerialPinConfig)
|
||||
{
|
||||
uartDevice_t *uartdev = uartDevice;
|
||||
|
||||
for (size_t hindex = 0; hindex < UARTDEV_COUNT_MAX; hindex++) {
|
||||
|
||||
const uartHardware_t *hardware = &uartHardware[hindex];
|
||||
UARTDevice device = hardware->device;
|
||||
|
||||
for (int pair = 0 ; pair < UARTHARDWARE_PINPAIR_COUNT ; pair++) {
|
||||
if (hardware->pinPair[pair].rx == pSerialPinConfig->ioTagRx[device]
|
||||
&& hardware->pinPair[pair].tx == pSerialPinConfig->ioTagTx[device]) {
|
||||
// Matching pin pair found
|
||||
|
||||
uartdev->hardware = hardware;
|
||||
uartdev->rx = hardware->pinPair[pair].rx;
|
||||
uartdev->tx = hardware->pinPair[pair].tx;
|
||||
uartDevmap[device] = uartdev++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void usartConfigurePinInversion(uartPort_t *uartPort) {
|
||||
#if !defined(USE_INVERTER) && !defined(STM32F303xC)
|
||||
UNUSED(uartPort);
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* This file is part of Cleanflight.
|
||||
*
|
||||
* Cleanflight is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Cleanflight is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Cleanflight. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* UART pin configuration common to all MCUs.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Authors:
|
||||
* jflyper - Created as a part of configurable UART/refactoring.
|
||||
*/
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "platform.h"
|
||||
|
||||
#include "build/build_config.h"
|
||||
|
||||
#include "drivers/rcc.h"
|
||||
#include "drivers/serial.h"
|
||||
#include "drivers/serial_uart.h"
|
||||
#include "drivers/serial_uart_impl.h"
|
||||
|
||||
uartDevice_t uartDevice[UARTDEV_COUNT]; // Only those configured in target.h
|
||||
uartDevice_t *uartDevmap[UARTDEV_COUNT_MAX]; // Full array
|
||||
|
||||
void uartPinConfigure(const serialPinConfig_t *pSerialPinConfig)
|
||||
{
|
||||
uartDevice_t *uartdev = uartDevice;
|
||||
|
||||
for (size_t hindex = 0; hindex < UARTDEV_COUNT_MAX; hindex++) {
|
||||
|
||||
const uartHardware_t *hardware = &uartHardware[hindex];
|
||||
UARTDevice device = hardware->device;
|
||||
|
||||
for (int pindex = 0 ; pindex < UARTHARDWARE_MAX_PINS ; pindex++) {
|
||||
if (hardware->rxPins[pindex] && (hardware->rxPins[pindex] == pSerialPinConfig->ioTagRx[device]))
|
||||
uartdev->rx = pSerialPinConfig->ioTagRx[device];
|
||||
|
||||
if (hardware->txPins[pindex] && (hardware->txPins[pindex] == pSerialPinConfig->ioTagTx[device]))
|
||||
uartdev->tx = pSerialPinConfig->ioTagTx[device];
|
||||
}
|
||||
|
||||
if (uartdev->rx || uartdev->tx) {
|
||||
uartdev->hardware = hardware;
|
||||
uartDevmap[device] = uartdev++;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -64,10 +64,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.reg = USART1,
|
||||
.rxDMAChannel = UART1_RX_DMA_CHANNEL,
|
||||
.txDMAChannel = UART1_TX_DMA_CHANNEL,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PA10), DEFIO_TAG_E(PA9) },
|
||||
{ DEFIO_TAG_E(PB7), DEFIO_TAG_E(PB6) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PA10), DEFIO_TAG_E(PB7), IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PA9), DEFIO_TAG_E(PB6), IO_TAG_NONE },
|
||||
//.af = GPIO_AF_USART1,
|
||||
.rcc = RCC_APB2(USART1),
|
||||
.irqn = USART1_IRQn,
|
||||
|
@ -81,10 +79,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.reg = USART2,
|
||||
.rxDMAChannel = UART2_RX_DMA_CHANNEL,
|
||||
.txDMAChannel = UART2_TX_DMA_CHANNEL,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PA3), DEFIO_TAG_E(PA2) },
|
||||
{ DEFIO_TAG_E(PD6), DEFIO_TAG_E(PD5) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PA3), DEFIO_TAG_E(PD6), IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PA2), DEFIO_TAG_E(PD5), IO_TAG_NONE },
|
||||
//.af = GPIO_AF_USART2,
|
||||
.rcc = RCC_APB1(USART2),
|
||||
.irqn = USART2_IRQn,
|
||||
|
@ -98,11 +94,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.reg = USART3,
|
||||
.rxDMAChannel = UART3_RX_DMA_CHANNEL,
|
||||
.txDMAChannel = UART3_TX_DMA_CHANNEL,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PB11), DEFIO_TAG_E(PB10) },
|
||||
{ DEFIO_TAG_E(PD9), DEFIO_TAG_E(PD8) },
|
||||
{ DEFIO_TAG_E(PC11), DEFIO_TAG_E(PC10) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PB11), DEFIO_TAG_E(PD9), DEFIO_TAG_E(PC11) },
|
||||
.txPins = { DEFIO_TAG_E(PB10), DEFIO_TAG_E(PD8), DEFIO_TAG_E(PC10) },
|
||||
//.af = GPIO_AF_USART3,
|
||||
.rcc = RCC_APB1(USART3),
|
||||
.irqn = USART3_IRQn,
|
||||
|
|
|
@ -87,12 +87,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.reg = USART1,
|
||||
.rxDMAChannel = UART1_RX_DMA,
|
||||
.txDMAChannel = UART1_TX_DMA,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PA10), DEFIO_TAG_E(PA9) },
|
||||
{ DEFIO_TAG_E(PB7), DEFIO_TAG_E(PB6) },
|
||||
{ DEFIO_TAG_E(PC5), DEFIO_TAG_E(PC4) },
|
||||
{ DEFIO_TAG_E(PE1), DEFIO_TAG_E(PE0) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PA10), DEFIO_TAG_E(PB7), DEFIO_TAG_E(PC5), DEFIO_TAG_E(PE1) },
|
||||
.txPins = { DEFIO_TAG_E(PA9), DEFIO_TAG_E(PB6), DEFIO_TAG_E(PC4), DEFIO_TAG_E(PE0) },
|
||||
.rcc = RCC_APB2(USART1),
|
||||
.af = GPIO_AF_7,
|
||||
.irqn = USART1_IRQn,
|
||||
|
@ -107,12 +103,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.reg = USART2,
|
||||
.rxDMAChannel = UART2_RX_DMA,
|
||||
.txDMAChannel = UART2_TX_DMA,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PA15), DEFIO_TAG_E(PA14) },
|
||||
{ DEFIO_TAG_E(PA3), DEFIO_TAG_E(PA2) },
|
||||
{ DEFIO_TAG_E(PB4), DEFIO_TAG_E(PB3) },
|
||||
{ DEFIO_TAG_E(PD6), DEFIO_TAG_E(PD5) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PA15), DEFIO_TAG_E(PA3), DEFIO_TAG_E(PB4), DEFIO_TAG_E(PD6) },
|
||||
.txPins = { DEFIO_TAG_E(PA14), DEFIO_TAG_E(PA2), DEFIO_TAG_E(PB3), DEFIO_TAG_E(PD5) },
|
||||
.rcc = RCC_APB1(USART2),
|
||||
.af = GPIO_AF_7,
|
||||
.irqn = USART2_IRQn,
|
||||
|
@ -127,11 +119,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.reg = USART3,
|
||||
.rxDMAChannel = UART3_RX_DMA,
|
||||
.txDMAChannel = UART3_TX_DMA,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PB11), DEFIO_TAG_E(PB10) },
|
||||
{ DEFIO_TAG_E(PC11), DEFIO_TAG_E(PC10) },
|
||||
{ DEFIO_TAG_E(PD9), DEFIO_TAG_E(PD8) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PB11), DEFIO_TAG_E(PC11), DEFIO_TAG_E(PD9), IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PB10), DEFIO_TAG_E(PC10), DEFIO_TAG_E(PD8), IO_TAG_NONE },
|
||||
.rcc = RCC_APB1(USART3),
|
||||
.af = GPIO_AF_7,
|
||||
.irqn = USART3_IRQn,
|
||||
|
@ -147,9 +136,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.reg = UART4,
|
||||
.rxDMAChannel = 0, // XXX UART4_RX_DMA !?
|
||||
.txDMAChannel = 0, // XXX UART4_TX_DMA !?
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PC11), DEFIO_TAG_E(PC10) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PC11), IO_TAG_NONE, IO_TAG_NONE, IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PC10), IO_TAG_NONE, IO_TAG_NONE, IO_TAG_NONE },
|
||||
.rcc = RCC_APB1(UART4),
|
||||
.af = GPIO_AF_5,
|
||||
.irqn = UART4_IRQn,
|
||||
|
@ -165,9 +153,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.reg = UART5,
|
||||
.rxDMAChannel = 0,
|
||||
.txDMAChannel = 0,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PD2), DEFIO_TAG_E(PC12) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PD2), IO_TAG_NONE, IO_TAG_NONE, IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PC12), IO_TAG_NONE, IO_TAG_NONE, IO_TAG_NONE },
|
||||
.rcc = RCC_APB1(UART5),
|
||||
.af = GPIO_AF_5,
|
||||
.irqn = UART5_IRQn,
|
||||
|
|
|
@ -48,10 +48,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
#ifdef USE_UART1_TX_DMA
|
||||
.txDMAStream = DMA2_Stream7,
|
||||
#endif
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PA10), DEFIO_TAG_E(PA9) },
|
||||
{ DEFIO_TAG_E(PB7), DEFIO_TAG_E(PB6) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PA10), DEFIO_TAG_E(PB7), IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PA9), DEFIO_TAG_E(PB6), IO_TAG_NONE },
|
||||
.af = GPIO_AF_USART1,
|
||||
.rcc = RCC_APB2(USART1),
|
||||
.irqn = USART1_IRQn,
|
||||
|
@ -71,10 +69,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
#ifdef USE_UART2_TX_DMA
|
||||
.txDMAStream = DMA1_Stream6,
|
||||
#endif
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PA3), DEFIO_TAG_E(PA2) },
|
||||
{ DEFIO_TAG_E(PD6), DEFIO_TAG_E(PD5) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PA3), DEFIO_TAG_E(PD6), IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PA2), DEFIO_TAG_E(PD5), IO_TAG_NONE },
|
||||
.af = GPIO_AF_USART2,
|
||||
.rcc = RCC_APB1(USART2),
|
||||
.irqn = USART2_IRQn,
|
||||
|
@ -94,11 +90,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
#ifdef USE_UART3_TX_DMA
|
||||
.txDMAStream = DMA1_Stream3,
|
||||
#endif
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PB11), DEFIO_TAG_E(PB10) },
|
||||
{ DEFIO_TAG_E(PC11), DEFIO_TAG_E(PC10) },
|
||||
{ DEFIO_TAG_E(PD9), DEFIO_TAG_E(PD8) }
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PB11), DEFIO_TAG_E(PC11), DEFIO_TAG_E(PD9) },
|
||||
.txPins = { DEFIO_TAG_E(PB10), DEFIO_TAG_E(PC10), DEFIO_TAG_E(PD8) },
|
||||
.af = GPIO_AF_USART3,
|
||||
.rcc = RCC_APB1(USART3),
|
||||
.irqn = USART3_IRQn,
|
||||
|
@ -118,10 +111,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
#ifdef USE_UART4_TX_DMA
|
||||
.txDMAStream = DMA1_Stream4,
|
||||
#endif
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PA1), DEFIO_TAG_E(PA0) },
|
||||
{ DEFIO_TAG_E(PC11), DEFIO_TAG_E(PC10) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PA1), DEFIO_TAG_E(PC11), IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PA0), DEFIO_TAG_E(PC10), IO_TAG_NONE },
|
||||
.af = GPIO_AF_UART4,
|
||||
.rcc = RCC_APB1(UART4),
|
||||
.irqn = UART4_IRQn,
|
||||
|
@ -141,9 +132,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
#ifdef USE_UART5_TX_DMA
|
||||
.txDMAStream = DMA1_Stream7,
|
||||
#endif
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PD2), DEFIO_TAG_E(PC12) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PD2), IO_TAG_NONE, IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PC12), IO_TAG_NONE, IO_TAG_NONE },
|
||||
.af = GPIO_AF_UART5,
|
||||
.rcc = RCC_APB1(UART5),
|
||||
.irqn = UART5_IRQn,
|
||||
|
@ -163,10 +153,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
#ifdef USE_UART6_TX_DMA
|
||||
.txDMAStream = DMA2_Stream6,
|
||||
#endif
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PC7), DEFIO_TAG_E(PC6) },
|
||||
{ DEFIO_TAG_E(PG9), DEFIO_TAG_E(PG14) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PC7), DEFIO_TAG_E(PG9), IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PC6), DEFIO_TAG_E(PG14), IO_TAG_NONE },
|
||||
.af = GPIO_AF_USART6,
|
||||
.rcc = RCC_APB2(USART6),
|
||||
.irqn = USART6_IRQn,
|
||||
|
|
|
@ -48,10 +48,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.rxDMAStream = DMA2_Stream5,
|
||||
#endif
|
||||
.txDMAStream = DMA2_Stream7,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PA10), DEFIO_TAG_E(PA9) },
|
||||
{ DEFIO_TAG_E(PB7), DEFIO_TAG_E(PB6) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PA10), DEFIO_TAG_E(PB7), IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PA9), DEFIO_TAG_E(PB6), IO_TAG_NONE },
|
||||
.af = GPIO_AF7_USART1,
|
||||
#ifdef UART1_AHB1_PERIPHERALS
|
||||
.rcc_ahb1 = UART1_AHB1_PERIPHERALS,
|
||||
|
@ -73,10 +71,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.rxDMAStream = DMA1_Stream5,
|
||||
#endif
|
||||
.txDMAStream = DMA1_Stream6,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PA3), DEFIO_TAG_E(PA2) },
|
||||
{ DEFIO_TAG_E(PD6), DEFIO_TAG_E(PD5) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PA3), DEFIO_TAG_E(PD6), IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PA2), DEFIO_TAG_E(PD5), IO_TAG_NONE },
|
||||
.af = GPIO_AF7_USART2,
|
||||
#ifdef UART2_AHB1_PERIPHERALS
|
||||
.rcc_ahb1 = UART2_AHB1_PERIPHERALS,
|
||||
|
@ -98,11 +94,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.rxDMAStream = DMA1_Stream1,
|
||||
#endif
|
||||
.txDMAStream = DMA1_Stream3,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PB11), DEFIO_TAG_E(PB10) },
|
||||
{ DEFIO_TAG_E(PC11), DEFIO_TAG_E(PC10) },
|
||||
{ DEFIO_TAG_E(PD9), DEFIO_TAG_E(PD8) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PB11), DEFIO_TAG_E(PC11), DEFIO_TAG_E(PD9) },
|
||||
.txPins = { DEFIO_TAG_E(PB10), DEFIO_TAG_E(PC10), DEFIO_TAG_E(PD8) },
|
||||
.af = GPIO_AF7_USART3,
|
||||
#ifdef UART3_AHB1_PERIPHERALS
|
||||
.rcc_ahb1 = UART3_AHB1_PERIPHERALS,
|
||||
|
@ -124,10 +117,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.rxDMAStream = DMA1_Stream2,
|
||||
#endif
|
||||
.txDMAStream = DMA1_Stream4,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PA1), DEFIO_TAG_E(PA0) },
|
||||
{ DEFIO_TAG_E(PC11), DEFIO_TAG_E(PC10) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PA1), DEFIO_TAG_E(PC11), IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PA0), DEFIO_TAG_E(PC10), IO_TAG_NONE },
|
||||
.af = GPIO_AF8_UART4,
|
||||
#ifdef UART4_AHB1_PERIPHERALS
|
||||
.rcc_ahb1 = UART4_AHB1_PERIPHERALS,
|
||||
|
@ -149,9 +140,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.rxDMAStream = DMA1_Stream0,
|
||||
#endif
|
||||
.txDMAStream = DMA1_Stream7,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PD2), DEFIO_TAG_E(PC12) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PD2), IO_TAG_NONE, IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PC12), IO_TAG_NONE, IO_TAG_NONE },
|
||||
.af = GPIO_AF8_UART5,
|
||||
#ifdef UART5_AHB1_PERIPHERALS
|
||||
.rcc_ahb1 = UART5_AHB1_PERIPHERALS,
|
||||
|
@ -173,10 +163,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.rxDMAStream = DMA2_Stream1,
|
||||
#endif
|
||||
.txDMAStream = DMA2_Stream6,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PC7), DEFIO_TAG_E(PC6) },
|
||||
{ DEFIO_TAG_E(PG9), DEFIO_TAG_E(PG14) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PC7), DEFIO_TAG_E(PG9), IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PC6), DEFIO_TAG_E(PG14), IO_TAG_NONE },
|
||||
.af = GPIO_AF8_USART6,
|
||||
#ifdef UART6_AHB1_PERIPHERALS
|
||||
.rcc_ahb1 = UART6_AHB1_PERIPHERALS,
|
||||
|
@ -198,10 +186,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.rxDMAStream = DMA1_Stream3,
|
||||
#endif
|
||||
.txDMAStream = DMA1_Stream1,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PE7), DEFIO_TAG_E(PE8) },
|
||||
{ DEFIO_TAG_E(PF6), DEFIO_TAG_E(PF7) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PE7), DEFIO_TAG_E(PF6), IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PE8), DEFIO_TAG_E(PF7), IO_TAG_NONE },
|
||||
.af = GPIO_AF8_UART7,
|
||||
#ifdef UART7_AHB1_PERIPHERALS
|
||||
.rcc_ahb1 = UART7_AHB1_PERIPHERALS,
|
||||
|
@ -223,9 +209,8 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
|
|||
.rxDMAStream = DMA1_Stream6,
|
||||
#endif
|
||||
.txDMAStream = DMA1_Stream0,
|
||||
.pinPair = {
|
||||
{ DEFIO_TAG_E(PE0), DEFIO_TAG_E(PE1) },
|
||||
},
|
||||
.rxPins = { DEFIO_TAG_E(PE0), IO_TAG_NONE, IO_TAG_NONE },
|
||||
.txPins = { DEFIO_TAG_E(PE1), IO_TAG_NONE, IO_TAG_NONE },
|
||||
.af = GPIO_AF8_UART8,
|
||||
#ifdef UART8_AHB1_PERIPHERALS
|
||||
.rcc_ahb1 = UART8_AHB1_PERIPHERALS,
|
||||
|
|
|
@ -281,7 +281,7 @@ void init(void)
|
|||
busSwitchInit();
|
||||
#endif
|
||||
|
||||
#ifdef USE_UART
|
||||
#if defined(USE_UART) && !defined(SITL)
|
||||
uartPinConfigure(serialPinConfig());
|
||||
#endif
|
||||
|
||||
|
@ -342,7 +342,7 @@ void init(void)
|
|||
beeperInit(beeperDevConfig());
|
||||
#endif
|
||||
/* temp until PGs are implemented. */
|
||||
#ifdef USE_INVERTER
|
||||
#if defined(USE_INVERTER) && !defined(SITL)
|
||||
initInverters(serialPinConfig());
|
||||
#endif
|
||||
|
||||
|
|
|
@ -151,5 +151,6 @@
|
|||
#define TARGET_IO_PORTD 0xffff
|
||||
#define TARGET_IO_PORTE 0xffff
|
||||
#define TARGET_IO_PORTF 0xffff
|
||||
#define TARGET_IO_PORTG 0xffff
|
||||
|
||||
#define USED_TIMERS ( TIM_N(2) | TIM_N(3) | TIM_N(4) | TIM_N(5) | TIM_N(12) | TIM_N(8) | TIM_N(9) | TIM_N(10) | TIM_N(11))
|
||||
|
|
|
@ -59,14 +59,14 @@
|
|||
|
||||
#define USABLE_TIMER_CHANNEL_COUNT 0
|
||||
|
||||
//#define USE_UART1
|
||||
//#define USE_UART2
|
||||
//#define USE_UART3
|
||||
//#define USE_UART4
|
||||
//#define USE_UART5
|
||||
//#define USE_UART6
|
||||
//#define USE_UART7
|
||||
//#define USE_UART8
|
||||
#define USE_UART1
|
||||
#define USE_UART2
|
||||
#define USE_UART3
|
||||
#define USE_UART4
|
||||
#define USE_UART5
|
||||
#define USE_UART6
|
||||
#define USE_UART7
|
||||
#define USE_UART8
|
||||
|
||||
//#define USE_SOFTSERIAL1
|
||||
//#define USE_SOFTSERIAL2
|
||||
|
|
Loading…
Reference in New Issue