From 6e27f6fbde47804035d508eb84690ed7ee9acee7 Mon Sep 17 00:00:00 2001 From: climbalima Date: Thu, 10 Nov 2016 18:19:13 -0500 Subject: Changes to be committed: new file: keyboards/lets_splitv2/Makefile new file: keyboards/lets_splitv2/config.h new file: keyboards/lets_splitv2/i2c.c new file: keyboards/lets_splitv2/i2c.h new file: keyboards/lets_splitv2/imgs/split-keyboard-i2c-schematic.png new file: keyboards/lets_splitv2/imgs/split-keyboard-serial-schematic.png new file: keyboards/lets_splitv2/keymaps/default/keymap.c new file: keyboards/lets_splitv2/lets_split.c new file: keyboards/lets_splitv2/lets_split.h new file: keyboards/lets_splitv2/matrix.c new file: keyboards/lets_splitv2/pro_micro.h new file: keyboards/lets_splitv2/readme.md new file: keyboards/lets_splitv2/serial.c new file: keyboards/lets_splitv2/serial.h new file: keyboards/lets_splitv2/split_util.c new file: keyboards/lets_splitv2/split_util.h new file: keyboards/maxipad/Makefile new file: keyboards/maxipad/config.h new file: keyboards/maxipad/keymaps/default/Makefile new file: keyboards/maxipad/keymaps/default/config.h new file: keyboards/maxipad/keymaps/default/keymap.c new file: keyboards/maxipad/keymaps/default/readme.md new file: keyboards/maxipad/maxipad.c new file: keyboards/maxipad/maxipad.h new file: keyboards/maxipad/readme.md --- keyboards/lets_splitv2/split_util.c | 76 +++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 keyboards/lets_splitv2/split_util.c (limited to 'keyboards/lets_splitv2/split_util.c') diff --git a/keyboards/lets_splitv2/split_util.c b/keyboards/lets_splitv2/split_util.c new file mode 100644 index 000000000..65003a71a --- /dev/null +++ b/keyboards/lets_splitv2/split_util.c @@ -0,0 +1,76 @@ +#include +#include +#include +#include +#include +#include +#include "split_util.h" +#include "matrix.h" +#include "i2c.h" +#include "serial.h" +#include "keyboard.h" +#include "config.h" + +volatile bool isLeftHand = true; + +static void setup_handedness(void) { + #ifdef EE_HANDS + isLeftHand = eeprom_read_byte(EECONFIG_HANDEDNESS); + #else + #ifdef I2C_MASTER_RIGHT + isLeftHand = !has_usb(); + #else + isLeftHand = has_usb(); + #endif + #endif +} + +static void keyboard_master_setup(void) { +#ifdef USE_I2C + i2c_master_init(); +#else + serial_master_init(); +#endif +} + +static void keyboard_slave_setup(void) { +#ifdef USE_I2C + i2c_slave_init(SLAVE_I2C_ADDRESS); +#else + serial_slave_init(); +#endif +} + +bool has_usb(void) { + USBCON |= (1 << OTGPADE); //enables VBUS pad + _delay_us(5); + return (USBSTA & (1<