My pleasure to optimize;)
I kept the measuring and drawing arrays separate for the sake of accuracy.
You have thought about it and have good arguments for your choice.
I saw this code and thought that should be a function:
gotoXY(75,5);
LcdCharacter('F');
gotoXY(69,5);
LcdCharacter('a');
.... etc
void lcdString(byte x, byte y, char * s)
{
for (char *p = *s; *p != '\0'; p++, x=x-6)
{
gotoXY(x, y);
lcdCharacter(*p);
}
}
then just call - lcdString(75,5, "Fast Scan"); - just less typing and less errorprone
Thanks again for sharing your nice project.