Created SH1107 driver for quantum painter (#24724)

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
This commit is contained in:
Steve Storck 2025-02-16 16:41:07 -05:00 committed by GitHub
parent 164b7331c3
commit c00b0c5bc9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 339 additions and 0 deletions

View file

@ -557,6 +557,12 @@ int16_t qp_drawtext_recolor(painter_device_t device, uint16_t x, uint16_t y, pai
# define SH1106_NUM_DEVICES 0
#endif // QUANTUM_PAINTER_SH1106_ENABLE
#ifdef QUANTUM_PAINTER_SH1107_ENABLE
# include "qp_sh1107.h"
#else // QUANTUM_PAINTER_SH1107_ENABLE
# define SH1107_NUM_DEVICES 0
#endif // QUANTUM_PAINTER_SH1107_ENABLE
#ifdef QUANTUM_PAINTER_LD7032_ENABLE
# include "qp_ld7032.h"
#else // QUANTUM_PAINTER_LD7032_ENABLE

View file

@ -19,6 +19,7 @@ enum {
+ (GC9107_NUM_DEVICES) // GC9107
+ (SSD1351_NUM_DEVICES) // SSD1351
+ (SH1106_NUM_DEVICES) // SH1106
+ (SH1107_NUM_DEVICES) // SH1107
+ (LD7032_NUM_DEVICES) // LD7032
};

View file

@ -18,6 +18,8 @@ VALID_QUANTUM_PAINTER_DRIVERS := \
ssd1351_spi \
sh1106_i2c \
sh1106_spi \
sh1107_i2c \
sh1107_spi \
ld7032_i2c \
ld7032_spi
@ -184,6 +186,29 @@ define handle_quantum_painter_driver
$(DRIVER_PATH)/painter/oled_panel/qp_oled_panel.c \
$(DRIVER_PATH)/painter/sh1106/qp_sh1106.c
else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),sh1107_spi)
QUANTUM_PAINTER_NEEDS_SURFACE := yes
QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes
QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes
OPT_DEFS += -DQUANTUM_PAINTER_SH1107_ENABLE -DQUANTUM_PAINTER_SH1107_SPI_ENABLE
COMMON_VPATH += \
$(DRIVER_PATH)/painter/oled_panel \
$(DRIVER_PATH)/painter/sh1107
SRC += \
$(DRIVER_PATH)/painter/oled_panel/qp_oled_panel.c \
$(DRIVER_PATH)/painter/sh1107/qp_sh1107.c
else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),sh1107_i2c)
QUANTUM_PAINTER_NEEDS_SURFACE := yes
QUANTUM_PAINTER_NEEDS_COMMS_I2C := yes
OPT_DEFS += -DQUANTUM_PAINTER_SH1107_ENABLE -DQUANTUM_PAINTER_SH1107_I2C_ENABLE
COMMON_VPATH += \
$(DRIVER_PATH)/painter/oled_panel \
$(DRIVER_PATH)/painter/sh1107
SRC += \
$(DRIVER_PATH)/painter/oled_panel/qp_oled_panel.c \
$(DRIVER_PATH)/painter/sh1107/qp_sh1107.c
else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),ld7032_spi)
QUANTUM_PAINTER_NEEDS_SURFACE := yes
QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes