diff options
author | David Hoelscher <infinityis@users.noreply.github.com> | 2022-07-31 21:58:25 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-31 19:58:25 -0700 |
commit | 2bdd73f80135965c1047b24b78fdf15c1ebbbee7 (patch) | |
tree | aac4992fdf46dac8a2e6c4d43a245ba558f6febb /docs | |
parent | 09ea5f6337452fa5f15b225da2873377f46b1bbc (diff) | |
download | qmk_firmware-2bdd73f80135965c1047b24b78fdf15c1ebbbee7.tar.gz qmk_firmware-2bdd73f80135965c1047b24b78fdf15c1ebbbee7.zip |
Add ST7735 driver to Quantum Painter (#17848)
Diffstat (limited to 'docs')
-rw-r--r-- | docs/quantum_painter.md | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/docs/quantum_painter.md b/docs/quantum_painter.md index 2386a70933..6d4e2764d4 100644 --- a/docs/quantum_painter.md +++ b/docs/quantum_painter.md @@ -27,6 +27,7 @@ Hardware supported: | ILI9488 | RGB LCD | 320x480 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS = ili9488_spi` | | SSD1351 | RGB OLED | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS = ssd1351_spi` | | ST7789 | RGB LCD | 240x320, 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS = st7789_spi` | +| ST7735 | RGB LCD | 132x162, 80x160 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS = st7735_spi` | ## Quantum Painter Configuration :id=quantum-painter-config @@ -727,4 +728,30 @@ The maximum number of displays can be configured by changing the following in yo #define ST7789_NUM_DEVICES 3 ``` -!> Some ST7789 devices are known to have different drawing offsets -- despite being a 240x320 pixel display controller internally, some display panels are only 240x240, or smaller. These may require an offset to be applied; see `qp_set_viewport_offsets` above for information on how to override the offsets if they aren't correctly rendered.
\ No newline at end of file +!> Some ST7789 devices are known to have different drawing offsets -- despite being a 240x320 pixel display controller internally, some display panels are only 240x240, or smaller. These may require an offset to be applied; see `qp_set_viewport_offsets` above for information on how to override the offsets if they aren't correctly rendered. + +### ST7735 :id=qp-driver-st7735 + +Enabling support for the ST7735 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS = st7735_spi +``` + +Creating a ST7735 device in firmware can then be done with the following API: + +```c +painter_device_t qp_st7735_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); +``` + +The device handle returned from the `qp_st7735_make_spi_device` function can be used to perform all other drawing operations. + +The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 displays: +#define ST7735_NUM_DEVICES 3 +``` + +!> Some ST7735 devices are known to have different drawing offsets -- despite being a 132x162 pixel display controller internally, some display panels are only 80x160, or smaller. These may require an offset to be applied; see `qp_set_viewport_offsets` above for information on how to override the offsets if they aren't correctly rendered.
\ No newline at end of file |