Xmodem upload protocol, R xmodem upload protocol e – Matrix Orbital GLK24064-16-1U User Manual
Page 37

32
XModem Upload 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
greatly increasing throughput. Though a protocol similar to the original upload scheme is used, a two
byte CRC check is preformed at the end of each packet in place of the byte echo system. To begin the
upload, a series of command bytes are sent, much however, no distinction is made between bitmap and
font as the XModem protocol is used to upload bin or ebin files that contain all the bitmaps and fonts
required for the unit. Once the command bytes are sent, the size of the file is sent in two bytes, least
significant byte first. Then two additional bytes are sent of the value zero. At this point the display will
respond with an ACK 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 table below. 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. The display will then check to make sure the block count value
matches its own before ACKing. The host can then send a 128 byte block of data followed by that blocks
high and low CRC16 bytes. The display then performs a CRC check on the data receive and ACKs if it
matches that which was sent. Transfer continues with a block count and continues in this way until the
end of file is reached. Once the end of the upload file is reached, the host should transmit a single end
of transmission byte. If the end of file is expected, the display will ACK one last time. This EOT byte
along with the other special characters mentioned above is listed in the table below.
Table 32: XModem Upload Protocol:
Host
Display
Comments
254
Command Prefix
219
XModem Upload Command
133
Command Byte One
6
Command Byte Two
48
Command Byte Three
0
Size LSB
64
Size MSB
0
Zero
0
Zero
6
ACK (NAK if file is too big)
1
Start of Header
128
Block Count
127
Inverted Block Count (255-Count)
6
ACK (NAK if counts don’t match)
<128 B>
128 Byte Data Block
30
CRC MSB
71
CRC LSB
6
ACK (NAK if CRCs don’t match)
…
…
…
4
End of Transmission
6
ACK (NAK if EOT is not expected)
Table 33: XModem Protocol Message Bytes
Value
Action
Description
6
Acknowledged
Transfer
successful, upload
continues
33
Not
Acknowledged
Transfer failed,
upload aborted
1
Start of Header
Begin upload
transfer
4
End of
Transmission
End completed
upload transfer