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

@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; }
static void render_logo(void) {

View file

@ -1 +1,2 @@
OLED_DRIVER_ENABLE = yes
OLED_ENABLE = yes
OLED_DRIVER = SSD1306

View file

@ -14,7 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
// Enable OLED bitmpa compression selectively.
#define USE_OLED_BITMAP_COMPRESSION
@ -401,4 +401,4 @@ static const char PROGMEM tap_frames[NUM_TAP_FRAMES][NUM_OLED_BYTES] = {
},
};
#endif //USE_BITMAP_COMPRESSION
#endif //OLED_DRIVER_ENABLE
#endif //OLED_ENABLE

View file

@ -86,7 +86,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
#define IDLE_FRAME_DURATION 200 // Idle animation iteration rate in ms
oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; }
@ -173,7 +173,7 @@ void oled_task_user(void) {
// Animate tap
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
// Check if non-mod
if ((keycode >= KC_A && keycode <= KC_0) || (keycode >= KC_TAB && keycode <= KC_SLASH)) {
if (record->event.pressed) {
@ -192,7 +192,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case PROG:
if (record->event.pressed) {
rgblight_disable_noeeprom();
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
oled_off();
#endif
bootloader_jump();

View file

@ -1,3 +1,4 @@
OLED_DRIVER_ENABLE = yes
OLED_ENABLE = yes
OLED_DRIVER = SSD1306
WPM_ENABLE = yes
VIA_ENABLE = yes
VIA_ENABLE = yes

View file

@ -16,6 +16,6 @@
#pragma once
// Referenced custom font
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
# define OLED_FONT_H "keyboards/nullbitsco/nibble/keymaps/oled_status/glcdfont.c"
#endif

View file

@ -15,7 +15,7 @@
*/
#include QMK_KEYBOARD_H
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
# include "oled_display.h"
#endif
@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
// clang-format on
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
oled_timer = timer_read32();
set_oled_mode(OLED_MODE_IDLE);
@ -66,7 +66,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case RGB_TOG:
if (record->event.pressed) {
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
process_record_keymap_oled(keycode);
#endif
}
@ -82,12 +82,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
bool encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise) {
tap_code(KC_VOLU);
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
process_record_encoder_oled(KC_VOLU);
#endif
} else {
tap_code(KC_VOLD);
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
process_record_encoder_oled(KC_VOLD);
#endif
}

View file

@ -1,7 +1,8 @@
OLED_DRIVER_ENABLE = yes
OLED_ENABLE = yes
OLED_DRIVER = SSD1306
WPM_ENABLE = yes
VIA_ENABLE = yes
ifeq ($(strip $(OLED_DRIVER_ENABLE)), yes)
ifeq ($(strip $(OLED_ENABLE)), yes)
SRC += oled_display.c
endif