qmk_sweep_skeletyl/keyboards/dm9records/ergoinu/serial.h
James Young fced377ac0
2020 May 30 Breaking Changes Update ()
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` ()

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` ()

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` ()

* Migrate `ACTION_LAYER_MODS` to `LM()` ()

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` ()

* Convert V-USB usbdrv to a submodule ()

* Unify Tap Hold functions and documentation ()

* Changing board names to prevent confusion ()

* Move the Keyboardio Model01 to a keyboardio/ subdir ()

* Move spaceman keyboards ()

* Migrate miscellaneous `fn_actions` entries ()

* Migrate `ACTION_MODS_KEY` to chained mod keycodes ()

* Organizing my keyboards (plaid, tartan, ergoinu) ()

* Refactor Lily58 to use split_common ()

* Refactor zinc to use split_common ()

* Add a message if bin/qmk doesn't work ()

* Fix conflicting types for 'tfp_printf' ()

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup ()

* Refactor and updates to TKC1800 code ()

* Switch to qmk forks for everything ()

* audio refactor: replace deprecated PLAY_NOTE_ARRAY ()

* Audio enable corrections (2/3) ()

* Split HHKB to ANSI and JP layouts and Add VIA support for each ()

* Audio enable corrections (Part 4) ()

* Fix typo from PR7114 ()

* Augment future branch Changelogs ()

* Revert "Branch point for 2020 May 30 Breaking Change"
2020-05-30 13:14:59 -07:00

24 lines
814 B
C

#pragma once
#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);