From 8a330b33ff41ffc1ec3f8fa39722e93115ea3f0f Mon Sep 17 00:00:00 2001 From: Legonut Date: Tue, 4 Dec 2018 21:15:52 -0500 Subject: 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 * 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 --- keyboards/sol/rev1/split_util.c | 54 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 keyboards/sol/rev1/split_util.c (limited to 'keyboards/sol/rev1/split_util.c') diff --git a/keyboards/sol/rev1/split_util.c b/keyboards/sol/rev1/split_util.c new file mode 100644 index 000000000..c645bbdfe --- /dev/null +++ b/keyboards/sol/rev1/split_util.c @@ -0,0 +1,54 @@ +#include +#include +#include +#include +#include +#include +#include "split_util.h" +#include "matrix.h" +#include "keyboard.h" +#include "serial.h" + +volatile bool isLeftHand = true; + +static void setup_handedness(void) { + #ifdef EE_HANDS + isLeftHand = eeprom_read_byte(EECONFIG_HANDEDNESS); + #else + #if defined(MASTER_RIGHT) + isLeftHand = !has_usb(); + #else + isLeftHand = has_usb(); + #endif + #endif +} + +static void keyboard_master_setup(void) { + serial_master_init(); +} + +static void keyboard_slave_setup(void) { + serial_slave_init(); +} + +bool has_usb(void) { + USBCON |= (1 << OTGPADE); //enables VBUS pad + _delay_us(5); + return (USBSTA & (1<