I hope you are all doing well. I've purchased two 5.0" CTE TFT LCDs a while back. With it I've purchased the Mega touch LCD shield only to discover that the Mega is a bit slow when it comes to handling the refresh rate on these displays. I've then purchased two Arduino Due boards and two Arduino DUE TFT LCD Shields.
I then uploaded the "UTFT_Demo_800x480 " example sketch and connected my Due with the appropriate shield.
I've noticed that the bigger LCD displays required more power so I had to power it with a 9V power supply through the power jack on the board.
So after all of this I only got a white screen. I switched back to the Arduino Mega and all works well. I've tested it with another Arduino Due and another DUE TFT LCD Shield and still the same result.
The LCDs that I have work with the model number ITDB50 as configured in the above mentioned example. Defined as such:
UTFT myGLCD(ITDB50,38,39,40,41);
I then started digging and came apon this post, which stated that I needed to uncomment the "#define CTE_DUE_SHIELD 1" line in the "HW_ARM_defines.h" file in the libraries/UTFT/hardware/arm folder.
I've done this and still I have a white screen only. I've tried uploading multiple times and always pressed the erase button before uploading again. I made use of the programming port on the Arduino Due and I also tried pressing the reset button multiple times after the upload has completed.
I have restarted the IDE after I've made the library changes and I've tried restarting my machine as well but to no avail. Any suggestions? I'm probably missing something small but I can't figure it out now and I hope that you guys could assist me.
First of all well done for your own efforts trying to diagnose this problem so far, many people with problems just say 'got this, it don't work, help'!
You don't need to press erase before each upload, it is done as part of the upload. Having uncommented the #define CTE_DUE_SHIELD 1 line, and the fact it works on the Mega, I can only assume, your #define DISABLE_SSD1963_800 line in memorysaver.h is already correctly commented.... So the last thing I can think of, for the DUE, you are aware the initialiser is UTFT myGLCD(ITDB50,25,26,27,28); ?
My apologies for the late response but I was on the road the past couple of days working late.
Thank you for clarifying the erase function for me. I was reading the Arduino Due's page and saw the following:
It is possible to erase the Flash memory of the SAM3X with the onboard erase button. This will remove the currently loaded sketch from the MCU. To erase, press and hold the Erase button for a few seconds while the board is powered.
From this I thought that I had to erase it every time, thanks again for clarifying that.
So it seems that I had my initializer wrong haha, I knew I was missing something small, thank you for that Graham and wishing you a wonderful day ahead. I will test it out over the weekend and revert back if I'm still struggling.
Just tested it and it is working like a charm. Seems I've misunderstood the declaration statement. Thank you for your assistance and wishing you a wonderful day ahead.
// Set the pins to the correct ones for your development shield
// ------------------------------------------------------------
// Standard Arduino Mega/Due shield : ,38,39,40,41
// CTE TFT LCD/SD Shield for Arduino Due : ,25,26,27,28
// Teensy 3.x TFT Test Board : ,23,22, 3, 4
// ElecHouse TFT LCD/SD Shield for Arduino Due : ,22,23,31,33
//
// Remember to change the model parameter to suit your display module!
UTFT myGLCD(CPLD,25,26,27,28);
But I must admit I am a little mystified how you misunderstood this??
// Standard Arduino Mega/Due shield : <display model>,38,39,40,41
and didn't think to read further, my error but so you learn from your mistakes, in this case how to read properly obviously ;). Have a great weekend and thanks again for the assistance.