[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:
		
							parent
							
								
									6fd20acf4b
								
							
						
					
					
						commit
						4e1c5887c5
					
				
					 500 changed files with 1579 additions and 1387 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue