[Driver] ILI9486 on Quantum Painter (#18521)
Co-authored-by: Nick Brassel <nick@tzarc.org>
This commit is contained in:
		
							parent
							
								
									39627c7620
								
							
						
					
					
						commit
						5383335717
					
				
					 8 changed files with 405 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -24,6 +24,7 @@ Supported devices:
 | 
			
		|||
| GC9A01         | RGB LCD (circular) | 240x240          | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += gc9a01_spi`  |
 | 
			
		||||
| ILI9163        | RGB LCD            | 128x128          | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9163_spi` |
 | 
			
		||||
| ILI9341        | RGB LCD            | 240x320          | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9341_spi` |
 | 
			
		||||
| ILI9486        | RGB LCD            | 320x480          | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9486_spi` |
 | 
			
		||||
| 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` |
 | 
			
		||||
| ST7735         | RGB LCD            | 132x162, 80x160  | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7735_spi`  |
 | 
			
		||||
| 
						 | 
				
			
			@ -281,6 +282,39 @@ The maximum number of displays can be configured by changing the following in yo
 | 
			
		|||
 | 
			
		||||
Native color format rgb565 is compatible with ILI9341
 | 
			
		||||
 | 
			
		||||
#### ** ILI9486 **
 | 
			
		||||
 | 
			
		||||
Enabling support for the ILI9486 in Quantum Painter is done by adding the following to `rules.mk`:
 | 
			
		||||
 | 
			
		||||
```make
 | 
			
		||||
QUANTUM_PAINTER_ENABLE = yes
 | 
			
		||||
QUANTUM_PAINTER_DRIVERS += ili9486_spi
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Creating a ILI9486 device in firmware can then be done with the following API:
 | 
			
		||||
 | 
			
		||||
```c
 | 
			
		||||
painter_device_t qp_ili9486_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);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
There's another variant for this [Waveshare module](https://www.waveshare.com/wiki/3.5inch_TFT_Touch_Shield), because it has a quirky SPI->Parallel converter. You can create it with:
 | 
			
		||||
 | 
			
		||||
```c
 | 
			
		||||
painter_device_t qp_ili9486_make_spi_waveshare_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 these functions 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 ILI9486_NUM_DEVICES 3
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Native color format rgb888 is compatible with ILI9486
 | 
			
		||||
Native color format rgb565 is compatible with ILI9486 Waveshare
 | 
			
		||||
 | 
			
		||||
#### ** ILI9488 **
 | 
			
		||||
 | 
			
		||||
Enabling support for the ILI9488 in Quantum Painter is done by adding the following to `rules.mk`:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue