

And then type up a function which parses the numbers from my sensor readings to display them as the images from 0-9 stored in progmem. So right now, my work hypothesis of how to best display my gauge readings on my TFT display is to convert bitmaps with the characters that I need, which are really just the numbers from 0 to 9, into LCD compatible code. This is all for a CarDuino, and I plan to update the display every three seconds with new data.ĭue to other project characteristics, I have decided to migrate from a 328P-PU to a 1284P-PU. Or would this slow down display refresh times by too much? The advantage would be that if well written, such a function would also make it possible to use various different fonts. bmp file to display that digit on the screen. That function would then convert an integer or float into a character string, and go down the string, array member by array member, and load the corresponding. a slightly crazy idea what if I write a function that converts an integer into a series of small bmp files that show the numbers from 0 to 9? and I have to say the font rendering of Adafruit's own free fonts that come with this display looks very disappointing, even taking into consideration the obvious limitations of a stamp-sized TFT display (I used to be a web site programmer and graphics designer, so it jumps out at me when fonts are poorly rendered or displayed).Īnd I've thought of another approach that would be slightly more flexible and reusable. This makes rendering background too a pain but this is achieved in the 16bit libraries mentioned above by determining the string length in pixels then doing a block I couldn't get your font library to work. The Adafruit FreeFont format does something no other TFT library does and that is handle characters that overlap, ie in an italic font the tail of a "y" tucks under the previous character. Running the TFT_Char_Time example in the TFT_ST7735 library should give figures in the range 0.2ms per character for a numeral the small adafruit GLCD font, up to 10.1ms for the extra large custom Font 8 which has 72 pixel high characters.Īt the moment the TFT_ST7735 library does not support the FreeFonts format, however the Mega and Due 16 bit libraries do. As a performance comparison if all the delays are taken out the graphicstest example that is built into the Adafruit_ST7735 library it completes the test in 8.62s, if you run the same test on the TFT_ST7735 library (called graphicstest_small) it runs in 1.707s which is a remarkable 5x faster. Something must be wrong with your setup if this library is running slow.

I know the GFX rendering is a pain in the arse for fonts and I prefer how bodmer's works with the background color of the font but sadly his renders a LOT slower on my ST7735R.
