1#ifndef _HWBP_CORE_COM_H_
2#define _HWBP_CORE_COM_H_
10#define COM_MODE_UART 1
13#define RX_TIMEOUT_MS 50
19#define HWBP_UART_RX_INT_LEVEL INT_LEVEL_HIGH
20#define HWBP_UART_TX_INT_LEVEL INT_LEVEL_HIGH
21#define HWBP_UART_CTS_INT_LEVEL INT_LEVEL_HIGH
23#define HWBP_UART_RXBUFSIZ MAX_PACKET_SIZE
24#define HWBP_UART_TEMP_RXBUFSIZ 32
26#if defined(__AVR_ATxmega16A4U__)
27 #define HWBP_UART_UART USARTE0
28 #define HWBP_UART_PORT PORTE
29 #define HWBP_UART_RX_pin 2
30 #define HWBP_UART_TX_pin 3
32 #define HWBP_UART_RX_ROUTINE_ ISR(USARTE0_RXC_vect)
33 #define HWBP_UART_TX_ROUTINE_ ISR(USARTE0_DRE_vect)
36 #define HWBP_UART_USE_FLOW_CONTROL
37 #define HWBP_UART_RTS_PORT PORTE
38 #define HWBP_UART_RTS_pin 1
39 #define HWBP_UART_CTS_PORT PORTE
40 #define HWBP_UART_CTS_pin 0
42 #define HWBP_UART_CTS_ROUTINE_ ISR(PORTE_INT0_vect)
43 #define HWBP_UART_CTS_INT_N 0
45 #define hwbp_uart_leave_interrupt return
48 #define HWBP_UART_TXBUFSIZ 512
51#if defined(__AVR_ATxmega32A4U__)
52 #define HWBP_UART_UART USARTE0
53 #define HWBP_UART_PORT PORTE
54 #define HWBP_UART_RX_pin 2
55 #define HWBP_UART_TX_pin 3
57 #define HWBP_UART_RX_ROUTINE_ ISR(USARTE0_RXC_vect)
58 #define HWBP_UART_TX_ROUTINE_ ISR(USARTE0_DRE_vect)
61 #define HWBP_UART_USE_FLOW_CONTROL
62 #define HWBP_UART_RTS_PORT PORTE
63 #define HWBP_UART_RTS_pin 1
64 #define HWBP_UART_CTS_PORT PORTE
65 #define HWBP_UART_CTS_pin 0
67 #define HWBP_UART_CTS_ROUTINE_ ISR(PORTE_INT0_vect)
68 #define HWBP_UART_CTS_INT_N 0
70 #define hwbp_uart_leave_interrupt return
73 #define HWBP_UART_TXBUFSIZ 2048
76#if defined(__AVR_ATxmega64A4U__)
77 #define HWBP_UART_UART USARTE0
78 #define HWBP_UART_PORT PORTE
79 #define HWBP_UART_RX_pin 2
80 #define HWBP_UART_TX_pin 3
82 #define HWBP_UART_RX_ROUTINE_ ISR(USARTE0_RXC_vect)
83 #define HWBP_UART_TX_ROUTINE_ ISR(USARTE0_DRE_vect)
86 #define HWBP_UART_USE_FLOW_CONTROL
87 #define HWBP_UART_RTS_PORT PORTE
88 #define HWBP_UART_RTS_pin 1
89 #define HWBP_UART_CTS_PORT PORTE
90 #define HWBP_UART_CTS_pin 0
92 #define HWBP_UART_CTS_ROUTINE_ ISR(PORTE_INT0_vect)
93 #define HWBP_UART_CTS_INT_N 0
95 #define hwbp_uart_leave_interrupt return
98 #define HWBP_UART_TXBUFSIZ 2048
101#if defined(__AVR_ATxmega128A4U__)
102 #define HWBP_UART_UART USARTE0
103 #define HWBP_UART_PORT PORTE
104 #define HWBP_UART_RX_pin 2
105 #define HWBP_UART_TX_pin 3
107 #define HWBP_UART_RX_ROUTINE_ ISR(USARTE0_RXC_vect)
108 #define HWBP_UART_TX_ROUTINE_ ISR(USARTE0_DRE_vect)
111 #define HWBP_UART_USE_FLOW_CONTROL
112 #define HWBP_UART_RTS_PORT PORTE
113 #define HWBP_UART_RTS_pin 1
114 #define HWBP_UART_CTS_PORT PORTE
115 #define HWBP_UART_CTS_pin 0
117 #define HWBP_UART_CTS_ROUTINE_ ISR(PORTE_INT0_vect)
118 #define HWBP_UART_CTS_INT_N 0
120 #define hwbp_uart_leave_interrupt return
123 #define HWBP_UART_TXBUFSIZ 5120
126#if defined(__AVR_ATxmega128A1U__)
127 #define HWBP_UART_UART USARTF0
128 #define HWBP_UART_PORT PORTF
129 #define HWBP_UART_RX_pin 2
130 #define HWBP_UART_TX_pin 3
132 #define HWBP_UART_RX_ROUTINE_ ISR(USARTF0_RXC_vect)
133 #define HWBP_UART_TX_ROUTINE_ ISR(USARTF0_DRE_vect)
136 #define HWBP_UART_USE_FLOW_CONTROL
137 #define HWBP_UART_RTS_PORT PORTK
138 #define HWBP_UART_RTS_pin 0
139 #define HWBP_UART_CTS_PORT PORTJ
140 #define HWBP_UART_CTS_pin 6
142 #define HWBP_UART_CTS_ROUTINE_ ISR(PORTJ_INT0_vect)
143 #define HWBP_UART_CTS_INT_N 0
145 #define hwbp_uart_leave_interrupt return
148 #define HWBP_UART_TXBUFSIZ 5120
155#define disable_hwbp_uart_rx set_io(HWBP_UART_RTS_PORT, HWBP_UART_RTS_pin);
156#define enable_hwbp_uart_rx clear_io(HWBP_UART_RTS_PORT, HWBP_UART_RTS_pin);
void hwbp_uart_xmit_now(const uint8_t *dataIn0, uint8_t siz)
Definition hwbp_core_com.c:131
void hwbp_com_uart_init(uint16_t BSEL, int8_t BSCALE, bool use_clk2x)
Definition hwbp_core_com.c:44
void core_callback_uart_tx_after_exec(void)
Called after execute the uart TX interrupt.
void hwbp_com_uart_disable()
Definition hwbp_core_com.c:78
void core_callback_uart_rx_after_exec(void)
Called after execute the uart RX interrupt.
void core_callback_uart_tx_before_exec(void)
Called before execute the uart Tx interrupt.
void hwbp_uart_xmit(const uint8_t *dataIn0, uint8_t siz)
Definition hwbp_core_com.c:145
void hwbp_com_uart_enable(void)
Definition hwbp_core_com.c:71
bool hwbp_uart_rcv_now(uint8_t *byte)
Definition hwbp_core_com.c:203
void core_callback_uart_cts_before_exec(void)
Called before execute the uart CTS interrupt.
void core_callback_uart_rx_before_exec(void)
Called before execute the uart rRX interrupt.
void hwbp_uart_xmit_now_byte(const uint8_t byte)
Definition hwbp_core_com.c:139
void core_callback_uart_cts_after_exec(void)
Called after execute the uart CTS interrupt.