7 /* TODO: some defines for interrupt setup */
8 #define SERIAL_PIN_DDR DDRD
9 #define SERIAL_PIN_PORT PORTD
10 #define SERIAL_PIN_INPUT PIND
12 #ifndef USE_SERIAL_PD2
13 #define SERIAL_PIN_MASK _BV(PD0)
14 #define SERIAL_PIN_INTERRUPT INT0_vect
16 #define SERIAL_PIN_MASK _BV(PD2)
17 #define SERIAL_PIN_INTERRUPT INT2_vect
20 #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
21 #ifdef KEYBOARD_helix_rev1
22 #define SERIAL_MASTER_BUFFER_LENGTH 1
24 #define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
27 // Buffers for master - slave communication
28 extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH];
29 extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH];
31 void serial_master_init(void);
32 void serial_slave_init(void);
33 int serial_update_buffers(void);
34 bool serial_slave_data_corrupt(void);