aboutsummaryrefslogtreecommitdiff
path: root/quantum
diff options
context:
space:
mode:
authorDasky <[email protected]>2024-09-18 12:44:33 +0100
committerGitHub <[email protected]>2024-09-18 21:44:33 +1000
commit49e339ba8d03e80f13190260ec92ba64bbb34998 (patch)
treec21ada655602b03f0a4075ce365bca62e84391ab /quantum
parent7983f7409b3f002849a321757d9bf18533e931a5 (diff)
downloadqmk_firmware-49e339ba8d03e80f13190260ec92ba64bbb34998.tar.gz
qmk_firmware-49e339ba8d03e80f13190260ec92ba64bbb34998.zip
Add LD7032 support to QP. (#20828)
Co-authored-by: Nick Brassel <[email protected]> Co-authored-by: Sergey Vlasov <[email protected]>
Diffstat (limited to 'quantum')
-rw-r--r--quantum/painter/qp.h6
-rw-r--r--quantum/painter/qp_internal.c1
-rw-r--r--quantum/painter/rules.mk27
3 files changed, 33 insertions, 1 deletions
diff --git a/quantum/painter/qp.h b/quantum/painter/qp.h
index 820c418f43..3dc77b42cf 100644
--- a/quantum/painter/qp.h
+++ b/quantum/painter/qp.h
@@ -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_LD7032_ENABLE
+# include "qp_ld7032.h"
+#else // QUANTUM_PAINTER_LD7032_ENABLE
+# define LD7032_NUM_DEVICES 0
+#endif // QUANTUM_PAINTER_LD7032_ENABLE
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Quantum Painter Extras
diff --git a/quantum/painter/qp_internal.c b/quantum/painter/qp_internal.c
index 7d4a6430af..5097edfa07 100644
--- a/quantum/painter/qp_internal.c
+++ b/quantum/painter/qp_internal.c
@@ -19,6 +19,7 @@ enum {
+ (GC9107_NUM_DEVICES) // GC9107
+ (SSD1351_NUM_DEVICES) // SSD1351
+ (SH1106_NUM_DEVICES) // SH1106
+ + (LD7032_NUM_DEVICES) // LD7032
};
static painter_device_t qp_devices[QP_NUM_DEVICES] = {NULL};
diff --git a/quantum/painter/rules.mk b/quantum/painter/rules.mk
index 7b2ab702ee..b773dd091c 100644
--- a/quantum/painter/rules.mk
+++ b/quantum/painter/rules.mk
@@ -17,7 +17,9 @@ VALID_QUANTUM_PAINTER_DRIVERS := \
gc9107_spi \
ssd1351_spi \
sh1106_i2c \
- sh1106_spi
+ sh1106_spi \
+ ld7032_i2c \
+ ld7032_spi
#-------------------------------------------------------------------------------
@@ -182,6 +184,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)),ld7032_spi)
+ QUANTUM_PAINTER_NEEDS_SURFACE := yes
+ QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes
+ QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes
+ OPT_DEFS += -DQUANTUM_PAINTER_LD7032_ENABLE -DQUANTUM_PAINTER_LD7032_SPI_ENABLE
+ COMMON_VPATH += \
+ $(DRIVER_PATH)/painter/oled_panel \
+ $(DRIVER_PATH)/painter/ld7032
+ SRC += \
+ $(DRIVER_PATH)/painter/oled_panel/qp_oled_panel.c \
+ $(DRIVER_PATH)/painter/ld7032/qp_ld7032.c
+
+ else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),ld7032_i2c)
+ QUANTUM_PAINTER_NEEDS_SURFACE := yes
+ QUANTUM_PAINTER_NEEDS_COMMS_I2C := yes
+ OPT_DEFS += -DQUANTUM_PAINTER_LD7032_ENABLE -DQUANTUM_PAINTER_LD7032_I2C_ENABLE
+ COMMON_VPATH += \
+ $(DRIVER_PATH)/painter/oled_panel \
+ $(DRIVER_PATH)/painter/ld7032
+ SRC += \
+ $(DRIVER_PATH)/painter/oled_panel/qp_oled_panel.c \
+ $(DRIVER_PATH)/painter/ld7032/qp_ld7032.c
+
endif
endef