ESPHome 2026.5.1
Loading...
Searching...
No Matches
ili9xxx_defines.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4
5namespace esphome::ili9xxx {
6
7// Color definitions
8// clang-format off
9static const uint8_t MADCTL_MY = 0x80;
10static const uint8_t MADCTL_MX = 0x40;
11static const uint8_t MADCTL_MV = 0x20;
12static const uint8_t MADCTL_ML = 0x10;
13static const uint8_t MADCTL_RGB = 0x00;
14static const uint8_t MADCTL_BGR = 0x08;
15static const uint8_t MADCTL_MH = 0x04;
16// clang-format on
17
18// All ILI9XXX specific commands some are used by init()
19static const uint8_t ILI9XXX_NOP = 0x00;
20static const uint8_t ILI9XXX_SWRESET = 0x01;
21static const uint8_t ILI9XXX_RDDID = 0x04;
22static const uint8_t ILI9XXX_RDDST = 0x09;
23
24static const uint8_t ILI9XXX_SLPIN = 0x10;
25static const uint8_t ILI9XXX_SLPOUT = 0x11;
26static const uint8_t ILI9XXX_PTLON = 0x12;
27static const uint8_t ILI9XXX_NORON = 0x13;
28
29static const uint8_t ILI9XXX_RDMODE = 0x0A;
30static const uint8_t ILI9XXX_RDMADCTL = 0x0B;
31static const uint8_t ILI9XXX_RDPIXFMT = 0x0C;
32static const uint8_t ILI9XXX_RDIMGFMT = 0x0D;
33static const uint8_t ILI9XXX_RDSELFDIAG = 0x0F;
34
35static const uint8_t ILI9XXX_INVOFF = 0x20;
36static const uint8_t ILI9XXX_INVON = 0x21;
37static const uint8_t ILI9XXX_GAMMASET = 0x26;
38static const uint8_t ILI9XXX_DISPOFF = 0x28;
39static const uint8_t ILI9XXX_DISPON = 0x29;
40
41static const uint8_t ILI9XXX_CASET = 0x2A;
42static const uint8_t ILI9XXX_PASET = 0x2B;
43static const uint8_t ILI9XXX_RAMWR = 0x2C;
44static const uint8_t ILI9XXX_RAMRD = 0x2E;
45
46static const uint8_t ILI9XXX_PTLAR = 0x30;
47static const uint8_t ILI9XXX_VSCRDEF = 0x33;
48static const uint8_t ILI9XXX_MADCTL = 0x36;
49static const uint8_t ILI9XXX_VSCRSADD = 0x37;
50static const uint8_t ILI9XXX_IDMOFF = 0x38;
51static const uint8_t ILI9XXX_IDMON = 0x39;
52static const uint8_t ILI9XXX_PIXFMT = 0x3A;
53static const uint8_t ILI9XXX_COLMOD = 0x3A;
54
55static const uint8_t ILI9XXX_GETSCANLINE = 0x45;
56
57static const uint8_t ILI9XXX_WRDISBV = 0x51;
58static const uint8_t ILI9XXX_RDDISBV = 0x52;
59static const uint8_t ILI9XXX_WRCTRLD = 0x53;
60
61static const uint8_t ILI9XXX_IFMODE = 0xB0;
62static const uint8_t ILI9XXX_FRMCTR1 = 0xB1;
63static const uint8_t ILI9XXX_FRMCTR2 = 0xB2;
64static const uint8_t ILI9XXX_FRMCTR3 = 0xB3;
65static const uint8_t ILI9XXX_INVCTR = 0xB4;
66static const uint8_t ILI9XXX_DFUNCTR = 0xB6;
67static const uint8_t ILI9XXX_ETMOD = 0xB7;
68
69static const uint8_t ILI9XXX_PWCTR1 = 0xC0;
70static const uint8_t ILI9XXX_PWCTR2 = 0xC1;
71static const uint8_t ILI9XXX_PWCTR3 = 0xC2;
72static const uint8_t ILI9XXX_PWCTR4 = 0xC3;
73static const uint8_t ILI9XXX_PWCTR5 = 0xC4;
74static const uint8_t ILI9XXX_PWCTR6 = 0xF6;
75static const uint8_t ILI9XXX_VMCTR1 = 0xC5;
76static const uint8_t ILI9XXX_IFCTR = 0xC6;
77static const uint8_t ILI9XXX_VMCTR2 = 0xC7;
78static const uint8_t ILI9XXX_GMCTR = 0xC8;
79static const uint8_t ILI9XXX_SETEXTC = 0xC8;
80
81static const uint8_t ILI9XXX_PWSET = 0xD0;
82static const uint8_t ILI9XXX_VMCTR = 0xD1;
83static const uint8_t ILI9XXX_PWSETN = 0xD2;
84static const uint8_t ILI9XXX_RDID4 = 0xD3;
85static const uint8_t ILI9XXX_RDINDEX = 0xD9;
86static const uint8_t ILI9XXX_RDID1 = 0xDA;
87static const uint8_t ILI9XXX_RDID2 = 0xDB;
88static const uint8_t ILI9XXX_RDID3 = 0xDC;
89static const uint8_t ILI9XXX_RDIDX = 0xDD; // TBC
90
91static const uint8_t ILI9XXX_GMCTRP1 = 0xE0;
92static const uint8_t ILI9XXX_GMCTRN1 = 0xE1;
93
94static const uint8_t ILI9XXX_CSCON = 0xF0;
95static const uint8_t ILI9XXX_ADJCTL3 = 0xF7;
96static const uint8_t ILI9XXX_DELAY_FLAG = 0xFF;
97// special marker for delay - command byte reprents ms, length byte is an impossible value
98#define ILI9XXX_DELAY(ms) ((uint8_t) ((ms) | 0x80)), ILI9XXX_DELAY_FLAG
99
100} // namespace esphome::ili9xxx