keychron_qmk_firmware/keyboards/sol/serial.h
Legonut 8a330b33ff Keyboard: Add new keyboard "Sol" from RGBKB (#4497)
* Add final RGBKB Sol firmware

* Apply suggestions from code review

Apply most of the changes noroadsleft has suggested

Co-Authored-By: Legonut <legonut3@gmail.com>

* Cleanup readme

* Cleanup keymaps per @noroadslefts suggestions

* Remove eeproms, use set_single_persistent_default_layer

* Suggestions from @noroadsleft and @drashna

some small cleanup

* Change RGB_SMOD to RGB_RMOD

* fix RGB_SMOD

* Apply suggestions from code review

Remove redundant lines

Co-Authored-By: Legonut <legonut3@gmail.com>
2018-12-04 18:15:52 -08:00

27 lines
762 B
C

#ifndef MY_SERIAL_H
#define MY_SERIAL_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
#define SERIAL_PIN_MASK _BV(PD3) //SErial pin goes here, D0-D3
#define SERIAL_PIN_INTERRUPT INT3_vect //"INT#" of your serial pin
#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