In post #7 you quoted a section of code.......
if (myTouch.dataAvailable())
{
myTouch.read();
x = myTouch.getX();
y = myTouch.getY();
if ((y >= 10) && (y <= 60)) // Upper row
{
if ((x >= 10) && (x <= 60)) // Button: 1
{
waitForIt(10, 10, 60, 60);
updateStr('1');
}
if ((x >= 70) && (x <= 120)) // Button: 2
{
waitForIt(70, 10, 120, 60);
updateStr('2');
}
if ((x >= 130) && (x <= 180)) // Button: 3
{
waitForIt(130, 10, 180, 60);
updateStr('3');
}
if ((x >= 190) && (x <= 240)) // Button: 4
{
waitForIt(190, 10, 240, 60);
updateStr('4');
}
if ((x >= 250) && (x <= 300)) // Button: 5
{
waitForIt(250, 10, 300, 60);
updateStr('5');
}
}
if ((y >= 70) && (y <= 120)) // Center row
{
if ((x >= 10) && (x <= 60)) // Button: 6
{
waitForIt(10, 70, 60, 120);
updateStr('6');
}
if ((x >= 70) && (x <= 120)) // Button: 7
{
waitForIt(70, 70, 120, 120);
updateStr('7');
}
if ((x >= 130) && (x <= 180)) // Button: 8
{
waitForIt(130, 70, 180, 120);
updateStr('8');
}
if ((x >= 190) && (x <= 240)) // Button: 9
{
waitForIt(190, 70, 240, 120);
updateStr('9');
}
if ((x >= 250) && (x <= 300)) // Button: 0
{
waitForIt(250, 70, 300, 120);
updateStr('0');
}
}
if ((y >= 130) && (y <= 180)) // Upper row
{
if ((x >= 10) && (x <= 150)) // Button: Clear
{
waitForIt(10, 130, 150, 180);
stCurrent[0] = '\0';
stCurrentLen = 0;
tft.fillRect(0, 224, 320, 15, ILI9341_BLACK);
}
if ((x >= 160) && (x <= 300)) // Button: Enter
{
waitForIt(160, 130, 300, 180);
if (stCurrentLen>0)
{
for (x = 0; x<stCurrentLen + 1; x++)
{
stLast[x] = stCurrent[x];
}
stCurrent[0] = '\0';
stCurrentLen = 0;
tft.fillRect(0, 208, 320, 31, ILI9341_BLACK);
tft.setTextColor(ILI9341_LIME, ILI9341_BLACK);
tft.printAlignedOffseted(stLast, gTextAlignTopCenter, 0, 208);
}
else
{
tft.setTextColor(ILI9341_RED, ILI9341_BLACK);
tft.printAlignedOffseted("BUFFER EMPTY", gTextAlignTopCenter, 0, 190);
delay(500);
tft.printAlignedOffseted(" ", gTextAlignTopCenter, 0, 190, gTextEraseFullLine);
delay(500);
tft.printAlignedOffseted("BUFFER EMPTY", gTextAlignTopCenter, 0, 190);
delay(500);
tft.printAlignedOffseted(" ", gTextAlignTopCenter, 0, 190, gTextEraseFullLine);
}
}
}
}
}
Now let's look at the GENUINE Henning version.....
if (myTouch.dataAvailable())
{
myTouch.read();
x=myTouch.getX();
y=myTouch.getY();
if ((y>=10) && (y<=60)) // Upper row
{
if ((x>=10) && (x<=60)) // Button: 1
{
waitForIt(10, 10, 60, 60);
updateStr('1');
}
if ((x>=70) && (x<=120)) // Button: 2
{
waitForIt(70, 10, 120, 60);
updateStr('2');
}
if ((x>=130) && (x<=180)) // Button: 3
{
waitForIt(130, 10, 180, 60);
updateStr('3');
}
if ((x>=190) && (x<=240)) // Button: 4
{
waitForIt(190, 10, 240, 60);
updateStr('4');
}
if ((x>=250) && (x<=300)) // Button: 5
{
waitForIt(250, 10, 300, 60);
updateStr('5');
}
}
if ((y>=70) && (y<=120)) // Center row
{
if ((x>=10) && (x<=60)) // Button: 6
{
waitForIt(10, 70, 60, 120);
updateStr('6');
}
if ((x>=70) && (x<=120)) // Button: 7
{
waitForIt(70, 70, 120, 120);
updateStr('7');
}
if ((x>=130) && (x<=180)) // Button: 8
{
waitForIt(130, 70, 180, 120);
updateStr('8');
}
if ((x>=190) && (x<=240)) // Button: 9
{
waitForIt(190, 70, 240, 120);
updateStr('9');
}
if ((x>=250) && (x<=300)) // Button: 0
{
waitForIt(250, 70, 300, 120);
updateStr('0');
}
}
if ((y>=130) && (y<=180)) // Upper row
{
if ((x>=10) && (x<=150)) // Button: Clear
{
waitForIt(10, 130, 150, 180);
stCurrent[0]='\0';
stCurrentLen=0;
myGLCD.setColor(0, 0, 0);
myGLCD.fillRect(0, 224, 319, 239);
}
if ((x>=160) && (x<=300)) // Button: Enter
{
waitForIt(160, 130, 300, 180);
if (stCurrentLen>0)
{
for (x=0; x<stCurrentLen+1; x++)
{
stLast[x]=stCurrent[x];
}
stCurrent[0]='\0';
stCurrentLen=0;
myGLCD.setColor(0, 0, 0);
myGLCD.fillRect(0, 208, 319, 239);
myGLCD.setColor(0, 255, 0);
myGLCD.print(stLast, LEFT, 208);
}
else
{
myGLCD.setColor(255, 0, 0);
myGLCD.print("BUFFER EMPTY", CENTER, 192);
delay(500);
myGLCD.print(" ", CENTER, 192);
delay(500);
myGLCD.print("BUFFER EMPTY", CENTER, 192);
delay(500);
myGLCD.print(" ", CENTER, 192);
myGLCD.setColor(0, 255, 0);
}
}
}
}
If you can understand the differences between the 2 versions, the same type of changes can be made to UTFT_Buttons.
Failing that, have you tried the UTFT library with a constructor of ILI9341_S4P or ILI9341_S5P? Then nothing would need modifying.
Hope this helps..
Regards,
Graham