mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-01-29 14:52:12 +01:00
usart: make CC USART ports compile-time configurable
TODO: This should be dynamic in the future. But for now define any compatile combination of: USE_I2C (shared with USART3) USE_TELEMETRY USE_GPS USE_SPEKTRUM USE_SBUS (USART1 only, it needs an invertor) and optionally define PIOS_PORT_* to USART port numbers Defaults are: #define PIOS_PORT_TELEMETRY 1 #define PIOS_PORT_GPS 3 #define PIOS_PORT_SPEKTRUM 3 #define PIOS_PORT_SBUS 1 #define USE_TELEMETRY #define USE_GPS Telemetry, GPS and PWM input are enabled by default.
This commit is contained in:
parent
d8201ec45b
commit
50e819192b
@ -30,11 +30,9 @@
|
|||||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifndef PIOS_CONFIG_H
|
#ifndef PIOS_CONFIG_H
|
||||||
#define PIOS_CONFIG_H
|
#define PIOS_CONFIG_H
|
||||||
|
|
||||||
|
|
||||||
/* Enable/Disable PiOS Modules */
|
/* Enable/Disable PiOS Modules */
|
||||||
#define PIOS_INCLUDE_ADC
|
#define PIOS_INCLUDE_ADC
|
||||||
#define PIOS_INCLUDE_DELAY
|
#define PIOS_INCLUDE_DELAY
|
||||||
@ -45,17 +43,146 @@
|
|||||||
#define PIOS_INCLUDE_IRQ
|
#define PIOS_INCLUDE_IRQ
|
||||||
#define PIOS_INCLUDE_LED
|
#define PIOS_INCLUDE_LED
|
||||||
|
|
||||||
#if defined(USE_SPEKTRUM)
|
/*
|
||||||
#define PIOS_INCLUDE_SPEKTRUM
|
* Serial port configuration.
|
||||||
#elif defined(USE_SBUS)
|
* TODO: This should be dynamic in the future.
|
||||||
#define PIOS_INCLUDE_SBUS
|
* But for now define any compatile combination of:
|
||||||
|
* USE_I2C (shared with USART3)
|
||||||
|
* USE_TELEMETRY
|
||||||
|
* USE_GPS
|
||||||
|
* USE_SPEKTRUM
|
||||||
|
* USE_SBUS (USART1 only, it needs an invertor)
|
||||||
|
* and optionally define PIOS_PORT_* to USART port numbers
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Current defaults */
|
||||||
|
#define USE_TELEMETRY
|
||||||
|
#define USE_GPS
|
||||||
|
|
||||||
|
/* Serial telemetry: USART1 or USART3 */
|
||||||
|
#if !defined(PIOS_PORT_TELEMETRY)
|
||||||
|
#define PIOS_PORT_TELEMETRY 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* GPS receiver: USART1 or USART3 */
|
||||||
|
#if !defined(PIOS_PORT_GPS)
|
||||||
|
#define PIOS_PORT_GPS 3
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Spektrum satellite receiver: USART1 or USART3 */
|
||||||
|
#if !defined(PIOS_PORT_SPEKTRUM)
|
||||||
|
#define PIOS_PORT_SPEKTRUM 3
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Futaba S.Bus receiver: USART1 only (needs invertor) */
|
||||||
|
#if !defined(PIOS_PORT_SBUS)
|
||||||
|
#define PIOS_PORT_SBUS 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Define USART ports and check for conflicts.
|
||||||
|
* Make sure it does not conflict with each other and with I2C.
|
||||||
|
*/
|
||||||
|
#define USART_GPIO(port) (((port) == 1) ? GPIOA : GPIOB)
|
||||||
|
#define USART_RXIO(port) (((port) == 1) ? GPIO_Pin_10 : GPIO_Pin_11)
|
||||||
|
#define USART_TXIO(port) (((port) == 1) ? GPIO_Pin_9 : GPIO_Pin_10)
|
||||||
|
|
||||||
|
#if defined(USE_TELEMETRY)
|
||||||
|
#if defined(USE_I2C) && (PIOS_PORT_TELEMETRY == 3)
|
||||||
|
#error defined(USE_I2C) && (PIOS_PORT_TELEMETRY == 3)
|
||||||
|
#endif
|
||||||
|
#if (PIOS_PORT_TELEMETRY == 1)
|
||||||
|
#define PIOS_USART_TELEMETRY USART1
|
||||||
|
#define PIOS_IRQH_TELEMETRY USART1_IRQHandler
|
||||||
|
#define PIOS_IRQC_TELEMETRY USART1_IRQn
|
||||||
#else
|
#else
|
||||||
|
#define PIOS_USART_TELEMETRY USART3
|
||||||
|
#define PIOS_IRQH_TELEMETRY USART3_IRQHandler
|
||||||
|
#define PIOS_IRQC_TELEMETRY USART3_IRQn
|
||||||
|
#endif
|
||||||
|
#define PIOS_GPIO_TELEMETRY USART_GPIO(PIOS_PORT_TELEMETRY)
|
||||||
|
#define PIOS_RXIO_TELEMETRY USART_RXIO(PIOS_PORT_TELEMETRY)
|
||||||
|
#define PIOS_TXIO_TELEMETRY USART_TXIO(PIOS_PORT_TELEMETRY)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(USE_GPS)
|
||||||
|
#if defined(USE_I2C) && (PIOS_PORT_GPS == 3)
|
||||||
|
#error defined(USE_I2C) && (PIOS_PORT_GPS == 3)
|
||||||
|
#endif
|
||||||
|
#if defined(USE_TELEMETRY) && (PIOS_PORT_TELEMETRY == PIOS_PORT_GPS)
|
||||||
|
#error defined(USE_TELEMETRY) && (PIOS_PORT_TELEMETRY == PIOS_PORT_GPS)
|
||||||
|
#endif
|
||||||
|
#if (PIOS_PORT_GPS == 1)
|
||||||
|
#define PIOS_USART_GPS USART1
|
||||||
|
#define PIOS_IRQH_GPS USART1_IRQHandler
|
||||||
|
#define PIOS_IRQC_GPS USART1_IRQn
|
||||||
|
#else
|
||||||
|
#define PIOS_USART_GPS USART3
|
||||||
|
#define PIOS_IRQH_GPS USART3_IRQHandler
|
||||||
|
#define PIOS_IRQC_GPS USART3_IRQn
|
||||||
|
#endif
|
||||||
|
#define PIOS_GPIO_GPS USART_GPIO(PIOS_PORT_GPS)
|
||||||
|
#define PIOS_RXIO_GPS USART_RXIO(PIOS_PORT_GPS)
|
||||||
|
#define PIOS_TXIO_GPS USART_TXIO(PIOS_PORT_GPS)
|
||||||
#define PIOS_INCLUDE_GPS
|
#define PIOS_INCLUDE_GPS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(USE_SPEKTRUM)
|
||||||
|
#if defined(USE_I2C) && (PIOS_PORT_SPEKTRUM == 3)
|
||||||
|
#error defined(USE_I2C) && (PIOS_PORT_SPEKTRUM == 3)
|
||||||
|
#endif
|
||||||
|
#if defined(USE_TELEMETRY) && (PIOS_PORT_SPEKTRUM == PIOS_PORT_TELEMETRY)
|
||||||
|
#error defined(USE_TELEMETRY) && (PIOS_PORT_SPEKTRUM == PIOS_PORT_TELEMETRY)
|
||||||
|
#endif
|
||||||
|
#if defined(USE_GPS) && (PIOS_PORT_SPEKTRUM == PIOS_PORT_GPS)
|
||||||
|
#error defined(USE_GPS) && (PIOS_PORT_SPEKTRUM == PIOS_PORT_GPS)
|
||||||
|
#endif
|
||||||
|
#if defined(USE_SBUS)
|
||||||
|
#error defined(USE_SPEKTRUM) && defined(USE_SBUS)
|
||||||
|
#endif
|
||||||
|
#if (PIOS_PORT_SPEKTRUM == 1)
|
||||||
|
#define PIOS_USART_SPEKTRUM USART1
|
||||||
|
#define PIOS_IRQH_SPEKTRUM USART1_IRQHandler
|
||||||
|
#define PIOS_IRQC_SPEKTRUM USART1_IRQn
|
||||||
|
#else
|
||||||
|
#define PIOS_USART_SPEKTRUM USART3
|
||||||
|
#define PIOS_IRQH_SPEKTRUM USART3_IRQHandler
|
||||||
|
#define PIOS_IRQC_SPEKTRUM USART3_IRQn
|
||||||
|
#endif
|
||||||
|
#define PIOS_GPIO_SPEKTRUM USART_GPIO(PIOS_PORT_SPEKTRUM)
|
||||||
|
#define PIOS_RXIO_SPEKTRUM USART_RXIO(PIOS_PORT_SPEKTRUM)
|
||||||
|
#define PIOS_TXIO_SPEKTRUM USART_TXIO(PIOS_PORT_SPEKTRUM)
|
||||||
|
#define PIOS_INCLUDE_SPEKTRUM
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(USE_SBUS)
|
||||||
|
#if (PIOS_PORT_SBUS != 1)
|
||||||
|
#error (PIOS_PORT_SBUS != 1)
|
||||||
|
#endif
|
||||||
|
#if defined(USE_TELEMETRY) && (PIOS_PORT_SBUS == PIOS_PORT_TELEMETRY)
|
||||||
|
#error defined(USE_TELEMETRY) && (PIOS_PORT_SBUS == PIOS_PORT_TELEMETRY)
|
||||||
|
#endif
|
||||||
|
#if defined(USE_GPS) && (PIOS_PORT_SBUS == PIOS_PORT_GPS)
|
||||||
|
#error defined(USE_GPS) && (PIOS_PORT_SBUS == PIOS_PORT_GPS)
|
||||||
|
#endif
|
||||||
|
#if defined(USE_SPEKTRUM)
|
||||||
|
#error defined(USE_SPEKTRUM) && defined(USE_SBUS)
|
||||||
|
#endif
|
||||||
|
#define PIOS_USART_SBUS USART1
|
||||||
|
#define PIOS_IRQH_SBUS USART1_IRQHandler
|
||||||
|
#define PIOS_IRQC_SBUS USART1_IRQn
|
||||||
|
#define PIOS_GPIO_SBUS USART_GPIO(PIOS_PORT_SBUS)
|
||||||
|
#define PIOS_RXIO_SBUS USART_RXIO(PIOS_PORT_SBUS)
|
||||||
|
#define PIOS_TXIO_SBUS USART_TXIO(PIOS_PORT_SBUS)
|
||||||
|
#define PIOS_INCLUDE_SBUS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Receiver interfaces - only one allowed */
|
||||||
|
#if !defined(USE_SPEKTRUM) && !defined(USE_SBUS)
|
||||||
//#define PIOS_INCLUDE_PPM
|
//#define PIOS_INCLUDE_PPM
|
||||||
#define PIOS_INCLUDE_PWM
|
#define PIOS_INCLUDE_PWM
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define PIOS_INCLUDE_SERVO
|
#define PIOS_INCLUDE_SERVO
|
||||||
#define PIOS_INCLUDE_SPI
|
#define PIOS_INCLUDE_SPI
|
||||||
#define PIOS_INCLUDE_SYS
|
#define PIOS_INCLUDE_SYS
|
||||||
|
@ -204,9 +204,9 @@ void PIOS_ADC_handler() {
|
|||||||
* Telemetry USART
|
* Telemetry USART
|
||||||
*/
|
*/
|
||||||
void PIOS_USART_telem_irq_handler(void);
|
void PIOS_USART_telem_irq_handler(void);
|
||||||
void USART1_IRQHandler() __attribute__ ((alias ("PIOS_USART_telem_irq_handler")));
|
void PIOS_IRQH_TELEMETRY() __attribute__ ((alias ("PIOS_USART_telem_irq_handler")));
|
||||||
const struct pios_usart_cfg pios_usart_telem_cfg = {
|
const struct pios_usart_cfg pios_usart_telem_cfg = {
|
||||||
.regs = USART1,
|
.regs = PIOS_USART_TELEMETRY,
|
||||||
.init = {
|
.init = {
|
||||||
#if defined (PIOS_COM_TELEM_BAUDRATE)
|
#if defined (PIOS_COM_TELEM_BAUDRATE)
|
||||||
.USART_BaudRate = PIOS_COM_TELEM_BAUDRATE,
|
.USART_BaudRate = PIOS_COM_TELEM_BAUDRATE,
|
||||||
@ -222,24 +222,24 @@ const struct pios_usart_cfg pios_usart_telem_cfg = {
|
|||||||
.irq = {
|
.irq = {
|
||||||
.handler = PIOS_USART_telem_irq_handler,
|
.handler = PIOS_USART_telem_irq_handler,
|
||||||
.init = {
|
.init = {
|
||||||
.NVIC_IRQChannel = USART1_IRQn,
|
.NVIC_IRQChannel = PIOS_IRQC_TELEMETRY,
|
||||||
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_MID,
|
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_MID,
|
||||||
.NVIC_IRQChannelSubPriority = 0,
|
.NVIC_IRQChannelSubPriority = 0,
|
||||||
.NVIC_IRQChannelCmd = ENABLE,
|
.NVIC_IRQChannelCmd = ENABLE,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
.rx = {
|
.rx = {
|
||||||
.gpio = GPIOA,
|
.gpio = PIOS_GPIO_TELEMETRY,
|
||||||
.init = {
|
.init = {
|
||||||
.GPIO_Pin = GPIO_Pin_10,
|
.GPIO_Pin = PIOS_RXIO_TELEMETRY,
|
||||||
.GPIO_Speed = GPIO_Speed_2MHz,
|
.GPIO_Speed = GPIO_Speed_2MHz,
|
||||||
.GPIO_Mode = GPIO_Mode_IPU,
|
.GPIO_Mode = GPIO_Mode_IPU,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
.tx = {
|
.tx = {
|
||||||
.gpio = GPIOA,
|
.gpio = PIOS_GPIO_TELEMETRY,
|
||||||
.init = {
|
.init = {
|
||||||
.GPIO_Pin = GPIO_Pin_9,
|
.GPIO_Pin = PIOS_TXIO_TELEMETRY,
|
||||||
.GPIO_Speed = GPIO_Speed_2MHz,
|
.GPIO_Speed = GPIO_Speed_2MHz,
|
||||||
.GPIO_Mode = GPIO_Mode_AF_PP,
|
.GPIO_Mode = GPIO_Mode_AF_PP,
|
||||||
},
|
},
|
||||||
@ -251,9 +251,9 @@ const struct pios_usart_cfg pios_usart_telem_cfg = {
|
|||||||
* GPS USART
|
* GPS USART
|
||||||
*/
|
*/
|
||||||
void PIOS_USART_gps_irq_handler(void);
|
void PIOS_USART_gps_irq_handler(void);
|
||||||
void USART3_IRQHandler() __attribute__ ((alias ("PIOS_USART_gps_irq_handler")));
|
void PIOS_IRQH_GPS() __attribute__ ((alias ("PIOS_USART_gps_irq_handler")));
|
||||||
const struct pios_usart_cfg pios_usart_gps_cfg = {
|
const struct pios_usart_cfg pios_usart_gps_cfg = {
|
||||||
.regs = USART3,
|
.regs = PIOS_USART_GPS,
|
||||||
.init = {
|
.init = {
|
||||||
#if defined (PIOS_COM_GPS_BAUDRATE)
|
#if defined (PIOS_COM_GPS_BAUDRATE)
|
||||||
.USART_BaudRate = PIOS_COM_GPS_BAUDRATE,
|
.USART_BaudRate = PIOS_COM_GPS_BAUDRATE,
|
||||||
@ -269,24 +269,24 @@ const struct pios_usart_cfg pios_usart_gps_cfg = {
|
|||||||
.irq = {
|
.irq = {
|
||||||
.handler = PIOS_USART_gps_irq_handler,
|
.handler = PIOS_USART_gps_irq_handler,
|
||||||
.init = {
|
.init = {
|
||||||
.NVIC_IRQChannel = USART3_IRQn,
|
.NVIC_IRQChannel = PIOS_IRQC_GPS,
|
||||||
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_MID,
|
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_MID,
|
||||||
.NVIC_IRQChannelSubPriority = 0,
|
.NVIC_IRQChannelSubPriority = 0,
|
||||||
.NVIC_IRQChannelCmd = ENABLE,
|
.NVIC_IRQChannelCmd = ENABLE,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
.rx = {
|
.rx = {
|
||||||
.gpio = GPIOB,
|
.gpio = PIOS_GPIO_GPS,
|
||||||
.init = {
|
.init = {
|
||||||
.GPIO_Pin = GPIO_Pin_11,
|
.GPIO_Pin = PIOS_RXIO_GPS,
|
||||||
.GPIO_Speed = GPIO_Speed_2MHz,
|
.GPIO_Speed = GPIO_Speed_2MHz,
|
||||||
.GPIO_Mode = GPIO_Mode_IPU,
|
.GPIO_Mode = GPIO_Mode_IPU,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
.tx = {
|
.tx = {
|
||||||
.gpio = GPIOB,
|
.gpio = PIOS_GPIO_GPS,
|
||||||
.init = {
|
.init = {
|
||||||
.GPIO_Pin = GPIO_Pin_10,
|
.GPIO_Pin = PIOS_TXIO_GPS,
|
||||||
.GPIO_Speed = GPIO_Speed_2MHz,
|
.GPIO_Speed = GPIO_Speed_2MHz,
|
||||||
.GPIO_Mode = GPIO_Mode_AF_PP,
|
.GPIO_Mode = GPIO_Mode_AF_PP,
|
||||||
},
|
},
|
||||||
@ -299,9 +299,9 @@ const struct pios_usart_cfg pios_usart_gps_cfg = {
|
|||||||
* SPEKTRUM USART
|
* SPEKTRUM USART
|
||||||
*/
|
*/
|
||||||
void PIOS_USART_spektrum_irq_handler(void);
|
void PIOS_USART_spektrum_irq_handler(void);
|
||||||
void USART3_IRQHandler() __attribute__ ((alias ("PIOS_USART_spektrum_irq_handler")));
|
void PIOS_IRQH_SPEKTRUM() __attribute__ ((alias ("PIOS_USART_spektrum_irq_handler")));
|
||||||
const struct pios_usart_cfg pios_usart_spektrum_cfg = {
|
const struct pios_usart_cfg pios_usart_spektrum_cfg = {
|
||||||
.regs = USART3,
|
.regs = PIOS_USART_SPEKTRUM,
|
||||||
.init = {
|
.init = {
|
||||||
#if defined (PIOS_COM_SPEKTRUM_BAUDRATE)
|
#if defined (PIOS_COM_SPEKTRUM_BAUDRATE)
|
||||||
.USART_BaudRate = PIOS_COM_SPEKTRUM_BAUDRATE,
|
.USART_BaudRate = PIOS_COM_SPEKTRUM_BAUDRATE,
|
||||||
@ -317,24 +317,24 @@ const struct pios_usart_cfg pios_usart_spektrum_cfg = {
|
|||||||
.irq = {
|
.irq = {
|
||||||
.handler = PIOS_USART_spektrum_irq_handler,
|
.handler = PIOS_USART_spektrum_irq_handler,
|
||||||
.init = {
|
.init = {
|
||||||
.NVIC_IRQChannel = USART3_IRQn,
|
.NVIC_IRQChannel = PIOS_IRQC_SPEKTRUM,
|
||||||
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_HIGH,
|
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_HIGH,
|
||||||
.NVIC_IRQChannelSubPriority = 0,
|
.NVIC_IRQChannelSubPriority = 0,
|
||||||
.NVIC_IRQChannelCmd = ENABLE,
|
.NVIC_IRQChannelCmd = ENABLE,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
.rx = {
|
.rx = {
|
||||||
.gpio = GPIOB,
|
.gpio = PIOS_GPIO_SPEKTRUM,
|
||||||
.init = {
|
.init = {
|
||||||
.GPIO_Pin = GPIO_Pin_11,
|
.GPIO_Pin = PIOS_RXIO_SPEKTRUM,
|
||||||
.GPIO_Speed = GPIO_Speed_2MHz,
|
.GPIO_Speed = GPIO_Speed_2MHz,
|
||||||
.GPIO_Mode = GPIO_Mode_IPU,
|
.GPIO_Mode = GPIO_Mode_IPU,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
.tx = {
|
.tx = {
|
||||||
.gpio = GPIOB,
|
.gpio = PIOS_GPIO_SPEKTRUM,
|
||||||
.init = {
|
.init = {
|
||||||
.GPIO_Pin = GPIO_Pin_10,
|
.GPIO_Pin = PIOS_TXIO_SPEKTRUM,
|
||||||
.GPIO_Speed = GPIO_Speed_2MHz,
|
.GPIO_Speed = GPIO_Speed_2MHz,
|
||||||
.GPIO_Mode = GPIO_Mode_IN_FLOATING,
|
.GPIO_Mode = GPIO_Mode_IN_FLOATING,
|
||||||
},
|
},
|
||||||
@ -365,8 +365,8 @@ const struct pios_spektrum_cfg pios_spektrum_cfg = {
|
|||||||
.NVIC_IRQChannelCmd = ENABLE,
|
.NVIC_IRQChannelCmd = ENABLE,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
.port = GPIOB,
|
.port = PIOS_GPIO_SPEKTRUM,
|
||||||
.pin = GPIO_Pin_11,
|
.pin = PIOS_RXIO_SPEKTRUM,
|
||||||
};
|
};
|
||||||
|
|
||||||
void PIOS_SUPV_irq_handler() {
|
void PIOS_SUPV_irq_handler() {
|
||||||
@ -388,9 +388,9 @@ void PIOS_SUPV_irq_handler() {
|
|||||||
* SBUS USART
|
* SBUS USART
|
||||||
*/
|
*/
|
||||||
void PIOS_USART_sbus_irq_handler(void);
|
void PIOS_USART_sbus_irq_handler(void);
|
||||||
void USART3_IRQHandler() __attribute__ ((alias ("PIOS_USART_sbus_irq_handler")));
|
void PIOS_IRQH_SBUS() __attribute__ ((alias ("PIOS_USART_sbus_irq_handler")));
|
||||||
const struct pios_usart_cfg pios_usart_sbus_cfg = {
|
const struct pios_usart_cfg pios_usart_sbus_cfg = {
|
||||||
.regs = USART3,
|
.regs = PIOS_USART_SBUS,
|
||||||
.init = {
|
.init = {
|
||||||
#if defined (PIOS_COM_SBUS_BAUDRATE)
|
#if defined (PIOS_COM_SBUS_BAUDRATE)
|
||||||
.USART_BaudRate = PIOS_COM_SBUS_BAUDRATE,
|
.USART_BaudRate = PIOS_COM_SBUS_BAUDRATE,
|
||||||
@ -406,24 +406,24 @@ const struct pios_usart_cfg pios_usart_sbus_cfg = {
|
|||||||
.irq = {
|
.irq = {
|
||||||
.handler = PIOS_USART_sbus_irq_handler,
|
.handler = PIOS_USART_sbus_irq_handler,
|
||||||
.init = {
|
.init = {
|
||||||
.NVIC_IRQChannel = USART3_IRQn,
|
.NVIC_IRQChannel = PIOS_IRQC_SBUS,
|
||||||
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_HIGH,
|
.NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_HIGH,
|
||||||
.NVIC_IRQChannelSubPriority = 0,
|
.NVIC_IRQChannelSubPriority = 0,
|
||||||
.NVIC_IRQChannelCmd = ENABLE,
|
.NVIC_IRQChannelCmd = ENABLE,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
.rx = {
|
.rx = {
|
||||||
.gpio = GPIOB,
|
.gpio = PIOS_GPIO_SBUS,
|
||||||
.init = {
|
.init = {
|
||||||
.GPIO_Pin = GPIO_Pin_11,
|
.GPIO_Pin = PIOS_RXIO_SBUS,
|
||||||
.GPIO_Speed = GPIO_Speed_2MHz,
|
.GPIO_Speed = GPIO_Speed_2MHz,
|
||||||
.GPIO_Mode = GPIO_Mode_IPU,
|
.GPIO_Mode = GPIO_Mode_IPU,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
.tx = {
|
.tx = {
|
||||||
.gpio = GPIOB,
|
.gpio = PIOS_GPIO_SBUS,
|
||||||
.init = {
|
.init = {
|
||||||
.GPIO_Pin = GPIO_Pin_10,
|
.GPIO_Pin = PIOS_TXIO_SBUS,
|
||||||
.GPIO_Speed = GPIO_Speed_2MHz,
|
.GPIO_Speed = GPIO_Speed_2MHz,
|
||||||
.GPIO_Mode = GPIO_Mode_IN_FLOATING,
|
.GPIO_Mode = GPIO_Mode_IN_FLOATING,
|
||||||
},
|
},
|
||||||
@ -454,8 +454,8 @@ const struct pios_sbus_cfg pios_sbus_cfg = {
|
|||||||
.NVIC_IRQChannelCmd = ENABLE,
|
.NVIC_IRQChannelCmd = ENABLE,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
.port = GPIOB,
|
.port = PIOS_GPIO_SBUS,
|
||||||
.pin = GPIO_Pin_11,
|
.pin = PIOS_RXIO_SBUS,
|
||||||
};
|
};
|
||||||
|
|
||||||
void PIOS_SUPV_irq_handler() {
|
void PIOS_SUPV_irq_handler() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user