qp_st7789.h (2066B)
1 // Copyright 2021 Paul Cotter (@gr1mr3aver) 2 // Copyright 2021 Nick Brassel (@tzarc) 3 // SPDX-License-Identifier: GPL-2.0-or-later 4 #pragma once 5 6 #include "gpio.h" 7 #include "qp_internal.h" 8 9 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 10 // Quantum Painter ST7789 configurables (add to your keyboard's config.h) 11 12 #ifndef ST7789_NUM_DEVICES 13 /** 14 * @def This controls the maximum number of ST7789 devices that Quantum Painter can communicate with at any one time. 15 * Increasing this number allows for multiple displays to be used. 16 */ 17 # define ST7789_NUM_DEVICES 1 18 #endif 19 20 // Additional configuration options to be copied to your keyboard's config.h (don't change here): 21 22 // If you know exactly which offsets should be used on your panel with respect to selected rotation, then this config 23 // option allows you to save some flash space -- you'll need to invoke qp_set_viewport_offsets() instead from your keyboard. 24 // #define ST7789_NO_AUTOMATIC_VIEWPORT_OFFSETS 25 26 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 27 // Quantum Painter ST7789 device factories 28 29 #ifdef QUANTUM_PAINTER_ST7789_SPI_ENABLE 30 /** 31 * Factory method for an ST7789 SPI LCD device. 32 * 33 * @param panel_width[in] the width of the display panel 34 * @param panel_height[in] the height of the display panel 35 * @param chip_select_pin[in] the GPIO pin used for SPI chip select 36 * @param dc_pin[in] the GPIO pin used for D/C control 37 * @param reset_pin[in] the GPIO pin used for RST 38 * @param spi_divisor[in] the SPI divisor to use when communicating with the display 39 * @param spi_mode[in] the SPI mode to use when communicating with the display 40 * @return the device handle used with all drawing routines in Quantum Painter 41 */ 42 painter_device_t qp_st7789_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); 43 #endif // QUANTUM_PAINTER_ST7789_SPI_ENABLE