]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/orthodox/serial.h
Do some cleanup for the API
[qmk_firmware.git] / keyboards / orthodox / serial.h
1 #ifndef MY_SERIAL_H
2 #define MY_SERIAL_H
3
4 #include "config.h"
5 #include <stdbool.h>
6 #include "matrix.h"
7
8 /* TODO:  some defines for interrupt setup */
9 #define SERIAL_PIN_DDR DDRD
10 #define SERIAL_PIN_PORT PORTD
11 #define SERIAL_PIN_INPUT PIND
12 #define SERIAL_PIN_MASK _BV(PD0)
13 #define SERIAL_PIN_INTERRUPT INT0_vect
14
15 #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
16 #define SERIAL_MASTER_BUFFER_LENGTH 1
17
18 // Buffers for master - slave communication
19 extern volatile matrix_row_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH];
20 extern volatile matrix_row_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH];
21
22 void serial_master_init(void);
23 void serial_slave_init(void);
24 int serial_update_buffers(void);
25 bool serial_slave_data_corrupt(void);
26
27 #endif