[Keymap] clean up helix:five_rows keymap (#10866)
* Makes the OLED driver used by the helix:five_rows keymap switchable.
* use TOP/drivers/oled/oled_driver.c
`make HELIX=stdole helix:five_rows`
* use helix/local_drivers/ssd1306.c
`make HELIX=oled helix:five_rows`
* Separated the OLED related code from keymap.c and moved it to oled_display.c.
* scan rate without OLED
* make HELIX=verbose,dispoff,scan helix/rev2:five_rows
use Helix original code
text data bss dec hex filename
18880 58 235 19173 4ae5 .build/helix_rev2_five_rows.elf
matrix scan frequency: 1590
* make HELIX=verbose,dispoff,scan,sc helix/rev2:five_rows
use split_common code
text data bss dec hex filename
18554 40 231 18825 4989 .build/helix_rev2_five_rows.elf
matrix scan frequency: 1202
* scan rate with helix/local_drivers/ssd1306.c
* make HELIX=verbose,dispoff,scan,oled helix/rev2:five_rows
use Helix original code
text data bss dec hex filename
24048 196 342 24586 600a .build/helix_rev2_five_rows.elf
matrix scan frequency: 739
* make HELIX=verbose,dispoff,scan,sc,oled helix/rev2:five_rows
use split_common code
text data bss dec hex filename
23750 176 338 24264 5ec8 .build/helix_rev2_five_rows.elf
matrix scan frequency: 642
* scan rate with drivers/oled/oled_driver.c
* make HELIX=verbose,dispoff,scan,stdole helix/rev2:five_rows
use Helix original code
text data bss dec hex filename
24590 210 798 25598 63fe .build/helix_rev2_five_rows.elf
matrix scan frequency: 293
* make HELIX=verbose,dispoff,scan,sc,stdole helix/rev2:five_rows
use split_common code
text data bss dec hex filename
24290 190 794 25274 62ba .build/helix_rev2_five_rows.elf
matrix scan frequency: 277
* clean up helix/rev2/keymaps/five_rows/keymap.c
* update five_rows/oled_display.c
* update helix/rev2/keymaps/five_rows/keymap.c: remove LAYOUT_kc()
* Ported the keymap from helix/rev2:five_rows to helix/rev3_5rows:five_rows.
* update five_rows/oled_display.c
* add License comment
This commit is contained in:
@@ -25,9 +25,51 @@ HELIX_ROWS = 5 # Helix Rows is 4 or 5
|
||||
# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
|
||||
|
||||
ifneq ($(strip $(HELIX)),)
|
||||
ifeq ($(findstring console,$(HELIX)), console)
|
||||
CONSOLE_ENABLE = yes
|
||||
endif
|
||||
define KEYMAP_OPTION_PARSE
|
||||
# $xinfo .$1.x #debug
|
||||
# parse 'dispoff', 'consle', 'stdole', 'oled', 'sc'
|
||||
ifeq ($(strip $1),dispoff)
|
||||
OLED_ENABLE = no
|
||||
OLED_DRIVER_ENABLE = no
|
||||
LED_BACK_ENABLE = no
|
||||
LED_UNDERGLOW_ENABLE = no
|
||||
endif
|
||||
ifeq ($(strip $1),console)
|
||||
CONSOLE_ENABLE = yes
|
||||
endif
|
||||
ifeq ($(strip $1),stdole)
|
||||
## make HELIX=stdole helix:five_rows -- use TOP/drivers/oled/oled_driver.c
|
||||
OLED_ENABLE = new
|
||||
endif
|
||||
ifeq ($(strip $1),oled)
|
||||
## make HELIX=oled helix:five_rows -- use helix/local_drivers/ssd1306.c
|
||||
OLED_ENABLE = yes
|
||||
endif
|
||||
ifeq ($(strip $1),back)
|
||||
LED_BACK_ENABLE = yes
|
||||
endif
|
||||
ifeq ($(strip $1),sc)
|
||||
SPLIT_KEYBOARD = yes
|
||||
endif
|
||||
endef # end of KEYMAP_OPTION_PARSE
|
||||
|
||||
COMMA=,
|
||||
$(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(HELIX)), \
|
||||
$(call KEYMAP_OPTION_PARSE,$(A_OPTION_NAME))))
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(OLED_ENABLE)), new)
|
||||
OLED_DRIVER_ENABLE = yes
|
||||
OLED_ENABLE = no
|
||||
SRC += oled_display.c
|
||||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
|
||||
OPT_DEFS += -DOLED_FONT_H=\<helixfont.h\>
|
||||
else
|
||||
OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\"
|
||||
endif
|
||||
endif
|
||||
ifeq ($(strip $(OLED_ENABLE)), yes)
|
||||
SRC += oled_display.c
|
||||
endif
|
||||
|
||||
# convert Helix-specific options (that represent combinations of standard options)
|
||||
|
||||
Reference in New Issue
Block a user