From eac6ccff98f0c9793d459a7f45b5e7fbf8462343 Mon Sep 17 00:00:00 2001 From: Deckweiss Date: Wed, 16 Oct 2019 00:10:23 +0200 Subject: [PATCH] Added uart config for using rn42 with at90usb1286 (#6582) * Added uart config for using rn42 with at90usb1286 * Updated quantum/config_common.h Co-Authored-By: fauxpark * Update quantum/config_common.h Co-Authored-By: fauxpark * Update quantum/config_common.h Co-Authored-By: fauxpark --- quantum/config_common.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/quantum/config_common.h b/quantum/config_common.h index 80715f2fcd2..f42df6357d6 100644 --- a/quantum/config_common.h +++ b/quantum/config_common.h @@ -303,6 +303,25 @@ UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \ sei(); \ } while (0) +# elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)) +# define SERIAL_UART_BAUD 115200 +# define SERIAL_UART_DATA UDR1 + /* UBRR should result in ~16 and set UCSR1A = _BV(U2X1) as per rn42 documentation. HC05 needs baudrate configured accordingly */ +# define SERIAL_UART_UBRR (F_CPU / (8UL * SERIAL_UART_BAUD) - 1) +# define SERIAL_UART_RXD_VECT USART1_RX_vect +# define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1)) +# define SERIAL_UART_INIT() do { \ + UCSR1A = _BV(U2X1); \ + /* baud rate */ \ + UBRR1L = SERIAL_UART_UBRR; \ + /* baud rate */ \ + UBRR1H = SERIAL_UART_UBRR >> 8; \ + /* enable TX */ \ + UCSR1B = _BV(TXEN1); \ + /* 8-bit data */ \ + UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \ + sei(); \ + } while(0) # else # error "USART configuration is needed." # endif