diff options
author | zvecr <git@zvecr.com> | 2018-12-05 17:51:35 +0000 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-12-05 09:51:35 -0800 |
commit | b3d6426aa95a895585b41b9cd6c0c5bec39f0e92 (patch) | |
tree | ede02e259b34124b8dc5fd79f68b617f4095f3f3 /keyboards/lets_split/split_util.c | |
parent | d0da43fbdcb78603b34bcf6c0718e104b593c5ce (diff) | |
download | qmk_firmware-b3d6426aa95a895585b41b9cd6c0c5bec39f0e92.tar.gz |
Keyboard: Refactor lets split to use split common code (#4536)
* Refactor lets split to use split common code
* Refactor lets split to use split common code
* Build fixes for OLED_sample keymap
* Build fixes for OLED_sample keymap - attempt to reduce firmware size
Diffstat (limited to 'keyboards/lets_split/split_util.c')
-rw-r--r-- | keyboards/lets_split/split_util.c | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/keyboards/lets_split/split_util.c b/keyboards/lets_split/split_util.c deleted file mode 100644 index 346cbc908..000000000 --- a/keyboards/lets_split/split_util.c +++ /dev/null @@ -1,86 +0,0 @@ -#include <avr/io.h> -#include <avr/wdt.h> -#include <avr/power.h> -#include <avr/interrupt.h> -#include <util/delay.h> -#include <avr/eeprom.h> -#include "split_util.h" -#include "matrix.h" -#include "keyboard.h" -#include "config.h" -#include "timer.h" - -#ifdef USE_I2C -# include "i2c.h" -#else -# include "serial.h" -#endif - -volatile bool isLeftHand = true; - -static void setup_handedness(void) { - #ifdef EE_HANDS - isLeftHand = eeprom_read_byte(EECONFIG_HANDEDNESS); - #else - // I2C_MASTER_RIGHT is deprecated, use MASTER_RIGHT instead, since this works for both serial and i2c - #if defined(I2C_MASTER_RIGHT) || defined(MASTER_RIGHT) - isLeftHand = !has_usb(); - #else - isLeftHand = has_usb(); - #endif - #endif -} - -static void keyboard_master_setup(void) { -#ifdef USE_I2C - i2c_master_init(); -#ifdef SSD1306OLED - matrix_master_OLED_init (); -#endif -#else - serial_master_init(); -#endif -} - -static void keyboard_slave_setup(void) { - timer_init(); -#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<<VBUS)); //checks state of VBUS -} - -void split_keyboard_setup(void) { - setup_handedness(); - - if (has_usb()) { - keyboard_master_setup(); - } else { - keyboard_slave_setup(); - } - sei(); -} - -void keyboard_slave_loop(void) { - matrix_init(); - - while (1) { - matrix_slave_scan(); - } -} - -// this code runs before the usb and keyboard is initialized -void matrix_setup(void) { - split_keyboard_setup(); - - if (!has_usb()) { - keyboard_slave_loop(); - } -} |