diff options
author | Drashna Jaelre <drashna@live.com> | 2019-04-08 12:43:03 -0700 |
---|---|---|
committer | MechMerlin <30334081+mechmerlin@users.noreply.github.com> | 2019-04-08 12:43:03 -0700 |
commit | f8d365a47847f8e49fde5096aa065dbee08cf728 (patch) | |
tree | b3e865779abd7d2aaa49eb1e73a70f60a60f4f26 /keyboards/keebio/bfo9000/split_util.c | |
parent | da9bb590551e4e40552f301852074dffccd2c29d (diff) | |
download | firmware-f8d365a47847f8e49fde5096aa065dbee08cf728.tar.gz firmware-f8d365a47847f8e49fde5096aa065dbee08cf728.tar.bz2 firmware-f8d365a47847f8e49fde5096aa065dbee08cf728.zip |
Convert BFO9000 to Split Keyboard code (#5568)
Diffstat (limited to 'keyboards/keebio/bfo9000/split_util.c')
-rw-r--r-- | keyboards/keebio/bfo9000/split_util.c | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/keyboards/keebio/bfo9000/split_util.c b/keyboards/keebio/bfo9000/split_util.c deleted file mode 100644 index 7f200e6c9..000000000 --- a/keyboards/keebio/bfo9000/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(); - } -} |