Ran clang-format

This commit is contained in:
2019-07-30 20:29:15 +02:00
parent 470eb06345
commit c03196493a
2 changed files with 538 additions and 577 deletions

View File

@@ -36,11 +36,10 @@ LICENSE:
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
*************************************************************************/ *************************************************************************/
#include "uart.h" #include "uart.h"
#include <avr/interrupt.h> #include <avr/interrupt.h>
@@ -57,10 +56,8 @@ LICENSE:
#if (UART_RX_BUFFER_SIZE & UART_RX_BUFFER_MASK) #if (UART_RX_BUFFER_SIZE & UART_RX_BUFFER_MASK)
#error RX buffer size is not a power of 2 #error RX buffer size is not a power of 2
#endif #endif
defined(__AVR_AT90S4434__) || defined(__AVR_AT90S8535__) || \ #if (UART_TX_BUFFER_SIZE & UART_TX_BUFFER_MASK)
defined(__AVR_ATmega103__)
#error TX buffer size is not a power of 2 #error TX buffer size is not a power of 2
#endif #endif
@@ -103,9 +100,8 @@ LICENSE:
#define UART0_UBRRL UBRRL #define UART0_UBRRL UBRRL
#define UART0_UBRRH UBRRH #define UART0_UBRRH UBRRH
#define UART0_BIT_U2X U2X #define UART0_BIT_U2X U2X
#elif defined(__AVR_ATmega8__) || defined(__AVR_ATmega8A__) || \ #define UART0_BIT_RXCIE RXCIE
defined(__AVR_ATmega16__) || defined(__AVR_ATmega16A__) || \ #define UART0_BIT_RXEN RXEN
defined(__AVR_ATmega32__) || defined(__AVR_ATmega32A__) || \
#define UART0_BIT_TXEN TXEN #define UART0_BIT_TXEN TXEN
#define UART0_BIT_UCSZ0 UCSZ0 #define UART0_BIT_UCSZ0 UCSZ0
#define UART0_BIT_UCSZ1 UCSZ1 #define UART0_BIT_UCSZ1 UCSZ1
@@ -210,11 +206,13 @@ LICENSE:
#define UART0_UBRRL UBRRL #define UART0_UBRRL UBRRL
#define UART0_UBRRH UBRRH #define UART0_UBRRH UBRRH
#define UART0_BIT_U2X U2X #define UART0_BIT_U2X U2X
#elif defined(__AVR_ATmega48__) || defined(__AVR_ATmega48A__) || defined(__AVR_ATmega48P__) || defined(__AVR_ATmega48PA__) || defined(__AVR_ATmega48PB__) || \ #define UART0_BIT_RXCIE RXCIE
defined(__AVR_ATmega88__) || defined(__AVR_ATmega88A__) || defined(__AVR_ATmega88P__) || defined(__AVR_ATmega88PA__) || defined(__AVR_ATmega88PB__) || \ #define UART0_BIT_RXEN RXEN
defined(__AVR_ATmega168__) || defined(__AVR_ATmega168A__)|| defined(__AVR_ATmega168P__)|| defined(__AVR_ATmega168PA__) || defined(__AVR_ATmega168PB__) || \ #define UART0_BIT_TXEN TXEN
defined(__AVR_ATmega328__) || defined(__AVR_ATmega328P__) || \ #define UART0_BIT_UCSZ0 UCSZ0
defined(__AVR_ATmega3250__) || defined(__AVR_ATmega3290__) ||defined(__AVR_ATmega6450__) || defined(__AVR_ATmega6490__) #define UART0_BIT_UCSZ1 UCSZ1
#elif defined(__AVR_ATmega48__) || defined(__AVR_ATmega48A__) || defined(__AVR_ATmega48P__) || \
defined(__AVR_ATmega48PA__) || defined(__AVR_ATmega48PB__) || defined(__AVR_ATmega88__) || \
defined(__AVR_ATmega88A__) || defined(__AVR_ATmega88P__) || defined(__AVR_ATmega88PA__) || \ defined(__AVR_ATmega88A__) || defined(__AVR_ATmega88P__) || defined(__AVR_ATmega88PA__) || \
defined(__AVR_ATmega88PB__) || defined(__AVR_ATmega168__) || defined(__AVR_ATmega168A__) || \ defined(__AVR_ATmega88PB__) || defined(__AVR_ATmega168__) || defined(__AVR_ATmega168A__) || \
defined(__AVR_ATmega168P__) || defined(__AVR_ATmega168PA__) || defined(__AVR_ATmega168PB__) || \ defined(__AVR_ATmega168P__) || defined(__AVR_ATmega168PA__) || defined(__AVR_ATmega168PB__) || \
@@ -248,15 +246,16 @@ LICENSE:
#define UART0_UBRRL UBRRL #define UART0_UBRRL UBRRL
#define UART0_UBRRH UBRRH #define UART0_UBRRH UBRRH
#define UART0_BIT_U2X U2X #define UART0_BIT_U2X U2X
#elif defined(__AVR_ATmega329__) || defined(__AVR_ATmega649__) || defined(__AVR_ATmega3290__) || defined(__AVR_ATmega6490__) ||\ #define UART0_BIT_RXCIE RXCIE
defined(__AVR_ATmega169A__) || defined(__AVR_ATmega169PA__) || \ #define UART0_BIT_RXEN RXEN
defined(__AVR_ATmega329A__) || defined(__AVR_ATmega329PA__) || defined(__AVR_ATmega3290A__) || defined(__AVR_ATmega3290PA__) || \ #define UART0_BIT_TXEN TXEN
defined(__AVR_ATmega649A__) || defined(__AVR_ATmega649P__) || defined(__AVR_ATmega6490A__) || defined(__AVR_ATmega6490P__) || \ #define UART0_BIT_UCSZ0 UCSZ0
defined(__AVR_ATmega165__) || defined(__AVR_ATmega325__) || defined(__AVR_ATmega645__) || defined(__AVR_ATmega3250__) || defined(__AVR_ATmega6450__) || \ #define UART0_BIT_UCSZ1 UCSZ1
defined(__AVR_ATmega165A__) || defined(__AVR_ATmega165PA__) || \ #elif defined(__AVR_ATmega329__) || defined(__AVR_ATmega649__) || defined(__AVR_ATmega3290__) || \
defined(__AVR_ATmega325A__) || defined(__AVR_ATmega325PA__) || defined(__AVR_ATmega3250A__) || defined(__AVR_ATmega3250PA__) ||\ defined(__AVR_ATmega6490__) || defined(__AVR_ATmega169A__) || defined(__AVR_ATmega169PA__) || \
defined(__AVR_ATmega645A__) || defined(__AVR_ATmega645PA__) || defined(__AVR_ATmega6450A__) || defined(__AVR_ATmega6450PA__) || \ defined(__AVR_ATmega329A__) || defined(__AVR_ATmega329PA__) || defined(__AVR_ATmega3290A__) || \
defined(__AVR_ATmega644__) defined(__AVR_ATmega3290PA__) || defined(__AVR_ATmega649A__) || defined(__AVR_ATmega649P__) || \
defined(__AVR_ATmega6490A__) || defined(__AVR_ATmega6490P__) || defined(__AVR_ATmega165__) || \
defined(__AVR_ATmega325__) || defined(__AVR_ATmega645__) || defined(__AVR_ATmega3250__) || \ defined(__AVR_ATmega325__) || defined(__AVR_ATmega645__) || defined(__AVR_ATmega3250__) || \
defined(__AVR_ATmega6450__) || defined(__AVR_ATmega165A__) || defined(__AVR_ATmega165PA__) || \ defined(__AVR_ATmega6450__) || defined(__AVR_ATmega165A__) || defined(__AVR_ATmega165PA__) || \
defined(__AVR_ATmega325A__) || defined(__AVR_ATmega325PA__) || defined(__AVR_ATmega3250A__) || \ defined(__AVR_ATmega325A__) || defined(__AVR_ATmega325PA__) || defined(__AVR_ATmega3250A__) || \
@@ -274,11 +273,12 @@ LICENSE:
#define UART0_UBRRH UBRR0H #define UART0_UBRRH UBRR0H
#define UART0_BIT_U2X U2X0 #define UART0_BIT_U2X U2X0
#define UART0_BIT_RXCIE RXCIE0 #define UART0_BIT_RXCIE RXCIE0
defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega2561__) || \ #define UART0_BIT_RXEN RXEN0
defined(__AVR_ATmega164P__) || defined(__AVR_ATmega324P__) || defined(__AVR_ATmega644P__) || \ #define UART0_BIT_TXEN TXEN0
defined(__AVR_ATmega164A__) || defined(__AVR_ATmega164PA__) || defined(__AVR_ATmega324A__) || defined(__AVR_ATmega324PA__) || \ #define UART0_BIT_UCSZ0 UCSZ00
defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644PA__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) ||\ #define UART0_BIT_UCSZ1 UCSZ01
defined(__AVR_ATtiny1634__) #elif defined(__AVR_ATmega64__) || defined(__AVR_ATmega128__) || defined(__AVR_ATmega128A__) || \
defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || \
defined(__AVR_ATmega2560__) || defined(__AVR_ATmega2561__) || defined(__AVR_ATmega164P__) || \ defined(__AVR_ATmega2560__) || defined(__AVR_ATmega2561__) || defined(__AVR_ATmega164P__) || \
defined(__AVR_ATmega324P__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega164A__) || \ defined(__AVR_ATmega324P__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega164A__) || \
defined(__AVR_ATmega164PA__) || defined(__AVR_ATmega324A__) || defined(__AVR_ATmega324PA__) || \ defined(__AVR_ATmega164PA__) || defined(__AVR_ATmega324A__) || defined(__AVR_ATmega324PA__) || \
@@ -312,9 +312,9 @@ LICENSE:
#define UART1_UBRRH UBRR1H #define UART1_UBRRH UBRR1H
#define UART1_BIT_U2X U2X1 #define UART1_BIT_U2X U2X1
#define UART1_BIT_RXCIE RXCIE1 #define UART1_BIT_RXCIE RXCIE1
defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || \ #define UART1_BIT_RXEN RXEN1
defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \ #define UART1_BIT_TXEN TXEN1
defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1287__) #define UART1_BIT_UCSZ0 UCSZ10
#define UART1_BIT_UCSZ1 UCSZ11 #define UART1_BIT_UCSZ1 UCSZ11
#elif defined(__AVR_ATmega8U2__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega32U2__) || \ #elif defined(__AVR_ATmega8U2__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega32U2__) || \
defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB82__) || \ defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB82__) || \
@@ -334,8 +334,6 @@ LICENSE:
#define UART0_BIT_RXEN RXEN1 #define UART0_BIT_RXEN RXEN1
#define UART0_BIT_TXEN TXEN1 #define UART0_BIT_TXEN TXEN1
#define UART0_BIT_UCSZ0 UCSZ10 #define UART0_BIT_UCSZ0 UCSZ10
#define UART0_BIT_UCSZ1 UCSZ11 #define UART0_BIT_UCSZ1 UCSZ11
#else #else
#error "no UART definition for MCU available" #error "no UART definition for MCU available"
@@ -357,8 +355,6 @@ static volatile unsigned char UART1_RxTail;
static volatile unsigned char UART1_RxBuf[UART_RX_BUFFER_SIZE]; static volatile unsigned char UART1_RxBuf[UART_RX_BUFFER_SIZE];
static volatile unsigned char UART1_TxHead; static volatile unsigned char UART1_TxHead;
static volatile unsigned char UART1_TxTail; static volatile unsigned char UART1_TxTail;
static volatile unsigned char UART1_RxHead; static volatile unsigned char UART1_RxHead;
static volatile unsigned char UART1_RxTail; static volatile unsigned char UART1_RxTail;
static volatile unsigned char UART1_LastRxError; static volatile unsigned char UART1_LastRxError;
@@ -370,7 +366,6 @@ Purpose: called when the UART has received a character
Purpose: called when the UART has received a character Purpose: called when the UART has received a character
**************************************************************************/ **************************************************************************/
{ {
unsigned char tmphead; unsigned char tmphead;
unsigned char data; unsigned char data;
unsigned char usr; unsigned char usr;
@@ -401,7 +396,6 @@ Purpose: called when the UART has received a character
/* store new index */ /* store new index */
UART_RxHead = tmphead; UART_RxHead = tmphead;
/* store received data in buffer */ /* store received data in buffer */
UART_RxBuf[tmphead] = data; UART_RxBuf[tmphead] = data;
} }
UART_LastRxError |= lastRxError; UART_LastRxError |= lastRxError;
@@ -410,7 +404,6 @@ Purpose: called when the UART is ready to transmit the next byte
ISR(UART0_TRANSMIT_INTERRUPT) ISR(UART0_TRANSMIT_INTERRUPT)
/************************************************************************* /*************************************************************************
Function: UART Data Register Empty interrupt Function: UART Data Register Empty interrupt
Purpose: called when the UART is ready to transmit the next byte Purpose: called when the UART is ready to transmit the next byte
**************************************************************************/ **************************************************************************/
{ {
@@ -423,7 +416,6 @@ Purpose: called when the UART is ready to transmit the next byte
/* get one byte from buffer and write it to UART */ /* get one byte from buffer and write it to UART */
UART0_DATA = UART_TxBuf[tmptail]; /* start transmission */ UART0_DATA = UART_TxBuf[tmptail]; /* start transmission */
} else { } else {
/* tx buffer empty, disable UDRE interrupt */ /* tx buffer empty, disable UDRE interrupt */
UART0_CONTROL &= ~_BV(UART0_UDRIE); UART0_CONTROL &= ~_BV(UART0_UDRIE);
} }
@@ -455,8 +447,7 @@ void uart_init(unsigned int baudrate)
#if defined(URSEL) || defined(URSEL0) #if defined(URSEL) || defined(URSEL0)
#ifndef UART0_BIT_URSEL #ifndef UART0_BIT_URSEL
#warning "UART0_BIT_URSEL not defined" #warning "UART0_BIT_URSEL not defined"
if ( baudrate & 0x8000 ) #endif
{
#endif #endif
#endif #endif
@@ -480,7 +471,6 @@ void uart_init(unsigned int baudrate)
UART0_CONTROLC = (1 << UART0_BIT_URSEL) | (1 << UART0_BIT_UCSZ1) | (1 << UART0_BIT_UCSZ0); UART0_CONTROLC = (1 << UART0_BIT_URSEL) | (1 << UART0_BIT_UCSZ1) | (1 << UART0_BIT_UCSZ0);
#else #else
UART0_CONTROLC = (1 << UART0_BIT_UCSZ1) | (1 << UART0_BIT_UCSZ0); UART0_CONTROLC = (1 << UART0_BIT_UCSZ1) | (1 << UART0_BIT_UCSZ0);
#endif #endif
#endif #endif
@@ -493,7 +483,6 @@ unsigned int uart_getc(void)
higher byte: last receive error higher byte: last receive error
**************************************************************************/ **************************************************************************/
unsigned int uart_getc(void) unsigned int uart_getc(void)
{ {
unsigned char tmptail; unsigned char tmptail;
unsigned char data; unsigned char data;
@@ -513,7 +502,6 @@ unsigned int uart_getc(void)
/* store buffer index */ /* store buffer index */
UART_RxTail = tmptail; UART_RxTail = tmptail;
UART_LastRxError = 0; UART_LastRxError = 0;
return (lastRxError << 8) + data; return (lastRxError << 8) + data;
@@ -524,7 +512,6 @@ void uart_putc(unsigned char data)
Purpose: write byte to ringbuffer for transmitting via UART Purpose: write byte to ringbuffer for transmitting via UART
Input: byte to be transmitted Input: byte to be transmitted
Returns: none Returns: none
**************************************************************************/ **************************************************************************/
void uart_putc(unsigned char data) void uart_putc(unsigned char data)
{ {
@@ -539,7 +526,6 @@ void uart_putc(unsigned char data)
UART_TxBuf[tmphead] = data; UART_TxBuf[tmphead] = data;
UART_TxHead = tmphead; UART_TxHead = tmphead;
/* enable UDRE interrupt */ /* enable UDRE interrupt */
UART0_CONTROL |= _BV(UART0_UDRIE); UART0_CONTROL |= _BV(UART0_UDRIE);
@@ -553,7 +539,6 @@ void uart_puts(const char *s )
**************************************************************************/ **************************************************************************/
void uart_puts(const char *s) void uart_puts(const char *s)
{ {
while (*s) while (*s)
uart_putc(*s++); uart_putc(*s++);
@@ -569,7 +554,6 @@ void uart_puts_p(const char *progmem_s )
{ {
register char c; register char c;
while ((c = pgm_read_byte(progmem_s++))) while ((c = pgm_read_byte(progmem_s++)))
uart_putc(c); uart_putc(c);
@@ -586,7 +570,6 @@ Purpose: called when the UART1 has received a character
Purpose: called when the UART1 has received a character Purpose: called when the UART1 has received a character
**************************************************************************/ **************************************************************************/
{ {
unsigned char tmphead; unsigned char tmphead;
unsigned char data; unsigned char data;
unsigned char usr; unsigned char usr;
@@ -609,7 +592,6 @@ Purpose: called when the UART1 has received a character
/* store new index */ /* store new index */
UART1_RxHead = tmphead; UART1_RxHead = tmphead;
/* store received data in buffer */ /* store received data in buffer */
UART1_RxBuf[tmphead] = data; UART1_RxBuf[tmphead] = data;
} }
UART1_LastRxError |= lastRxError; UART1_LastRxError |= lastRxError;
@@ -618,7 +600,6 @@ Purpose: called when the UART1 is ready to transmit the next byte
ISR(UART1_TRANSMIT_INTERRUPT) ISR(UART1_TRANSMIT_INTERRUPT)
/************************************************************************* /*************************************************************************
Function: UART1 Data Register Empty interrupt Function: UART1 Data Register Empty interrupt
Purpose: called when the UART1 is ready to transmit the next byte Purpose: called when the UART1 is ready to transmit the next byte
**************************************************************************/ **************************************************************************/
{ {
@@ -631,7 +612,6 @@ Purpose: called when the UART1 is ready to transmit the next byte
/* get one byte from buffer and write it to UART */ /* get one byte from buffer and write it to UART */
UART1_DATA = UART1_TxBuf[tmptail]; /* start transmission */ UART1_DATA = UART1_TxBuf[tmptail]; /* start transmission */
} else { } else {
/* tx buffer empty, disable UDRE interrupt */ /* tx buffer empty, disable UDRE interrupt */
UART1_CONTROL &= ~_BV(UART1_UDRIE); UART1_CONTROL &= ~_BV(UART1_UDRIE);
} }
@@ -663,8 +643,7 @@ void uart1_init(unsigned int baudrate)
#if defined(URSEL) || defined(URSEL1) #if defined(URSEL) || defined(URSEL1)
#ifndef UART1_BIT_URSEL #ifndef UART1_BIT_URSEL
#warning "UART1_BIT_URSEL not defined" #warning "UART1_BIT_URSEL not defined"
if ( baudrate & 0x8000 ) #endif
{
#endif #endif
#endif #endif
@@ -684,7 +663,6 @@ void uart1_init(unsigned int baudrate)
#ifdef UART1_BIT_URSEL #ifdef UART1_BIT_URSEL
UART1_CONTROLC = (1 << UART1_BIT_URSEL) | (1 << UART1_BIT_UCSZ1) | (1 << UART1_BIT_UCSZ0); UART1_CONTROLC = (1 << UART1_BIT_URSEL) | (1 << UART1_BIT_UCSZ1) | (1 << UART1_BIT_UCSZ0);
#else #else
UART1_CONTROLC = (1 << UART1_BIT_UCSZ1) | (1 << UART1_BIT_UCSZ0); UART1_CONTROLC = (1 << UART1_BIT_UCSZ1) | (1 << UART1_BIT_UCSZ0);
#endif #endif
@@ -697,7 +675,6 @@ unsigned int uart1_getc(void)
higher byte: last receive error higher byte: last receive error
**************************************************************************/ **************************************************************************/
unsigned int uart1_getc(void) unsigned int uart1_getc(void)
{ {
unsigned char tmptail; unsigned char tmptail;
unsigned int data; unsigned int data;
@@ -717,7 +694,6 @@ unsigned int uart1_getc(void)
/* store buffer index */ /* store buffer index */
UART1_RxTail = tmptail; UART1_RxTail = tmptail;
UART1_LastRxError = 0; UART1_LastRxError = 0;
return (lastRxError << 8) + data; return (lastRxError << 8) + data;
@@ -728,7 +704,6 @@ void uart1_putc(unsigned char data)
Purpose: write byte to ringbuffer for transmitting via UART Purpose: write byte to ringbuffer for transmitting via UART
Input: byte to be transmitted Input: byte to be transmitted
Returns: none Returns: none
**************************************************************************/ **************************************************************************/
void uart1_putc(unsigned char data) void uart1_putc(unsigned char data)
{ {
@@ -743,7 +718,6 @@ void uart1_putc(unsigned char data)
UART1_TxBuf[tmphead] = data; UART1_TxBuf[tmphead] = data;
UART1_TxHead = tmphead; UART1_TxHead = tmphead;
/* enable UDRE interrupt */ /* enable UDRE interrupt */
UART1_CONTROL |= _BV(UART1_UDRIE); UART1_CONTROL |= _BV(UART1_UDRIE);
@@ -757,7 +731,6 @@ void uart1_puts(const char *s )
**************************************************************************/ **************************************************************************/
void uart1_puts(const char *s) void uart1_puts(const char *s)
{ {
while (*s) while (*s)
uart1_putc(*s++); uart1_putc(*s++);
@@ -773,5 +746,4 @@ void uart1_puts_p(const char *progmem_s )
{ {
register char c; register char c;
while ((c = pgm_read_byte(progmem_s++))) while ((c = pgm_read_byte(progmem_s++)))

19
uart.h
View File

@@ -46,22 +46,18 @@ LICENSE:
* @copyright (C) 2015 Peter Fleury, GNU General Public License Version 3 * @copyright (C) 2015 Peter Fleury, GNU General Public License Version 3
*/ */
#include <avr/pgmspace.h> #include <avr/pgmspace.h>
#if (__GNUC__ * 100 + __GNUC_MINOR__) < 405 #if (__GNUC__ * 100 + __GNUC_MINOR__) < 405
#error "This library requires AVR-GCC 4.5 or later, update to newer AVR-GCC compiler !" #error "This library requires AVR-GCC 4.5 or later, update to newer AVR-GCC compiler !"
#endif #endif
/**@{*/ /**@{*/
/* /*
** constants and macros ** constants and macros
*/ */
/** @brief UART Baudrate Expression /** @brief UART Baudrate Expression
* @param xtalCpu system clock in Mhz, e.g. 4000000UL for 4Mhz * @param xtalCpu system clock in Mhz, e.g. 4000000UL for 4Mhz
* @param baudRate baudrate in bps, e.g. 1200, 2400, 9600 * @param baudRate baudrate in bps, e.g. 1200, 2400, 9600
@@ -72,7 +68,8 @@ LICENSE:
* @param xtalCpu system clock in Mhz, e.g. 4000000UL for 4Mhz * @param xtalCpu system clock in Mhz, e.g. 4000000UL for 4Mhz
* @param baudRate baudrate in bps, e.g. 1200, 2400, 9600 * @param baudRate baudrate in bps, e.g. 1200, 2400, 9600
*/ */
#define UART_BAUD_SELECT_DOUBLE_SPEED(baudRate,xtalCpu) ( ((((xtalCpu) + 4UL * (baudRate)) / (8UL * (baudRate)) -1UL)) | 0x8000) #define UART_BAUD_SELECT_DOUBLE_SPEED(baudRate, xtalCpu) \
(((((xtalCpu) + 4UL * (baudRate)) / (8UL * (baudRate)) - 1UL)) | 0x8000)
/** @brief Size of the circular receive buffer, must be power of 2 /** @brief Size of the circular receive buffer, must be power of 2
* *
@@ -106,7 +103,6 @@ LICENSE:
#define UART_BUFFER_OVERFLOW 0x0200 /**< @brief receive ringbuffer overflow */ #define UART_BUFFER_OVERFLOW 0x0200 /**< @brief receive ringbuffer overflow */
#define UART_NO_DATA 0x0100 /**< @brief no receive data available */ #define UART_NO_DATA 0x0100 /**< @brief no receive data available */
/* /*
** function prototypes ** function prototypes
*/ */
@@ -118,7 +114,6 @@ LICENSE:
*/ */
extern void uart_init(unsigned int baudrate); extern void uart_init(unsigned int baudrate);
/** /**
* @brief Get received byte from ringbuffer * @brief Get received byte from ringbuffer
* *
@@ -145,7 +140,6 @@ extern void uart_init(unsigned int baudrate);
*/ */
extern unsigned int uart_getc(void); extern unsigned int uart_getc(void);
/** /**
* @brief Put byte to ringbuffer for transmitting via UART * @brief Put byte to ringbuffer for transmitting via UART
* @param data byte to be transmitted * @param data byte to be transmitted
@@ -153,7 +147,6 @@ extern unsigned int uart_getc(void);
*/ */
extern void uart_putc(unsigned char data); extern void uart_putc(unsigned char data);
/** /**
* @brief Put string to ringbuffer for transmitting via UART * @brief Put string to ringbuffer for transmitting via UART
* *
@@ -166,7 +159,6 @@ extern void uart_putc(unsigned char data);
*/ */
extern void uart_puts(const char *s); extern void uart_puts(const char *s);
/** /**
* @brief Put string from program memory to ringbuffer for transmitting via UART. * @brief Put string from program memory to ringbuffer for transmitting via UART.
* *
@@ -185,8 +177,6 @@ extern void uart_puts_p(const char *s );
*/ */
#define uart_puts_P(__s) uart_puts_p(PSTR(__s)) #define uart_puts_P(__s) uart_puts_p(PSTR(__s))
/** @brief Initialize USART1 (only available on selected ATmegas) @see uart_init */ /** @brief Initialize USART1 (only available on selected ATmegas) @see uart_init */
extern void uart1_init(unsigned int baudrate); extern void uart1_init(unsigned int baudrate);
/** @brief Get received byte of USART1 from ringbuffer. (only available on selected ATmega) @see uart_getc */ /** @brief Get received byte of USART1 from ringbuffer. (only available on selected ATmega) @see uart_getc */
@@ -195,13 +185,12 @@ extern unsigned int uart1_getc(void);
extern void uart1_putc(unsigned char data); extern void uart1_putc(unsigned char data);
/** @brief Put string to ringbuffer for transmitting via USART1 (only available on selected ATmega) @see uart_puts */ /** @brief Put string to ringbuffer for transmitting via USART1 (only available on selected ATmega) @see uart_puts */
extern void uart1_puts(const char *s); extern void uart1_puts(const char *s);
/** @brief Put string from program memory to ringbuffer for transmitting via USART1 (only available on selected ATmega) @see uart_puts_p */ /** @brief Put string from program memory to ringbuffer for transmitting via USART1 (only available on selected ATmega)
* @see uart_puts_p */
extern void uart1_puts_p(const char *s); extern void uart1_puts_p(const char *s);
/** @brief Macro to automatically put a string constant into program memory */ /** @brief Macro to automatically put a string constant into program memory */
#define uart1_puts_P(__s) uart1_puts_p(PSTR(__s)) #define uart1_puts_P(__s) uart1_puts_p(PSTR(__s))
/**@}*/ /**@}*/
#endif // UART_H #endif // UART_H