User Manual

Command Summary 49
Once a file is confirmed to fit within the display, the upload will begin. A protocol is used here to ensure
each byte is uploaded successfully. After each byte is sent, the module will echo it back to the host. It
should then be checked against the value originally sent before a confirmation byte of 1 is returned. If
the transmitted and echoed values do not match the upload should be aborted by sending a value of 8
instead. The upload will continue in this manner as indicated by the examples below which utilize
familiar font and bitmap files.
Table 40: Font Upload Protocol
Host
Display
Comments
254
Command Prefix
36
Upload Font File Command
1
Reference ID LSB
0
Reference ID MSB
31
Font File Size LSB
0
Font File Size
0
Font File Size
0
Font File MSB
1
Acknowledge Size
5
First Font Data Byte
5
Echo Data Byte
1
Acknowledge Data Byte
7
Second Font Data Byte
...
...
...
96
Last Font Data Byte
96
Echo Data Byte
1
Acknowledge Data Byte
Table 41: Bitmap Upload Protocol
Host
Display
Comments
254
Command Prefix
94
Upload Bitmap File Command
1
Reference ID LSB
0
Reference ID MSB
5
Bitmap File Size LSB
0
Bitmap File Size
0
Bitmap File Size
0
Bitmap File MSB
1
Acknowledge Size
5
First Bitmap Data Byte
5
Echo Data Byte
1
Acknowledge Data Byte
4
Second Bitmap Data Byte
...
...
...
224
Last Bitmap Data Byte
224
Echo Data Byte
1
Acknowledge Data Byte
It should be noted that the display has a timeout setting of 2.1 seconds before it resets to prevent it
from hanging during the upload process. Upon reset, the values 254 and 212 will be returned to
indicate an error or lengthy delay has occurred in the upload process. If everything goes smoothly, the
protocol will end with the host transmitting a final confirmation byte and the font will be stored in the
display ready for any application.
XModem Transfer Protocol
In addition to its original simple upload format, Matrix Orbital has added an XModem based protocol.
This facilitates much faster download speeds by increasing the packet size from 1 byte to 128 bytes and
using only a two byte CRC for error checking, greatly increasing throughput. To begin the upload, a
series of command bytes are sent, a list of valid file type bytes is show in the File Types table. Once the
command bytes are sent, the true size of the file is sent in four bytes, least significant byte first. At this
point the display will respond with a C if the file fits or a NAK otherwise. Please note that these values
are different than those of the original protocol as seen in the XModem Message Bytes table. If a NAK is
seen at any point by the host, the upload is to be aborted in the same fashion as the regular protocol. If
the file will fit, the start of header byte will be sent by the host, followed by a block count, in regular and
inverted format, representing the number of 128 byte blocks remaining to be sent. The display will then
check to make sure the block count value matches its own, if it doesn’t it will NAK. The host can then