]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/helix/serial.h
Helix config refine (#3374)
[qmk_firmware.git] / keyboards / helix / serial.h
1 #ifndef SOFT_SERIAL_H
2 #define SOFT_SERIAL_H
3
4 #include <stdbool.h>
5
6 // ////////////////////////////////////////////
7 // Need Soft Serial defines in serial_config.h
8 // ////////////////////////////////////////////
9 // ex.
10 //  #define SERIAL_PIN_DDR DDRD
11 //  #define SERIAL_PIN_PORT PORTD
12 //  #define SERIAL_PIN_INPUT PIND
13 //  #define SERIAL_PIN_MASK _BV(PD?)   ?=0,2
14 //  #define SERIAL_PIN_INTERRUPT INT?_vect  ?=0,2
15 //  #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
16 //  #define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
17
18 // Buffers for master - slave communication
19 extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH];
20 extern volatile uint8_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 /* SOFT_SERIAL_H */