diff options
Diffstat (limited to 'drivers/chibios/serial_usart.c')
| -rw-r--r-- | drivers/chibios/serial_usart.c | 69 | 
1 files changed, 20 insertions, 49 deletions
| diff --git a/drivers/chibios/serial_usart.c b/drivers/chibios/serial_usart.c index 7c81b16464..cae29388c3 100644 --- a/drivers/chibios/serial_usart.c +++ b/drivers/chibios/serial_usart.c @@ -1,13 +1,20 @@ -#include "quantum.h" -#include "serial.h" -#include "print.h" - -#include <ch.h> -#include <hal.h> +/* Copyright 2021 QMK + * + * This program 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. + * + * This program 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 this program.  If not, see <http://www.gnu.org/licenses/>. + */ -#ifndef USART_CR1_M0 -#    define USART_CR1_M0 USART_CR1_M  // some platforms (f1xx) dont have this so -#endif +#include "serial_usart.h"  #ifndef USE_GPIOV1  // The default PAL alternate modes are used to signal that the pins are used for USART @@ -20,50 +27,10 @@  #    define SERIAL_USART_DRIVER SD1  #endif -#ifndef SERIAL_USART_CR1 -#    define SERIAL_USART_CR1 (USART_CR1_PCE | USART_CR1_PS | USART_CR1_M0)  // parity enable, odd parity, 9 bit length -#endif - -#ifndef SERIAL_USART_CR2 -#    define SERIAL_USART_CR2 (USART_CR2_STOP_1)  // 2 stop bits -#endif - -#ifndef SERIAL_USART_CR3 -#    define SERIAL_USART_CR3 0 -#endif -  #ifdef SOFT_SERIAL_PIN  #    define SERIAL_USART_TX_PIN SOFT_SERIAL_PIN  #endif -#ifndef SELECT_SOFT_SERIAL_SPEED -#    define SELECT_SOFT_SERIAL_SPEED 1 -#endif - -#ifdef SERIAL_USART_SPEED -// Allow advanced users to directly set SERIAL_USART_SPEED -#elif SELECT_SOFT_SERIAL_SPEED == 0 -#    define SERIAL_USART_SPEED 460800 -#elif SELECT_SOFT_SERIAL_SPEED == 1 -#    define SERIAL_USART_SPEED 230400 -#elif SELECT_SOFT_SERIAL_SPEED == 2 -#    define SERIAL_USART_SPEED 115200 -#elif SELECT_SOFT_SERIAL_SPEED == 3 -#    define SERIAL_USART_SPEED 57600 -#elif SELECT_SOFT_SERIAL_SPEED == 4 -#    define SERIAL_USART_SPEED 38400 -#elif SELECT_SOFT_SERIAL_SPEED == 5 -#    define SERIAL_USART_SPEED 19200 -#else -#    error invalid SELECT_SOFT_SERIAL_SPEED value -#endif - -#ifndef SERIAL_USART_TIMEOUT -#    define SERIAL_USART_TIMEOUT 100 -#endif - -#define HANDSHAKE_MAGIC 7 -  static inline msg_t sdWriteHalfDuplex(SerialDriver* driver, uint8_t* data, uint8_t size) {      msg_t ret = sdWrite(driver, data, size); @@ -123,6 +90,10 @@ __attribute__((weak)) void usart_init(void) {  #else      palSetLineMode(SERIAL_USART_TX_PIN, PAL_MODE_ALTERNATE(SERIAL_USART_TX_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN);  #endif + +#if defined(USART_REMAP) +    USART_REMAP; +#endif  }  void usart_master_init(void) { | 
