JohnPrime:
Coldtears did offer the suggestion that ' u might forgot to pull up the fontIC CS pin, and random data in the spi bus made the data in the fontIC corrupted'. I haven't altered the example program and can't see any means of affecting the CS pin otherwise, so the suggestion was of, er, limited use. Don't even know what it means ...
PS If you'd rather I moved this to its own thread, please say.
Coldtears I have wholeheartedly been recommending on these forums for months now, given the quantity of Sainsmart related problems we see on these forums, and how many of those problems are fixed by Coldtears hardware. However, I recently had cause to request assistance from Coldtears, unrelated to the font ic, and to be honest, was severely unimpressed at being told they don't support Sainsmart, as the only reason that word was mentioned........... was because on this occasion, the Sainsmart hardware worked faultlessly, it was the Coldtears hardware with the problem, but they stalled as soon as the word Sainsmart was mentioned..... I accused them of money grabbing and poor customer service.... And doubled my efforts to implement their font ic...........
I appreciate this off topic, but it is MY thread so I don't feel guilty this is an email sent to them this evening....
Hello again,
Considering how unhelpful you were when I approached you for help recently, I have no other motivation to tell you the outcome of mine and David's efforts to resolve the Touch problems, other than I would like to think you will consider assisting other customers in future if anybody asks you about similar problems to the ones David experienced!!
To remind you, (I promise not to mention Sainsmart because you appear to forget how to read when you see that word!!!), David had a genuine CTE TFT Mega shield, and Genuine CTE 7" CPLD display, and touch functionality stopped working if the Serial monitor was opened. Well, he tried 2 different external power supplies, both exhibited the same symptoms. So imagine our surprise to find the problem fixed, if NO additional power supply was used.
To reiterate, when used with extra power, touch stops working when serial monitor is opened, BUT if no additional power is used, there are NO problems at all. Hope this helps somebody else.
There is no need to make a new thread, I think it is long overdue we have a central location to discuss font ic related issues.
Have you tried editing the program yourself? Do NORMAL characters print ok? eg "ABCDEFGabcdefg" or "12345" ? Is it localised to 1 Font, or do ALL fonts exhibit the same problems?
Just so you know what I am working on now I have a working font ic....... If you have played with UTFT and UTFT fonts at all, you will know there is the ability to print a string CENTERed.... I am trying to implement that for the BVS fonts, which you may or maynot know, are proportional eg W is 10 pixels wide, whereas I is 2 pixels....
By the way, I just noticed there is an error in the sketch I am using, they used image 287 after the color bars, of course it should be 237!!
I don't know how far you have gone to try to rectify this??
What model CTE display are you using?
Include your sketch that is not working.......
Simple proposal, try something like this.....
void setup()
{
Serial.begin(115200);
delay(1000);
myGLCD.InitLCD();
myGLCD.setFont(SmallFont);
myGLCD.setBackColor(VGA_BLACK);
CTE_LCD.SPI_Flash_init(FLASH_CS_PIN);
}
void loop()
{
CTE_LCD.show_color_bar();
delay(1000);
myGLCD.clrScr();
CTE_LCD.Load_image(0,0,237);
myGLCD.setColor(255, 222, 111); //Set font color
myGLCD.setBackColor(0, 0, 0); //Set background color
CTE_LCD.Set_character_spacing(1);
CTE_LCD.Put_Text("Coldtears electronics",5,180,BVS_34);
CTE_LCD.Put_Text("TFT LCD w/Font IC Demo",5,220,BVS_34);
delay(1000);
myGLCD.clrScr();
CTE_LCD.Put_Text(" ",0,0,BVS_13);
CTE_LCD.Put_Text("A",0,0,BVS_13);
CTE_LCD.Put_Text("B",0,0,BVS_13);
CTE_LCD.Put_Text("C",0,0,BVS_13);
CTE_LCD.Put_Text("D",0,0,BVS_13);
CTE_LCD.Put_Text("E",0,0,BVS_13);
CTE_LCD.Put_Text("F",0,0,BVS_13);
CTE_LCD.Put_Text("G",0,0,BVS_13);
CTE_LCD.Put_Text("H",0,0,BVS_13);
CTE_LCD.Put_Text("I",0,0,BVS_13);
CTE_LCD.Put_Text("J",0,0,BVS_13);
CTE_LCD.Put_Text("K",0,0,BVS_13);
CTE_LCD.Put_Text("L",0,0,BVS_13);
CTE_LCD.Put_Text("M",0,0,BVS_13);
CTE_LCD.Put_Text("N",0,0,BVS_13);
CTE_LCD.Put_Text("O",0,0,BVS_13);
CTE_LCD.Put_Text("P",0,0,BVS_13);
CTE_LCD.Put_Text("Q",0,0,BVS_13);
CTE_LCD.Put_Text("R",0,0,BVS_13);
CTE_LCD.Put_Text("S",0,0,BVS_13);
CTE_LCD.Put_Text("T",0,0,BVS_13);
CTE_LCD.Put_Text("U",0,0,BVS_13);
CTE_LCD.Put_Text("V",0,0,BVS_13);
CTE_LCD.Put_Text("W",0,0,BVS_13);
CTE_LCD.Put_Text("X",0,0,BVS_13);
CTE_LCD.Put_Text("Y",0,0,BVS_13);
CTE_LCD.Put_Text("Z",0,0,BVS_13);
while(1);
}
You will notice the coordinates are all 0,0 so will overprint, I couldn't be bothered to edit them for you....... you should be able to figure it out yourself.....
Regards,
Graham