Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Panel_ILI9341 to add new variant ILI9341_2 #551

Merged
merged 1 commit into from
Apr 6, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 71 additions & 2 deletions src/lgfx/v1/panel/Panel_ILI9341.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,19 @@ namespace lgfx
{
//----------------------------------------------------------------------------

struct Panel_ILI9341 : public Panel_LCD
struct Panel_ILI9341_Base : public Panel_LCD
{
Panel_ILI9341(void)
Panel_ILI9341_Base(void)
{
_cfg.memory_width = _cfg.panel_width = 240;
_cfg.memory_height = _cfg.panel_height = 320;
}
};

//----------------------------------------------------------------------------

struct Panel_ILI9341 : public Panel_ILI9341_Base
{
protected:

static constexpr uint8_t CMD_FRMCTR1 = 0xB1;
Expand Down Expand Up @@ -88,5 +93,69 @@ namespace lgfx
};

//----------------------------------------------------------------------------


struct Panel_ILI9341_2 : public Panel_ILI9341_Base
{
protected:

static constexpr uint8_t CMD_FRMCTR1 = 0xB1;
static constexpr uint8_t CMD_FRMCTR2 = 0xB2;
static constexpr uint8_t CMD_FRMCTR3 = 0xB3;
static constexpr uint8_t CMD_INVCTR = 0xB4;
static constexpr uint8_t CMD_DFUNCTR = 0xB6;
static constexpr uint8_t CMD_PWCTR1 = 0xC0;
static constexpr uint8_t CMD_PWCTR2 = 0xC1;
static constexpr uint8_t CMD_PWCTR3 = 0xC2;
static constexpr uint8_t CMD_PWCTR4 = 0xC3;
static constexpr uint8_t CMD_PWCTR5 = 0xC4;
static constexpr uint8_t CMD_VMCTR1 = 0xC5;
static constexpr uint8_t CMD_VMCTR2 = 0xC7;
static constexpr uint8_t CMD_GMCTRP1 = 0x0; // Positive Gamma Correction (E0h)
static constexpr uint8_t CMD_GMCTRN1 = 0x0; // Negative Gamma Correction (E1h)
static constexpr uint8_t CMD_RDINDEX = 0xD9; // ili9341
static constexpr uint8_t CMD_IDXRD = 0xDD; // ILI9341 only, indexed control register read

const uint8_t* getInitCommands(uint8_t listno) const override
{
static constexpr uint8_t list0[] =
{
0xEF , 3, 0x03,0x80,0x02,
0xCF , 3, 0x00,0xC1,0x30,
0xED , 4, 0x64,0x03,0x12,0x81,
0xE8 , 3, 0x85,0x00,0x78,
0xCB , 5, 0x39,0x2C,0x00,0x34,0x02,
0xF7 , 1, 0x20,
0xEA , 2, 0x00,0x00,
CMD_PWCTR1, 1, 0x10,
CMD_PWCTR2, 1, 0x00,
CMD_VMCTR1, 2, 0x30,0x30,
CMD_VMCTR2, 1, 0xB7,
0x3A , 1, 0x55,
0x36 , 1, 0x08,
CMD_FRMCTR1, 2, 0x00,0x1A,
0xF2 , 1, 0x00,

CMD_GAMMASET,1, 0x01, // Gamma set, curve 1
CMD_GMCTRP1,15, 0x0F,0x2A,0x28,0x08,0x0E,0x08,0x54,0xA9,0x43,0x0A,0x0F,0x00,0x00,0x00,0x00,
CMD_GMCTRN1,15, 0x00,0x15,0x17,0x07,0x11,0x06,0x2B,0x56,0x3C,0x05,0x10,0x0F,0x3F,0x3F,0x0F,
CMD_DFUNCTR, 3, 0x08,0x82,0x27,
0x2B , 4, 0x00,0x00,0x01,0x3F,
0x2A , 4, 0x00,0x00,0x00,0x3F,
CMD_SLPOUT , 0+CMD_INIT_DELAY, 120, // Exit sleep mode
CMD_IDMOFF , 0,
CMD_DISPON , 0+CMD_INIT_DELAY, 100,
0xFF,0xFF, // end
};
switch (listno)
{
case 0: return list0;
default: return nullptr;
}
}
};

//----------------------------------------------------------------------------

}
}
Loading