Success #2
Working 2.8 inch LCD TFT on Arduino UNO (S6D0139)
Another cheap display from ebay, that I couldn't get to working for a long time
I finally decided to persevere and try to deduce the reasons why
Then I happened to find, through lots of searching a reference to the driver IC used on this display. (link to data sheet below)
http://www.rockbox.org/wiki/pub/Main/CreativeZENXFi/DS-S6D0139V0-5Preliminary.pdf
I then had a look inside the LCDTFT.cpp library file to see if I could decode the byte sequences sent to this device, to determine why the display is so bright
The sequence below has been altered from the original, a couple of byte sequences have been commented out, but the most important one is the line
// 0x0002, 0x0700, // field 0 b/c waveform xor waveform
Commenting out that line sorted my display perfectly. No more whitewash colours.
Hopefully this will help others with the same display
static const uint16_t _regValues[] PROGMEM = { 0x0000, 0x0001, // start oscillation 0x0007, 0x0000, // source output control 0 D0 0x0013, 0x0000, // power control 3 off 0x0011, 0x2604, // 0x0014, 0x0015, // 0x0010, 0x3C00, // // 0x0013, 0x0040, // // 0x0013, 0x0060, // // 0x0013, 0x0070, // 0x0013, 0x0070, // power control 3 PON PON1 AON 0x0001, 0x0127, // driver output control // 0x0002, 0x0700, // field 0 b/c waveform xor 0x0003, 0x1030, // 0x0007, 0x0000, // 0x0008, 0x0404, // 0x000B, 0x0200, // 0x000C, 0x0000, // 0x00015,0x0000, // //gamma setting 0x0030, 0x0000, 0x0031, 0x0606, 0x0032, 0x0006, 0x0033, 0x0403,