diff options
Diffstat (limited to 'drivers/chibios/serial_usart.h')
-rw-r--r-- | drivers/chibios/serial_usart.h | 40 |
1 files changed, 33 insertions, 7 deletions
diff --git a/drivers/chibios/serial_usart.h b/drivers/chibios/serial_usart.h index fee7b4d15..c64e15566 100644 --- a/drivers/chibios/serial_usart.h +++ b/drivers/chibios/serial_usart.h | |||
@@ -23,19 +23,45 @@ | |||
23 | #include <ch.h> | 23 | #include <ch.h> |
24 | #include <hal.h> | 24 | #include <hal.h> |
25 | 25 | ||
26 | #ifndef USART_CR1_M0 | 26 | #if !defined(SERIAL_USART_DRIVER) |
27 | # define SERIAL_USART_DRIVER SD1 | ||
28 | #endif | ||
29 | |||
30 | #if !defined(USE_GPIOV1) | ||
31 | /* The default PAL alternate modes are used to signal that the pins are used for USART. */ | ||
32 | # if !defined(SERIAL_USART_TX_PAL_MODE) | ||
33 | # define SERIAL_USART_TX_PAL_MODE 7 | ||
34 | # endif | ||
35 | # if !defined(SERIAL_USART_RX_PAL_MODE) | ||
36 | # define SERIAL_USART_RX_PAL_MODE 7 | ||
37 | # endif | ||
38 | #endif | ||
39 | |||
40 | #if defined(SOFT_SERIAL_PIN) | ||
41 | # define SERIAL_USART_TX_PIN SOFT_SERIAL_PIN | ||
42 | #endif | ||
43 | |||
44 | #if !defined(SERIAL_USART_TX_PIN) | ||
45 | # define SERIAL_USART_TX_PIN A9 | ||
46 | #endif | ||
47 | |||
48 | #if !defined(SERIAL_USART_RX_PIN) | ||
49 | # define SERIAL_USART_RX_PIN A10 | ||
50 | #endif | ||
51 | |||
52 | #if !defined(USART_CR1_M0) | ||
27 | # define USART_CR1_M0 USART_CR1_M // some platforms (f1xx) dont have this so | 53 | # define USART_CR1_M0 USART_CR1_M // some platforms (f1xx) dont have this so |
28 | #endif | 54 | #endif |
29 | 55 | ||
30 | #ifndef SERIAL_USART_CR1 | 56 | #if !defined(SERIAL_USART_CR1) |
31 | # define SERIAL_USART_CR1 (USART_CR1_PCE | USART_CR1_PS | USART_CR1_M0) // parity enable, odd parity, 9 bit length | 57 | # define SERIAL_USART_CR1 (USART_CR1_PCE | USART_CR1_PS | USART_CR1_M0) // parity enable, odd parity, 9 bit length |
32 | #endif | 58 | #endif |
33 | 59 | ||
34 | #ifndef SERIAL_USART_CR2 | 60 | #if !defined(SERIAL_USART_CR2) |
35 | # define SERIAL_USART_CR2 (USART_CR2_STOP_1) // 2 stop bits | 61 | # define SERIAL_USART_CR2 (USART_CR2_STOP_1) // 2 stop bits |
36 | #endif | 62 | #endif |
37 | 63 | ||
38 | #ifndef SERIAL_USART_CR3 | 64 | #if !defined(SERIAL_USART_CR3) |
39 | # define SERIAL_USART_CR3 0 | 65 | # define SERIAL_USART_CR3 0 |
40 | #endif | 66 | #endif |
41 | 67 | ||
@@ -61,11 +87,11 @@ | |||
61 | } while (0) | 87 | } while (0) |
62 | #endif | 88 | #endif |
63 | 89 | ||
64 | #ifndef SELECT_SOFT_SERIAL_SPEED | 90 | #if !defined(SELECT_SOFT_SERIAL_SPEED) |
65 | # define SELECT_SOFT_SERIAL_SPEED 1 | 91 | # define SELECT_SOFT_SERIAL_SPEED 1 |
66 | #endif | 92 | #endif |
67 | 93 | ||
68 | #ifdef SERIAL_USART_SPEED | 94 | #if defined(SERIAL_USART_SPEED) |
69 | // Allow advanced users to directly set SERIAL_USART_SPEED | 95 | // Allow advanced users to directly set SERIAL_USART_SPEED |
70 | #elif SELECT_SOFT_SERIAL_SPEED == 0 | 96 | #elif SELECT_SOFT_SERIAL_SPEED == 0 |
71 | # define SERIAL_USART_SPEED 460800 | 97 | # define SERIAL_USART_SPEED 460800 |
@@ -83,7 +109,7 @@ | |||
83 | # error invalid SELECT_SOFT_SERIAL_SPEED value | 109 | # error invalid SELECT_SOFT_SERIAL_SPEED value |
84 | #endif | 110 | #endif |
85 | 111 | ||
86 | #ifndef SERIAL_USART_TIMEOUT | 112 | #if !defined(SERIAL_USART_TIMEOUT) |
87 | # define SERIAL_USART_TIMEOUT 100 | 113 | # define SERIAL_USART_TIMEOUT 100 |
88 | #endif | 114 | #endif |
89 | 115 | ||