It was a bit of a pain since the reference material wasn't accurate, so maybe this will help someone in the future.
The code is pretty rough, but i tried to comment it so you could have a reasonable idea. if you want to change the font or color etc, it's a good idea to reference the manual (
http://www.brgprecision.com/pdffiles/Protocol12.pdf ) as that has the descriptions of each font.
Serial myPort; // Create object from Serial class
void clearMessages()
{
println("* wrote CLEAR *");
byte n = 0x00;
myPort.write(n); // null
myPort.write(n);
myPort.write(n);
myPort.write(n);
myPort.write(n);
myPort.write(0x01); //start of head
myPort.write(0xFF); // sender address
myPort.write(n); //reciever address - broadcast
myPort.write(0x02); //start of text
myPort.write('W'); //special function command
myPort.write('L'); //delete all data
myPort.write(0x03); //end of text
myPort.write("00A8"); //efficacy code
myPort.write(0x04); //end of transmition
}
int writeAndLog(char val)
{
myPort.write(val);
return val;
}
void writeMessage(String message, int _slot)
{
char slot = getSlot(_slot);
println("* wrote message *");
byte n = 0x00;
int efficacy = 0;
myPort.write(n); // null
myPort.write(n);
myPort.write(n);
myPort.write(n);
myPort.write(n);
myPort.write(0x01); //start of head
myPort.write('F'); // sender address
myPort.write('F'); // sender address
myPort.write('0'); //reciever address - broadcast
myPort.write('0'); //reciever address - broadcast
myPort.write(0x02); //start of text
efficacy += 0x02;
efficacy += writeAndLog('A'); //special function command