1
0
Fork 0

[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
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
500 changed files with 1579 additions and 1387 deletions

View file

@ -42,8 +42,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define EE_HANDS
// Helix keyboard OLED support
// see ./rules.mk: OLED_ENABLE=yes or no
#ifdef OLED_ENABLE
// see ./local_features.mk: OLED_SELECT=local
#ifdef OLED_LOCAL_ENABLE
#define SSD1306OLED
#endif

View file

@ -36,9 +36,9 @@ enum layer_number {
};
//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
#if defined(SSD1306OLED) || defined(OLED_DRIVER_ENABLE)
#if defined(SSD1306OLED) || defined(OLED_ENABLE)
# if defined(OLED_DRIVER_ENABLE)
# if defined(OLED_ENABLE)
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
if (is_keyboard_master()) {
return OLED_ROTATION_0;

View file

@ -2,7 +2,7 @@
#include <string.h>
#include "oled.h"
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
void render_host_led_state(void) {
char led_state_str[24];
uint8_t leds = host_keyboard_leds();
@ -65,4 +65,4 @@ void oled_task_user(void) {
render_logo();
}
}
#endif // OLED_DRIVER_ENABLE
#endif // OLED_ENABLE

View file

@ -35,9 +35,9 @@ void init_helix_oled(void) {
}
//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
#if defined(SSD1306OLED) || defined(OLED_DRIVER_ENABLE)
#if defined(SSD1306OLED) || defined(OLED_ENABLE)
# if defined(OLED_DRIVER_ENABLE)
# if defined(OLED_ENABLE)
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
if (is_keyboard_master()) {
return OLED_ROTATION_0;

View file

@ -31,7 +31,6 @@ ifneq ($(strip $(HELIX)),)
$(if $(SHOW_PARCE),$(info parse -$1-)) #debug
ifeq ($(strip $1),dispoff)
OLED_ENABLE = no
OLED_DRIVER_ENABLE = no
LED_BACK_ENABLE = no
LED_UNDERGLOW_ENABLE = no
endif

View file

@ -4,7 +4,8 @@ OPT_DEFS += -DRGBLIGHT_ANIMATIONS
# Helix specific define for correct RGBLED_NUM
OPT_DEFS += -DRGBLED_BACK
OLED_DRIVER_ENABLE = yes
OLED_ENABLE = yes
OLED_DRIVER = SSD1306
# Helix specific font file
OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\"
# Xulkal specific oled define

View file

@ -156,17 +156,20 @@ endif
ifeq ($(strip $(OLED_ENABLE)), yes)
ifeq ($(strip $(OLED_SELECT)),core)
OLED_DRIVER_ENABLE = yes
OLED_ENABLE = yes
OLED_DRIVER = SSD1306
ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
OPT_DEFS += -DOLED_FONT_H=\<helixfont.h\>
else
OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\"
endif
else
OLED_ENABLE = no # disable OLED in TOP/common_features.mk
OLED_LOCAL_ENABLE = yes
SRC += local_drivers/i2c.c
SRC += local_drivers/ssd1306.c
KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers
OPT_DEFS += -DOLED_ENABLE
OPT_DEFS += -DOLED_LOCAL_ENABLE
ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
OPT_DEFS += -DLOCAL_GLCDFONT
endif
@ -177,7 +180,8 @@ ifneq ($(strip $(SHOW_HELIX_OPTIONS)),)
$(eval $(call HELIX_CUSTOMISE_MSG))
ifneq ($(strip $(SHOW_VERBOSE_INFO)),)
$(info -- RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE))
$(info -- OLED_DRIVER_ENABLE = $(OLED_DRIVER_ENABLE))
$(info -- OLED_DRIVER = $(OLED_DRIVER))
$(info -- OLED_LOCAL_ENABLE = $(OLED_LOCAL_ENABLE))
$(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE))
$(info -- OPT_DEFS = $(OPT_DEFS))
$(info -- SPLIT_KEYBOARD = $(SPLIT_KEYBOARD))