1 #ifndef CONFIG_DEFINITIONS_H
2 #define CONFIG_DEFINITIONS_H
58 /* USART configuration */
59 #ifdef BLUETOOTH_ENABLE
60 # ifdef __AVR_ATmega32U4__
61 # define SERIAL_UART_BAUD 9600
62 # define SERIAL_UART_DATA UDR1
63 # define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
64 # define SERIAL_UART_RXD_VECT USART1_RX_vect
65 # define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
66 # define SERIAL_UART_INIT() do { \
68 UBRR1L = SERIAL_UART_UBRR; \
70 UBRR1H = SERIAL_UART_UBRR >> 8; \
72 UCSR1B = _BV(TXEN1); \
74 UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
78 # error "USART configuration is needed."
83 * PS/2 Interrupt configuration
86 /* uses INT1 for clock line(ATMega32U4) */
87 #define PS2_CLOCK_PORT PORTD
88 #define PS2_CLOCK_PIN PIND
89 #define PS2_CLOCK_DDR DDRD
90 #define PS2_CLOCK_BIT 1
92 #define PS2_DATA_PORT PORTD
93 #define PS2_DATA_PIN PIND
94 #define PS2_DATA_DDR DDRD
95 #define PS2_DATA_BIT 0
97 #define PS2_INT_INIT() do { \
98 EICRA |= ((1<<ISC11) | \
101 #define PS2_INT_ON() do { \
102 EIMSK |= (1<<INT1); \
104 #define PS2_INT_OFF() do { \
105 EIMSK &= ~(1<<INT1); \
107 #define PS2_INT_VECT INT1_vect
111 * PS/2 Busywait configuration
113 #ifdef PS2_USE_BUSYWAIT
114 #define PS2_CLOCK_PORT PORTD
115 #define PS2_CLOCK_PIN PIND
116 #define PS2_CLOCK_DDR DDRD
117 #define PS2_CLOCK_BIT 1
119 #define PS2_DATA_PORT PORTD
120 #define PS2_DATA_PIN PIND
121 #define PS2_DATA_DDR DDRD
122 #define PS2_DATA_BIT 0