My apologies for NOT following (or Knowing) how to use this forum properly!
I am looking for someone to help me with a unique situation. I have an application that was developed a long time ago, using a 3.5" Touchscreen 16Bit Mega2560 Version. It uses the UTFT & UrTouch libraries. All was well until I could no longer find
the same 3.5". So I found a 3.95" Touchscreen and it worked great using the ILI9481 driver. Fast fwd. This screen is no longer available in the 16Bit Version. Even though it is advertised on Aliexpress
as well as Amazon. My question is, What changes are necessary to modify this application for using a 8Bit version of this screen?
Original Perfect working
Your photo shows the 16-bit interface. i.e. R5 = 0L
From mcufriend_how_to.txt
17. If you do not have a standard Uno Shield, you can add a SPECIAL to the mcufriend_special.h
Edit mcufriend_shield.h: #define USE_SPECIAL
Edit mcufriend_special.h: e.g. #define USE_MEGA_16BIT_SHIELD
If your "special" is write-only, the library can not read the ID. It always returns 0xD3D3
Since you are using UTFTGLUE.h you need to specify ID for a write-only display e.g. from
C:\Users\ ... \Documents\Arduino\libraries\Mcufriend_kbv\UTFTGLUE.h
void InitLCD(byte orientation=LANDSCAPE) {
MCUFRIEND_kbv::reset();
uint16_t ID = MCUFRIEND_kbv::readID();
// if (ID == 0) ID = 0x9341; //DealExtreme with EXTC=0
// if (ID == 0x8989) ID = 0x1289;
// if (ID == 0xD3D3) ID = 0x9481; //write-only controller
// if (ID == 0xD3D3) ID = 0x9486; //write-only controller
if (ID == 0xD3D3) ID = 0x9488; //write-only controller
// if (ID == 0xD3D3) ID = 0x9090; //write-only controller HX8357-D
// if (ID == 0x9327 && orientation == LANDSCAPE) orientation = 3;
MCUFRIEND_kbv::begin(ID);
MCUFRIEND_kbv::setRotation(_orient = orientation);
_radius = 4;
}
The photo shows 16-bit.
If you want to use 8-bit (as it arrives from Amazon)