PaulS:
If you change:void loop() {
printOnDisplay("This is a test");
while(1);
}
to
void loop()
{
char test[] = "This is a test";
printOnDisplay(test);
while(1);
}do you get the same (apparently incorrect) output?
With your change it now works as expected!