|
|
@ -1,28 +1,19 @@ |
|
|
|
#ifndef MY_SERIAL_H |
|
|
|
#define MY_SERIAL_H |
|
|
|
#ifndef SOFT_SERIAL_H |
|
|
|
#define SOFT_SERIAL_H |
|
|
|
|
|
|
|
#include "config.h" |
|
|
|
#include <stdbool.h> |
|
|
|
|
|
|
|
/* TODO: some defines for interrupt setup */ |
|
|
|
#define SERIAL_PIN_DDR DDRD |
|
|
|
#define SERIAL_PIN_PORT PORTD |
|
|
|
#define SERIAL_PIN_INPUT PIND |
|
|
|
|
|
|
|
#ifndef USE_SERIAL_PD2 |
|
|
|
#define SERIAL_PIN_MASK _BV(PD0) |
|
|
|
#define SERIAL_PIN_INTERRUPT INT0_vect |
|
|
|
#else |
|
|
|
#define SERIAL_PIN_MASK _BV(PD2) |
|
|
|
#define SERIAL_PIN_INTERRUPT INT2_vect |
|
|
|
#endif |
|
|
|
|
|
|
|
#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 |
|
|
|
#ifdef KEYBOARD_helix_rev1 |
|
|
|
#define SERIAL_MASTER_BUFFER_LENGTH 1 |
|
|
|
#else |
|
|
|
#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2 |
|
|
|
#endif |
|
|
|
// //////////////////////////////////////////// |
|
|
|
// 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]; |
|
|
@ -33,4 +24,4 @@ void serial_slave_init(void); |
|
|
|
int serial_update_buffers(void); |
|
|
|
bool serial_slave_data_corrupt(void); |
|
|
|
|
|
|
|
#endif |
|
|
|
#endif /* SOFT_SERIAL_H */ |