mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-12 13:17:38 +06:00
28 lines
873 B
C
28 lines
873 B
C
|
#ifndef SOFT_SERIAL_H
|
||
|
#define SOFT_SERIAL_H
|
||
|
|
||
|
#include <stdbool.h>
|
||
|
|
||
|
// ////////////////////////////////////////////
|
||
|
// Need Soft Serial defines in serial_config.h
|
||
|
// ////////////////////////////////////////////
|
||
|
// ex.
|
||
|
// #define SERIAL_PIN_DDR DDRD
|
||
|
// #define SERIAL_PIN_PORT PORTD
|
||
|
// #define SERIAL_PIN_INPUT PIND
|
||
|
// #define SERIAL_PIN_MASK _BV(PD?) ?=0,2
|
||
|
// #define SERIAL_PIN_INTERRUPT INT?_vect ?=0,2
|
||
|
// #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
|
||
|
// #define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
|
||
|
|
||
|
// Buffers for master - slave communication
|
||
|
extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH];
|
||
|
extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH];
|
||
|
|
||
|
void serial_master_init(void);
|
||
|
void serial_slave_init(void);
|
||
|
int serial_update_buffers(void);
|
||
|
bool serial_slave_data_corrupt(void);
|
||
|
|
||
|
#endif /* SOFT_SERIAL_H */
|