Part 5:
void Print8(int StartColumn, int StartRow)
{
Serial1.print(0x5C,BYTE);
Serial1.print(0x43,BYTE); //Set Font
Serial1.print(0x2A,BYTE); //Font 10
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn,BYTE); //Column
Serial1.print(StartRow,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x21,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+1,BYTE); //Column
Serial1.print(StartRow,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x25,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+2,BYTE); //Column
Serial1.print(StartRow,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x25,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+3,BYTE); //Column
Serial1.print(StartRow,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x26,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn,BYTE); //Column
Serial1.print(StartRow+1,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x27,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+1,BYTE); //Column
Serial1.print(StartRow+1,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x26,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+2,BYTE); //Column
Serial1.print(StartRow+1,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x21,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+3,BYTE); //Column
Serial1.print(StartRow+1,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x24,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn,BYTE); //Column
Serial1.print(StartRow+2,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x21,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+1,BYTE); //Column
Serial1.print(StartRow+2,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x24,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+2,BYTE); //Column
Serial1.print(StartRow+2,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x27,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+3,BYTE); //Column
Serial1.print(StartRow+2,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x26,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn,BYTE); //Column
Serial1.print(StartRow+3,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x27,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+1,BYTE); //Column
Serial1.print(StartRow+3,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x23,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+2,BYTE); //Column
Serial1.print(StartRow+3,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x23,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+3,BYTE); //Column
Serial1.print(StartRow+3,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x24,BYTE);
}
void Print9(int StartColumn, int StartRow)
{
Serial1.print(0x5C,BYTE);
Serial1.print(0x43,BYTE); //Set Font
Serial1.print(0x2A,BYTE); //Font 10
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn,BYTE); //Column
Serial1.print(StartRow,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x21,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+1,BYTE); //Column
Serial1.print(StartRow,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x25,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+2,BYTE); //Column
Serial1.print(StartRow,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x25,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+3,BYTE); //Column
Serial1.print(StartRow,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x26,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn,BYTE); //Column
Serial1.print(StartRow+1,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x22,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+3,BYTE); //Column
Serial1.print(StartRow+1,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x22,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn,BYTE); //Column
Serial1.print(StartRow+2,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x27,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+1,BYTE); //Column
Serial1.print(StartRow+2,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x25,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+2,BYTE); //Column
Serial1.print(StartRow+2,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x24,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+3,BYTE); //Column
Serial1.print(StartRow+2,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x22,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn,BYTE); //Column
Serial1.print(StartRow+3,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x27,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+1,BYTE); //Column
Serial1.print(StartRow+3,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x23,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+2,BYTE); //Column
Serial1.print(StartRow+3,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x23,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+3,BYTE); //Column
Serial1.print(StartRow+3,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x24,BYTE);
}
void Print0(int StartColumn, int StartRow)
{
Serial1.print(0x5C,BYTE);
Serial1.print(0x43,BYTE); //Set Font
Serial1.print(0x2A,BYTE); //Font 10
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn,BYTE); //Column
Serial1.print(StartRow,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x21,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+1,BYTE); //Column
Serial1.print(StartRow,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x25,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+2,BYTE); //Column
Serial1.print(StartRow,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x25,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+3,BYTE); //Column
Serial1.print(StartRow,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x26,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn,BYTE); //Column
Serial1.print(StartRow+1,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x22,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+3,BYTE); //Column
Serial1.print(StartRow+1,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x22,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn,BYTE); //Column
Serial1.print(StartRow+2,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x22,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+3,BYTE); //Column
Serial1.print(StartRow+2,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x22,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn,BYTE); //Column
Serial1.print(StartRow+3,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x27,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+1,BYTE); //Column
Serial1.print(StartRow+3,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x23,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+2,BYTE); //Column
Serial1.print(StartRow+3,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x23,BYTE);
Serial1.print(0x5C,BYTE);
Serial1.print(0x42,BYTE);
Serial1.print(StartColumn+3,BYTE); //Column
Serial1.print(StartRow+3,BYTE); //Row
Serial1.print(0x5C,BYTE);
Serial1.print(0x24,BYTE);
}
See - long and not efficient eh!
I wrote it just trying to get some custom fonts going, and it turned into this beast. There must be a better way to do it though.