mirror of
https://github.com/adafruit/TFTLCD-Library.git
synced 2026-09-11 17:13:09 +00:00
Fixed 3.5" TFT text rotation issue
Fixed MADCTL values for HX8357B
This commit is contained in:
+25
-3
@@ -753,8 +753,8 @@ void Adafruit_TFTLCD::setRotation(uint8_t x) {
|
||||
setLR(); // CS_IDLE happens here
|
||||
}
|
||||
|
||||
if ((driver == ID_9341) || (driver == ID_HX8357D)) {
|
||||
// MEME, HX8357D uses same registers but different values
|
||||
if (driver == ID_9341) {
|
||||
// MEME, HX8357D uses same registers as 9341 but different values
|
||||
uint16_t t;
|
||||
|
||||
switch (rotation) {
|
||||
@@ -775,7 +775,29 @@ void Adafruit_TFTLCD::setRotation(uint8_t x) {
|
||||
// For 9341, init default full-screen address window:
|
||||
setAddrWindow(0, 0, _width - 1, _height - 1); // CS_IDLE happens here
|
||||
}
|
||||
}
|
||||
|
||||
if (driver == ID_HX8357D) {
|
||||
// MEME, HX8357D uses same registers as 9341 but different values
|
||||
uint16_t t;
|
||||
|
||||
switch (rotation) {
|
||||
case 2:
|
||||
t = HX8357B_MADCTL_RGB;
|
||||
break;
|
||||
case 3:
|
||||
t = HX8357B_MADCTL_MX | HX8357B_MADCTL_MV | HX8357B_MADCTL_RGB;
|
||||
break;
|
||||
case 0:
|
||||
t = HX8357B_MADCTL_MX | HX8357B_MADCTL_MY | HX8357B_MADCTL_RGB;
|
||||
break;
|
||||
case 1:
|
||||
t = HX8357B_MADCTL_MY | HX8357B_MADCTL_MV | HX8357B_MADCTL_RGB;
|
||||
break;
|
||||
}
|
||||
writeRegister8(ILI9341_MADCTL, t ); // MADCTL
|
||||
// For 8357, init default full-screen address window:
|
||||
setAddrWindow(0, 0, _width - 1, _height - 1); // CS_IDLE happens here
|
||||
}}
|
||||
|
||||
#ifdef read8isFunctionalized
|
||||
#define read8(x) x=read8fn()
|
||||
|
||||
Executable → Regular
+2
@@ -65,6 +65,8 @@ void setup(void) {
|
||||
Serial.println(F("Found HX8347G LCD driver"));
|
||||
} else if(identifier == 0x9341) {
|
||||
Serial.println(F("Found ILI9341 LCD driver"));
|
||||
} else if(identifier == 0x8357) {
|
||||
Serial.println(F("Found HX8357D LCD driver"));
|
||||
} else {
|
||||
Serial.print(F("Unknown LCD driver chip: "));
|
||||
Serial.println(identifier, HEX);
|
||||
|
||||
@@ -162,3 +162,11 @@
|
||||
|
||||
#define HX8357B_SETGAMMA 0xC8
|
||||
#define HX8357B_SETPANELRELATED 0xE9
|
||||
|
||||
#define HX8357B_MADCTL_MY 0x80
|
||||
#define HX8357B_MADCTL_MX 0x40
|
||||
#define HX8357B_MADCTL_MV 0x20
|
||||
#define HX8357B_MADCTL_ML 0x10
|
||||
#define HX8357B_MADCTL_RGB 0x00
|
||||
#define HX8357B_MADCTL_BGR 0x08
|
||||
#define HX8357B_MADCTL_MH 0x04
|
||||
|
||||
Reference in New Issue
Block a user