[Core] Refactor OLED to allow easy addition of other types (#13454)

* add docs

* core changes

* update keyboards to new OLED

* updated users to new OLED

* update layouts to new OLED

* fixup docs

* drashna's suggestion

* fix up docs

* new keyboards with oled

* core split changes

* remaining keyboard files

* Fix The Helix keyboards oled options

* reflect develop

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: mtei <2170248+mtei@users.noreply.github.com>
This commit is contained in:
Xelus22
2021-08-24 16:28:26 +10:00
committed by GitHub
parent 6fd20acf4b
commit 4e1c5887c5
500 changed files with 1579 additions and 1387 deletions

View File

@@ -24,7 +24,7 @@
// Speed up slave half startup
#define SPLIT_USB_TIMEOUT 1000
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
# define OLED_DISPLAY_128X64
# define OLED_TIMEOUT 10000
#endif

View File

@@ -22,7 +22,7 @@
# include "encoder_utils.h"
#endif
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
# include "oled_utils.h"
#endif
@@ -103,7 +103,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; }
void oled_task_user(void) { render_status(); }
@@ -113,12 +113,12 @@ void oled_task_user(void) { render_status(); }
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
encoder_action(get_encoder_mode(true), clockwise);
# ifdef OLED_DRIVER_ENABLE
# ifdef OLED_ENABLE
oled_on();
# endif
} else if (index == 1) {
encoder_action(get_encoder_mode(false), clockwise);
# ifdef OLED_DRIVER_ENABLE
# ifdef OLED_ENABLE
oled_on();
# endif
}

View File

@@ -2,14 +2,15 @@ CONSOLE_ENABLE = yes # Console for debug
ENCODER_ENABLE = yes # ENables the use of one or more encoders
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
MOUSEKEY_ENABLE = no # Mouse keys
OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays
OLED_ENABLE = yes
OLED_DRIVER = SSD1306 # Enables the use of OLED displays
THUMBSTICK_ENABLE = yes # Enables analog thumbstick code
ifeq ($(strip $(ENCODER_ENABLE)), yes)
SRC += encoder_utils.c
endif
ifeq ($(strip $(OLED_DRIVER_ENABLE)), yes)
ifeq ($(strip $(OLED_ENABLE)), yes)
SRC += oled_utils.c
endif