mirror of
https://github.com/Bodmer/TFT_eSPI.git
synced 2025-07-29 18:27:35 +02:00
Added offsets for 170x320 ST7789 display Added offsets for 240x280 display to ST7789_2 dirver
This commit is contained in:
@ -20,6 +20,26 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Adafruit 1.69 round corner TFT support
|
||||
#if (TFT_HEIGHT == 280) && (TFT_WIDTH == 240)
|
||||
#ifndef CGRAM_OFFSET
|
||||
#define CGRAM_OFFSET
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// 1.47" 172x320 Round Rectangle Color IPS TFT Display
|
||||
#if (TFT_HEIGHT == 320) && (TFT_WIDTH == 172)
|
||||
#ifndef CGRAM_OFFSET
|
||||
#define CGRAM_OFFSET
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (TFT_HEIGHT == 300) && (TFT_WIDTH == 240)
|
||||
#ifndef CGRAM_OFFSET
|
||||
#define CGRAM_OFFSET
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Delay between some initialisation commands
|
||||
#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked
|
||||
|
||||
|
@ -10,6 +10,21 @@
|
||||
colstart = 52;
|
||||
rowstart = 40;
|
||||
}
|
||||
else if(_init_height == 280)
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 20;
|
||||
}
|
||||
else if(_init_width == 172)
|
||||
{
|
||||
colstart = 34;
|
||||
rowstart = 0;
|
||||
}
|
||||
else if(_init_width == 170)
|
||||
{
|
||||
colstart = 35;
|
||||
rowstart = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
colstart = 0;
|
||||
@ -29,6 +44,21 @@
|
||||
colstart = 40;
|
||||
rowstart = 53;
|
||||
}
|
||||
else if(_init_height == 280)
|
||||
{
|
||||
colstart = 20;
|
||||
rowstart = 0;
|
||||
}
|
||||
else if(_init_width == 172)
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 34;
|
||||
}
|
||||
else if(_init_width == 170)
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 35;
|
||||
}
|
||||
else
|
||||
{
|
||||
colstart = 0;
|
||||
@ -41,13 +71,28 @@
|
||||
_height = _init_width;
|
||||
break;
|
||||
|
||||
case 2: // Inverter portrait
|
||||
case 2: // Inverter portrait
|
||||
#ifdef CGRAM_OFFSET
|
||||
if (_init_width == 135)
|
||||
{
|
||||
colstart = 53;
|
||||
rowstart = 40;
|
||||
}
|
||||
else if(_init_height == 280)
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 20;
|
||||
}
|
||||
else if(_init_width == 172)
|
||||
{
|
||||
colstart = 34;
|
||||
rowstart = 0;
|
||||
}
|
||||
else if(_init_width == 170)
|
||||
{
|
||||
colstart = 35;
|
||||
rowstart = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
colstart = 0;
|
||||
@ -66,6 +111,161 @@
|
||||
colstart = 40;
|
||||
rowstart = 52;
|
||||
}
|
||||
else if(_init_height == 280)
|
||||
{
|
||||
colstart = 20;
|
||||
rowstart = 0;
|
||||
}
|
||||
else if(_init_width == 172)
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 34;
|
||||
}
|
||||
else if(_init_width == 170)
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 35;
|
||||
}
|
||||
else
|
||||
{
|
||||
colstart = 80;
|
||||
rowstart = 0;
|
||||
}
|
||||
#endif
|
||||
writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER);
|
||||
|
||||
_width = _init_height;
|
||||
_height = _init_width;
|
||||
break;
|
||||
}
|
||||
// This is the command sequence that rotates the ST7789 driver coordinate frame
|
||||
|
||||
writecommand(TFT_MADCTL);
|
||||
rotation = m % 4;
|
||||
switch (rotation) {
|
||||
case 0: // Portrait
|
||||
#ifdef CGRAM_OFFSET
|
||||
if (_init_width == 135)
|
||||
{
|
||||
colstart = 52;
|
||||
rowstart = 40;
|
||||
}
|
||||
else if(_init_height == 280)
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 20;
|
||||
}
|
||||
else if(_init_width == 172)
|
||||
{
|
||||
colstart = 34;
|
||||
rowstart = 0;
|
||||
}
|
||||
else if(_init_width == 170)
|
||||
{
|
||||
colstart = 35;
|
||||
rowstart = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 0;
|
||||
}
|
||||
#endif
|
||||
writedata(TFT_MAD_COLOR_ORDER);
|
||||
|
||||
_width = _init_width;
|
||||
_height = _init_height;
|
||||
break;
|
||||
|
||||
case 1: // Landscape (Portrait + 90)
|
||||
#ifdef CGRAM_OFFSET
|
||||
if (_init_width == 135)
|
||||
{
|
||||
colstart = 40;
|
||||
rowstart = 53;
|
||||
}
|
||||
else if(_init_height == 280)
|
||||
{
|
||||
colstart = 20;
|
||||
rowstart = 0;
|
||||
}
|
||||
else if(_init_width == 172)
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 34;
|
||||
}
|
||||
else if(_init_width == 170)
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 35;
|
||||
}
|
||||
else
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 0;
|
||||
}
|
||||
#endif
|
||||
writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER);
|
||||
|
||||
_width = _init_height;
|
||||
_height = _init_width;
|
||||
break;
|
||||
|
||||
case 2: // Inverter portrait
|
||||
#ifdef CGRAM_OFFSET
|
||||
if (_init_width == 135)
|
||||
{
|
||||
colstart = 53;
|
||||
rowstart = 40;
|
||||
}
|
||||
else if(_init_height == 280)
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 20;
|
||||
}
|
||||
else if(_init_width == 172)
|
||||
{
|
||||
colstart = 34;
|
||||
rowstart = 0;
|
||||
}
|
||||
else if(_init_width == 170)
|
||||
{
|
||||
colstart = 35;
|
||||
rowstart = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 80;
|
||||
}
|
||||
#endif
|
||||
writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER);
|
||||
|
||||
_width = _init_width;
|
||||
_height = _init_height;
|
||||
break;
|
||||
case 3: // Inverted landscape
|
||||
#ifdef CGRAM_OFFSET
|
||||
if (_init_width == 135)
|
||||
{
|
||||
colstart = 40;
|
||||
rowstart = 52;
|
||||
}
|
||||
else if(_init_height == 280)
|
||||
{
|
||||
colstart = 20;
|
||||
rowstart = 0;
|
||||
}
|
||||
else if(_init_width == 172)
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 34;
|
||||
}
|
||||
else if(_init_width == 170)
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 35;
|
||||
}
|
||||
else
|
||||
{
|
||||
colstart = 80;
|
||||
|
@ -34,6 +34,12 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (TFT_HEIGHT == 300) && (TFT_WIDTH == 240)
|
||||
#ifndef CGRAM_OFFSET
|
||||
#define CGRAM_OFFSET
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Delay between some initialisation commands
|
||||
#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked
|
||||
|
||||
|
@ -20,6 +20,11 @@
|
||||
colstart = 34;
|
||||
rowstart = 0;
|
||||
}
|
||||
else if(_init_width == 170)
|
||||
{
|
||||
colstart = 35;
|
||||
rowstart = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
colstart = 0;
|
||||
@ -49,6 +54,11 @@
|
||||
colstart = 0;
|
||||
rowstart = 34;
|
||||
}
|
||||
else if(_init_width == 170)
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 35;
|
||||
}
|
||||
else
|
||||
{
|
||||
colstart = 0;
|
||||
@ -78,6 +88,11 @@
|
||||
colstart = 34;
|
||||
rowstart = 0;
|
||||
}
|
||||
else if(_init_width == 170)
|
||||
{
|
||||
colstart = 35;
|
||||
rowstart = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
colstart = 0;
|
||||
@ -106,6 +121,11 @@
|
||||
colstart = 0;
|
||||
rowstart = 34;
|
||||
}
|
||||
else if(_init_width == 170)
|
||||
{
|
||||
colstart = 0;
|
||||
rowstart = 35;
|
||||
}
|
||||
else
|
||||
{
|
||||
colstart = 80;
|
||||
|
Reference in New Issue
Block a user