diff options
Diffstat (limited to 'quantum/painter')
-rw-r--r-- | quantum/painter/qp.h | 8 | ||||
-rw-r--r-- | quantum/painter/qp_draw_core.c | 14 | ||||
-rw-r--r-- | quantum/painter/rules.mk | 24 |
3 files changed, 38 insertions, 8 deletions
diff --git a/quantum/painter/qp.h b/quantum/painter/qp.h index e1c14d156c..fb6904de22 100644 --- a/quantum/painter/qp.h +++ b/quantum/painter/qp.h @@ -440,10 +440,18 @@ int16_t qp_drawtext_recolor(painter_device_t device, uint16_t x, uint16_t y, pai # include "qp_ili9341.h" #endif // QUANTUM_PAINTER_ILI9341_ENABLE +#ifdef QUANTUM_PAINTER_ILI9488_ENABLE +# include "qp_ili9488.h" +#endif // QUANTUM_PAINTER_ILI9488_ENABLE + #ifdef QUANTUM_PAINTER_ST7789_ENABLE # include "qp_st7789.h" #endif // QUANTUM_PAINTER_ST7789_ENABLE +#ifdef QUANTUM_PAINTER_ST7735_ENABLE +# include "qp_st7735.h" +#endif // QUANTUM_PAINTER_ST7735_ENABLE + #ifdef QUANTUM_PAINTER_GC9A01_ENABLE # include "qp_gc9a01.h" #endif // QUANTUM_PAINTER_GC9A01_ENABLE diff --git a/quantum/painter/qp_draw_core.c b/quantum/painter/qp_draw_core.c index c31c734132..309ef93dd0 100644 --- a/quantum/painter/qp_draw_core.c +++ b/quantum/painter/qp_draw_core.c @@ -20,17 +20,17 @@ _Static_assert((QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE > 0) && (QUANTUM_PAINTER_PIX // // Buffer used for transmitting native pixel data to the downstream device. -uint8_t qp_internal_global_pixdata_buffer[QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE]; +__attribute__((__aligned__(4))) uint8_t qp_internal_global_pixdata_buffer[QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE]; // Static buffer to contain a generated color palette -static bool generated_palette = false; -static int16_t generated_steps = -1; -static qp_pixel_t interpolated_fg_hsv888; -static qp_pixel_t interpolated_bg_hsv888; +static bool generated_palette = false; +static int16_t generated_steps = -1; +__attribute__((__aligned__(4))) static qp_pixel_t interpolated_fg_hsv888; +__attribute__((__aligned__(4))) static qp_pixel_t interpolated_bg_hsv888; #if QUANTUM_PAINTER_SUPPORTS_256_PALETTE -qp_pixel_t qp_internal_global_pixel_lookup_table[256]; +__attribute__((__aligned__(4))) qp_pixel_t qp_internal_global_pixel_lookup_table[256]; #else -qp_pixel_t qp_internal_global_pixel_lookup_table[16]; +__attribute__((__aligned__(4))) qp_pixel_t qp_internal_global_pixel_lookup_table[16]; #endif //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/quantum/painter/rules.mk b/quantum/painter/rules.mk index 9115d3d406..91787dfe0e 100644 --- a/quantum/painter/rules.mk +++ b/quantum/painter/rules.mk @@ -3,7 +3,7 @@ QUANTUM_PAINTER_DRIVERS ?= QUANTUM_PAINTER_ANIMATIONS_ENABLE ?= yes # The list of permissible drivers that can be listed in QUANTUM_PAINTER_DRIVERS -VALID_QUANTUM_PAINTER_DRIVERS := ili9163_spi ili9341_spi st7789_spi gc9a01_spi ssd1351_spi +VALID_QUANTUM_PAINTER_DRIVERS := ili9163_spi ili9341_spi ili9488_spi st7789_spi st7735_spi gc9a01_spi ssd1351_spi #------------------------------------------------------------------------------- @@ -61,6 +61,17 @@ define handle_quantum_painter_driver $(DRIVER_PATH)/painter/tft_panel/qp_tft_panel.c \ $(DRIVER_PATH)/painter/ili9xxx/qp_ili9341.c \ + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),ili9488_spi) + QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes + QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes + OPT_DEFS += -DQUANTUM_PAINTER_ILI9488_ENABLE -DQUANTUM_PAINTER_ILI9488_SPI_ENABLE + COMMON_VPATH += \ + $(DRIVER_PATH)/painter/tft_panel \ + $(DRIVER_PATH)/painter/ili9xxx + SRC += \ + $(DRIVER_PATH)/painter/tft_panel/qp_tft_panel.c \ + $(DRIVER_PATH)/painter/ili9xxx/qp_ili9488.c \ + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),st7789_spi) QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes @@ -72,6 +83,17 @@ define handle_quantum_painter_driver $(DRIVER_PATH)/painter/tft_panel/qp_tft_panel.c \ $(DRIVER_PATH)/painter/st77xx/qp_st7789.c + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),st7735_spi) + QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes + QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes + OPT_DEFS += -DQUANTUM_PAINTER_ST7735_ENABLE -DQUANTUM_PAINTER_ST7735_SPI_ENABLE + COMMON_VPATH += \ + $(DRIVER_PATH)/painter/tft_panel \ + $(DRIVER_PATH)/painter/st77xx + SRC += \ + $(DRIVER_PATH)/painter/tft_panel/qp_tft_panel.c \ + $(DRIVER_PATH)/painter/st77xx/qp_st7735.c + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),gc9a01_spi) QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes |