forked from forks/qmk_firmware
bceffdefca
* Fork from Let's Split * Organizing files * Delete some keymaps * I2C and serial enabled at the same time * Change readme * add #define HELIX_ROWS for multiple rows * Delete avrdude flashing script * Delete makefiles * Subproject elimination * Fix lufa path * Remove PLAY_NOTE_ARRAY usages to get rid of warning. Fix conflicting function name * Mousekey change default to off * Fix to oled display adjust * make rev2 change pin assign change keymap * use master_buffer * Timing adjustment * Organizing files * Change Keymap * Change Keymap Add EISU and KANA Correct 4rows * NKRO default to disable * EXTRAKEY_ENABLE default to disable * add rgb reset key * rgb custom function enable * Extend font * add RGBLED_POWER default folder to helix/rev2 RGB_ENABLE to no * renamed directory * Disable RGBLIGHT_CUSTOM_DRIVER * Disable LOCKING_SUPPORT_ENABLE * Update bootloader setting * Change readme * Fixed argument error
37 lines
910 B
C
37 lines
910 B
C
#ifndef MY_SERIAL_H
|
|
#define MY_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
|
|
|
|
// 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
|