mirror of
https://github.com/Bodmer/TFT_eSPI.git
synced 2025-07-30 10:47:32 +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
|
||||||
#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
|
// Delay between some initialisation commands
|
||||||
#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked
|
#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked
|
||||||
|
|
||||||
|
@ -10,6 +10,21 @@
|
|||||||
colstart = 52;
|
colstart = 52;
|
||||||
rowstart = 40;
|
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
|
else
|
||||||
{
|
{
|
||||||
colstart = 0;
|
colstart = 0;
|
||||||
@ -29,6 +44,21 @@
|
|||||||
colstart = 40;
|
colstart = 40;
|
||||||
rowstart = 53;
|
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
|
else
|
||||||
{
|
{
|
||||||
colstart = 0;
|
colstart = 0;
|
||||||
@ -41,13 +71,28 @@
|
|||||||
_height = _init_width;
|
_height = _init_width;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2: // Inverter portrait
|
case 2: // Inverter portrait
|
||||||
#ifdef CGRAM_OFFSET
|
#ifdef CGRAM_OFFSET
|
||||||
if (_init_width == 135)
|
if (_init_width == 135)
|
||||||
{
|
{
|
||||||
colstart = 53;
|
colstart = 53;
|
||||||
rowstart = 40;
|
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
|
else
|
||||||
{
|
{
|
||||||
colstart = 0;
|
colstart = 0;
|
||||||
@ -66,6 +111,161 @@
|
|||||||
colstart = 40;
|
colstart = 40;
|
||||||
rowstart = 52;
|
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
|
else
|
||||||
{
|
{
|
||||||
colstart = 80;
|
colstart = 80;
|
||||||
|
@ -34,6 +34,12 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (TFT_HEIGHT == 300) && (TFT_WIDTH == 240)
|
||||||
|
#ifndef CGRAM_OFFSET
|
||||||
|
#define CGRAM_OFFSET
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
// Delay between some initialisation commands
|
// Delay between some initialisation commands
|
||||||
#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked
|
#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked
|
||||||
|
|
||||||
|
@ -20,6 +20,11 @@
|
|||||||
colstart = 34;
|
colstart = 34;
|
||||||
rowstart = 0;
|
rowstart = 0;
|
||||||
}
|
}
|
||||||
|
else if(_init_width == 170)
|
||||||
|
{
|
||||||
|
colstart = 35;
|
||||||
|
rowstart = 0;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
colstart = 0;
|
colstart = 0;
|
||||||
@ -49,6 +54,11 @@
|
|||||||
colstart = 0;
|
colstart = 0;
|
||||||
rowstart = 34;
|
rowstart = 34;
|
||||||
}
|
}
|
||||||
|
else if(_init_width == 170)
|
||||||
|
{
|
||||||
|
colstart = 0;
|
||||||
|
rowstart = 35;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
colstart = 0;
|
colstart = 0;
|
||||||
@ -78,6 +88,11 @@
|
|||||||
colstart = 34;
|
colstart = 34;
|
||||||
rowstart = 0;
|
rowstart = 0;
|
||||||
}
|
}
|
||||||
|
else if(_init_width == 170)
|
||||||
|
{
|
||||||
|
colstart = 35;
|
||||||
|
rowstart = 0;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
colstart = 0;
|
colstart = 0;
|
||||||
@ -106,6 +121,11 @@
|
|||||||
colstart = 0;
|
colstart = 0;
|
||||||
rowstart = 34;
|
rowstart = 34;
|
||||||
}
|
}
|
||||||
|
else if(_init_width == 170)
|
||||||
|
{
|
||||||
|
colstart = 0;
|
||||||
|
rowstart = 35;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
colstart = 80;
|
colstart = 80;
|
||||||
|
Reference in New Issue
Block a user