GLK12232A-25-SM/GLT12232A-SM
Including GLK12232A-25-SM-USB and GLT12232A-SM-USB
Technical Manual
Revision 3.5
PCB Revision: 3.0 or Higher
Firmware Revision: 8.4 or Higher
Revision History
Revision
3.5
3.4
3.3
3.2
3.1
3.0
0.3
0.2
Date
January 3, 2018
October 19, 2015
September 21, 2015
January 30, 2015
May 21, 2014
March 13, 2013
December 13, 2012
September 10, 2012
Description
Correction to Set Non-Standard Baud Rate command
Minor command updates
Updated commands for Firmware Revision 8.6
Updated Drawings
Added Commands for Firmware Revision 8.5
Initial Release
Added Firmware Revision 8.4 Commands
Preliminary Release
Author
Divino
Clark
Clark
Clark
Martino
Clark
Clark
Clark
Contents
1 Introduction ............................................................................................................................................... 1
2 Quick Connect Guide.................................................................................................................................. 2
2.1 Available Headers ............................................................................................................................... 2
2.2 Standard Module ................................................................................................................................ 3
Recommended Parts ............................................................................................................................. 3
Serial Connections................................................................................................................................. 3
I2C Connections ..................................................................................................................................... 4
2.3 USB Module ........................................................................................................................................ 4
Recommended Parts ............................................................................................................................. 4
USB Connections ................................................................................................................................... 5
3 Software ..................................................................................................................................................... 6
3.1 MOGD# ............................................................................................................................................... 6
3.2 Firmware Upgrade .............................................................................................................................. 7
3.3 Application Notes................................................................................................................................ 7
4 Hardware.................................................................................................................................................... 8
4.1 Standard Model .................................................................................................................................. 8
Extended Communication/Power Header ............................................................................................ 8
I2C Communication/Power Header ....................................................................................................... 8
Protocol Select Jumpers ........................................................................................................................ 8
4.2 USB Model........................................................................................................................................... 9
USB Connector ...................................................................................................................................... 9
Alternate Power Connector .................................................................................................................. 9
4.3 Common Features ............................................................................................................................. 10
General Purpose Outputs ................................................................................................................... 10
Hardware Lock .................................................................................................................................... 10
4.4 GLK Model ......................................................................................................................................... 10
Keypad Header .................................................................................................................................... 10
4.5 GLT Model ......................................................................................................................................... 11
Touch Screen ....................................................................................................................................... 11
Coordinate Mode ................................................................................................................................ 11
Region Mode ....................................................................................................................................... 11
5 Troubleshooting ....................................................................................................................................... 12
5.1 Power ................................................................................................................................................ 12
5.2 Display ............................................................................................................................................... 12
5.3 Communication ................................................................................................................................. 12
5.4 Manual Override ............................................................................................................................... 13
6 Commands ............................................................................................................................................... 14
6.1 Communication ................................................................................................................................. 14
6.2 Text.................................................................................................................................................... 16
6.3 Drawing ............................................................................................................................................. 18
6.4 Fonts.................................................................................................................................................. 23
Font File Creation ................................................................................................................................ 24
6.5 Bitmaps ............................................................................................................................................. 25
Bitmap File Creation............................................................................................................................ 26
Bitmap Masking .................................................................................................................................. 27
6.6 9-Slices .............................................................................................................................................. 27
9-Slice File Creation............................................................................................................................. 28
6.7 Animations ........................................................................................................................................ 29
Animation File Creation ...................................................................................................................... 30
6.8 General Purpose Output ................................................................................................................... 30
6.9 Piezo Buzzer ...................................................................................................................................... 31
6.10 Keypad............................................................................................................................................. 31
6.11 Touchpad ........................................................................................................................................ 33
6.12 Display Functions ............................................................................................................................ 36
6.13 Scripting .......................................................................................................................................... 37
6.14 Filesystem ....................................................................................................................................... 38
File Upload Protocol............................................................................................................................ 41
XModem Upload Protocol .................................................................................................................. 42
6.15 Data Security ................................................................................................................................... 44
6.16 Miscellaneous ................................................................................................................................. 44
7 Appendix .................................................................................................................................................. 46
7.1 Command Summary ......................................................................................................................... 46
7.1 Block Diagram ................................................................................................................................... 51
7.2 Data Types......................................................................................................................................... 51
7.3 Environmental Specifications............................................................................................................ 52
7.4 Electrical Tolerances ......................................................................................................................... 52
7.1 Optical Characteristics ...................................................................................................................... 52
7.2 Dimensional Drawings ...................................................................................................................... 53
8 Ordering ................................................................................................................................................... 55
8.1 Part Numbering Scheme ................................................................................................................... 55
8.2 Options .............................................................................................................................................. 55
8.3 Accessories ........................................................................................................................................ 56
9 Definitions ................................................................................................................................................ 57
10 Contact ................................................................................................................................................... 57
1 Introduction
Figure 1: GLK12232A-25-SM/GLT12232A-SM Display
The GLK12232A-25-SM/GLT12232A-SM is an intelligent graphic liquid crystal display engineered to
quickly and easily add an elegant creativity to any application. In addition to the RS232, TTL, and I2C
protocols available in the standard model, the USB communication model allows the GLK12232A-25-SMUSB/GLT12232A-SM-USB to be connected to a wide variety of host controllers. Communication speeds
of up to 115.2 kbps in serial modes and 400 kHz in I2C ensure lightning fast text and graphic updates.
The simple command structure permits easy software control of many settings including backlight
brightness, screen contrast, and baud rate. On board memory provides a whopping 256KB of
customizable fonts and bitmaps to enhance the graphical user experience.
User input on the GLK12232A-25-SM is available through a five by five matrix style keypad or a resistive
touch overlay on the GLT12232A-SM. In addition, two general purpose outputs provide simple
switchable five volt sources on each model, while a small piezo speaker offers audio feedback for a
completely interactive experience.
The versatile GLK12232A-25-SM/GLT12232A-SM, with all the features mentioned above, is available in a
variety of colour, voltage, and temperature options to suit almost any application.
Command Summary
1
2 Quick Connect Guide
2.1 Available Headers
Figure 2: GLK12232A-25-SM/GLT12232A-SM Standard Module Header Locations
Figure 3: GLK12232A-25-SM/GLT12232A-SM USB Module Header Locations
Table 1: List of Available Headers
#
1
2
3
4
5
6
7
2
Header
GPO Header
Keypad
Touchpad
USB Connector
Alternate Power Header
Communication Header
I2C Communication/Power Header
Mate
None Offered
KPP4x4
Touch Panel
EXTPUSB6FT
PCS
ESCCPC5V
None Offered
Command Summary
Population
All Models
GLK Model Only
GLT Model Only
USB Model Only
USB Model Only
Standard Model Only
Standard Model Only
2.2 Standard Module
The standard version of the GLK12232A-25-SM/GLT12232A-SM allows for user configuration of two
common serial levels. The unit can communicate using serial protocol at either RS323 or TTL voltage
levels. Connections for each serial protocol can be accessed through the six pin Communication/Power
Header as outlined in the Serial Connections section below.
Recommended Parts
The most common cable choice for any standard Matrix Orbital
graphic display, the Extended Communication/ Power Cable offers a
simple connection to the unit with familiar interfaces. DB9 and floppy
power headers provide all necessary input to drive your display.
Figure 4: Extended Communication/Power
Cable (ESCCPC5V)
For a more flexible interface to the GLK12232A-25-SM/GLT12232ASM, a Breadboard Cable may be used. This provides a simple four
wire connection that is popular among developers for its ease of use
in a breadboard environment.
Figure 5: Breadboard Cable (BBC)
Serial Connections
Serial protocol provides a classic connection to the GLK12232A-25-SM/GLT12232A-SM. The
Communication/Power Cable is most commonly used for this set up as it provides connections for DB9
serial and floppy power cables. To place your board in Serial mode, adhere to the steps laid out below.
1. Set the Protocol Select jumpers.
RS232: Connect the five jumpers* in the 232 protocol box with the zero ohm jumper resistors
provided or an alternate wire or solder solution.
TTL: Connect the four jumpers* in the TTL protocol box.
*Note: Jumpers must be removed from all protocol boxes save for the one in use.
2. Make the connections.
a. Connect the six pin female header of the Communication/Power Cable to the
Communication/Power Header of your GLK12232A-25-SM/GLT12232A-SM.
b. Insert the male end of your serial cable to the corresponding DB9 header of the
Communication/Power Cable and the mate the female connector with the desired
communication port of your computer.
c. Select an unmodified floppy cable from a PC power supply and connect it to the power header
of the Communication/Power Cable.
Command Summary
3
3. Create.
MOGD# or a terminal program will serve to get you started, and then you can move on with
your own development. Instructions for the former can be found below and a variety of
application notes are available for the latter at www.matrixorbital.ca/appnotes.
I2C Connections
A more advanced connection to the GLK12232A-25-SM/GLT12232A-SM is provided by the I2C protocol
setting. This is best accomplished using a breadboard and the Breadboard Cable. Power must be
supplied from your breadboard or another external source. To dive right into your application and use
the GLK12232A-25-SM/GLT12232A-SM in I2C mode, get started with the guidelines below.
1. Set the Protocol Select switches.
I2C: Ensure that the two I2C jumpers in the corresponding protocol box are connected while all
others are open.
2. Make the connections.
a. Connect the Breadboard Cable to the Communication/Power Header on your GLK12232A-25SM/GLT12232A-SM and plug the four leads into your breadboard. The red lead will require
power, while the black should be connected to ground, and the green and yellow should be
connected to your controller clock and data lines respectively.
b. Pull up the clock and data lines to five volts using a resistance between one and ten kilohms on
your breadboard.
3. Create.
This time you're on your own. While there are many examples within the Matrix Orbital
AppNote section, www.matrixorbital.ca/appnotes, too many controllers and languages exist to
cover them all. If you get stuck in development, it is possible to switch over to another protocol
on the standard board, and fellow developers are always on our forums for additional support.
2.3 USB Module
The GLK12232A-25-SM-USB/GLT12232A-SM-USB offers a single USB protocol for easy connection to a
host computer. The simple and widely available protocol can be accessed using the on board 4pin
friction-lock style connector as outlined in the USB Connections section.
Recommended Parts
The External 4pin USB cable is recommended for the GLK12232A-25-SMUSB/GLT12232A-SM-USB display. It will connect to the friction-locking
header on the unit and provide a connection to a regular A style USB
connector, up to six feet away.
Figure 6: 4pin USB Cable
(EXT4PUSB3FT)
4
Command Summary
USB Connections
The USB connection is the quickest, easiest solution for PC development. After driver installation, the
GLK12232A-25-SM-USB/GLT12232A-SM-USB will be accessible through a virtual serial port, providing
the same result as a serial setup without the cable hassle. To connect to your GLK12232A-25-SMUSB/GLT12232A-SM-USB please follow the steps below.
1. Set the Protocol Select jumpers.
USB: The GLK12232A-25-SM-USB/GLT12232A-SM-USB offers USB protocol only. Model specific
hardware prevents this unit from operating in any other protocol, and does not allow other
models to operate in USB. Protocol Select jumpers on the USB model cannot be moved.
2. Make the connections.
Plug the friction lock header of your External 4pin USB cable into your GLK12232A-25-SMUSB/GLT12232A-SM-USB and the regular USB header into your computer USB jack.
3. Install the drivers.
a. Download the latest drivers at www.matrixorbital.ca/drivers, and save them to a known
location.
b. When prompted, install the USB bus controller driver automatically
c. If asked, continue anyway, even though the driver is not signed
d. When the driver install is complete, your display will turn on, but communication will not yet be
possible.
e. At the second driver prompt, install the serial port driver automatically
f. Again, if asked, continue anyway
4. Create.
Use MOGD# or a terminal program to get started, and then move on with your own
development. Instructions for the former can be found below and a number of application
notes are available for the latter at www.matrixorbital.ca/appnotes.
Command Summary
5
3 Software
The communication protocol available and simple command structure of the GLK12232A-25SM/GLT12232A-SM means that a variety of applications can be used to communicate with the display.
Text is sent to the display as a character string, for example, sending the decimal value 41 will result in
an 'A' appearing on the screen. A single control character is also available. Commands are merely
values prefixed with a special command byte, 254 in decimal.
Table 2: Reserved Control Characters
7
Control Characters
Bell / Sound Buzzer 10 Line feed / New line
Once the correct communication port is identified, the following communication settings can be applied
to communicate correctly with the GLK12232A-25-SM/GLT12232A-SM.
Table 3: Communication Settings
BPS
19200
Data Bits
8
Parity
None
Stop Bits
1
Flow Control
None
Finally, with a communication port identified and correctly setup simple text strings or even command
bytes can easily be transmitted to control your display.
3.1 MOGD#
The Matrix Orbital Graphic Display interface, MOGD#, is offered as a free download from
www.matrixorbital.ca/software/software_graphic. It provides a simple graphical interface that allows
settings, fonts, and bitmaps to be easily customised for any application.
While monochromatic bitmaps can easily be created in virtually any image editing program, MOGD#
provides an extensive font generation suite to stylize your display to any project design. In addition to
standard font wide modifications, character ranges can be specified by start and end values to eliminate
unused symbols, and individual glyphs can be modified with a double click. Finally, text spacing can be
tailored and a complete font library built with your Matrix Orbital graphic display.
MOGD# offers a scripting capability that provides the ability to stack, run, and save a series of
commands. The most basic function is the Send Numeric tool which is used to transmit a string of
values to the display to write text or execute a command.
6
Command Summary
Figure 7: MOGD# Command Example
Again, the clear screen command is sent to a connected display, this time using the MOGD# Send
Numeric function command style. Scripts can be run as a whole using the Play button from the toolbar
or as single commands by selecting Step; once executed it must be Reset. Before issuing commands, it is
a good idea to ensure communication with a display is successful using the autodetect button.
This program provides both a staging areas for your graphics display and a proving ground that will
prepare it for any application environment.
3.2 Firmware Upgrade
The firmware of the GLK12232A-25-SM/GLT12232A-SM can be upgraded in the field. All firmware
revisions can be installed using software found at www.matrixorbital.ca/software/GLT Series.
3.3 Application Notes
Full demonstration programs and code are available for Matrix Orbital displays in the C# language from
Simple C# AppNote Pack in the Application Note section at www.matrixorbital.ca/appnotes.
Many additional applications are available in a number of different programming languages. These
programs are meant to showcase the capability of the display and are not intended to be integrated into
a final design. For additional information regarding code, please read the On Code document also found
on the support site.
Command Summary
7
4 Hardware
4.1 Standard Model
Extended Communication/Power Header
Table 4: Extended Communication/Power Pinout
Pin
1
2
3
4
5
6
Function
Vcc
Rx
Tx
Gnd
CTS
RTS
Figure 8: Extended Communication/Power Header
The Extended Communication/Power Header provides a standard connector for interfacing to the
GLK12232A-25-SM/GLT12232A-SM. Voltage is applied through pins one and four of the six pin Extended
Communication/Power Header. Please ensure the correct voltage input for your display by referencing
the Voltage Specifications before connecting power. Pins two and three are reserved for serial
transmission, using either the RS-232/TTL, depending on what has been selected by the Protocol Select
Jumpers. Pins five and six can be used for serial transmission hardware flow control. The Molex 22-041061 style header used can be mated to a number of connectors, a 22-01-1062 for example.
I2C Communication/Power Header
2
Table 5: I C Communication/Power Pinout
Pin
1
2
3
4
Figure 9: I2C Communication/Power Header
Function
Vcc
SCL
SDA
Gnd
Voltage is applied through pins one and four of the header, please reference the electrical specifications
before applying power. Pins two and three are reserved for I2C clock and data signals respectively, both
of which should be pulled up to five volts using a resistance between one and ten kilohms. The Tyco
640456-4-LF style header used can be mated to a number of connectors, including Molex 22-01-3047.
Protocol Select Jumpers
The Protocol Select Jumpers provide the means necessary to toggle the GLK12232A-25-SM/GLT12232ASM between RS-232 and TTL protocols. As a default, the jumpers are set to RS-232 mode with solder
jumps on the RS232 jumpers. In order to change the display to TTL mode, simply remove the zero ohm
resistors from the RS232 jumpers and solder them to the TTL jumpers.
8
Command Summary
4.2 USB Model
USB Connector
Table 6: USB Pinout
Pin
1
2
3
4
Function
Gnd
D+
DVcc
Figure 10: USB Connector
The GLK12232A-25-SM-USB/GLT12232A-SM-USB comes with a friction-locking straight pin Connector to
fulfill both communication and power needs. Most commonly used with a PC, this connection creates a
virtual com port that offers a simple power solution with a familiar communication scheme. The Molex
22-04-1061 style header used can be mated to a number of connectors, a 22-01-1062 for example.
Alternate Power Connector
Table 7: Alternate Power Pinout
Pin
1
2
3
4
Function
Vcc
Gnd
Gnd
NC/Vcc
Figure 11: Alternate Power Connector
The Alternate Power Connector provides the ability to power the GLK12232A-25-SM-USB/GLT12232ASM-USB using a second cable. The Tyco 171825-4 style header is particularly useful for connecting to an
unmodified floppy power cable, a 171822-4 for example, from a PC power supply for a simple bench
power solution.
Command Summary
9
4.3 Common Features
General Purpose Outputs
Table 8: GPO Pinout
Pin
1
2
3
4
Figure 12: GPO Header
Function
GPO 1
Gnd
GPO 2
Gnd
A unique feature of the GLK12232A-25-SM/GLT12232A-SM is the ability to control relays* and other
external devices using one of two General Purpose Outputs. Each can source up to 3mA of current at
three volts when on or sink 3mA at zero volts when off. The four pin header can be interfaced to a
number of female connectors to provide control to any peripheral devices required.
*Note: If connecting a relay, be sure that it is fully clamped using a diode and capacitor in order to absorb any
electro-motive force (EMF) which will be generated.
Hardware Lock
The Hardware Lock allows fonts, bitmaps, and settings to be saved, unaltered by any commands. By
connecting the two pads near the memory chip, designated Resistor, with a zero ohm resistor, the
display will be locked. This supersedes the data lock command and cannot be circumvented by any
software means. To unlock the display and make changes simply remove the jumper.
4.4 GLK Model
Keypad Header
Table 9: Keypad Pinout
Pin
1
2
3
4
5
6
Figure 13: Keypad Header
Function
Gnd
Row 1
Row 2
Row 3
Row 4
Row 5
Pin
7
8
9
10
11
12
Function
Column 1
Column 2
Column 3
Column 4
Column 5
Gnd/Vcc*
To facilitate user input, the GLK12232A-25-SM provides a Keypad Interface Connector which allows a
matrix style keypad of up to twenty-five keys to be directly connected to the display module. Key
presses are generated when a short is detected between a row and a column. When a key press is
generated, a character specific to that key press is automatically sent on the Tx communication line. The
character that is associated with each key press may be altered using the “Assign Key Codes” command.
The straight twelve pin header of the Keypad Interface Connector will interface to a variety of different
devices including the Matrix Orbital KPP4x4 keypad.
*Note: The Ground / +3.3V pin is toggled by the jumper to the right of the keypad connector. Jump pads 1 & 2 for
+3.3V or 2 & 3 for GND.
10
Command Summary
4.5 GLT Model
Touch Screen
The GLT12232A-SM facilitates user touch input in one of two distinct ways. Coordinate mode will report
events by supplying their exact position on the screen. Region mode will report events within defined
boundaries on the screen. Both modes are outlined below.
Coordinate Mode
In coordinate mode all touch events are reported using three
single byte values. First, the type of event is transmitted,
followed by the x and y coordinates of its position. Pressure
and drag thresholds must be exceeded for an event to be
registered. A low drag threshold will result in greater tracking
accuracy but transmits much more data to the host. Care
should be taken to find balance. This mode offers a great
degree of flexibility and creativity.
Table 10: Coordinate Mode Event Prefixes
Return Value
Touch Event
1
Press
2
Release
4
Drag
Region Mode
A simpler, keypad style alternative to coordinate mode,
region mode offers only a single byte for each touch event.
Unique regions are created by specifying a position, size, and
return values. A value corresponding to a specific region is
returned when an event occurs within its bounds. Events
outside of regions result in transmission of the value 255.
Regions can be deleted individually or collectively when no
longer needed. This mode allows quick and easy set up.
Table 11: Region Mode Event Responses
Return Value
Touch Event
Key Down
Press
Key Up
Release
Key Down
Drag
Command Summary
255
Out of Region
11
5 Troubleshooting
5.1 Power
In order for your Matrix Orbital display to function correctly, it must be supplied with the appropriate
power. If the power LED near the top right corner of the board is not illuminated, power is not applied
correctly. Try following the tips below.
First, check the power cable which you are using for continuity. If you don't have an ohm meter,
try using a different power cable, if this does not help try using a different power supply.
Check the interface connector in use on your display. If the power connections have become
loose, or you are unable to resolve the issue, please Contact Matrix Orbital.
5.2 Display
If your display is powered successfully, the Matrix Orbital logo, or user created screen should display on
start up. If this is not the case, check out these tips.
•
•
Ensure the contrast is not too high or too low. This can result in a darkened or blank screen
respectively. See the Manual Override section to reset to default.
Make sure that the start screen is not blank. It is possible to overwrite the Matrix Orbital logo
start screen, if this happens the screen may be blank. Try writing to the display to ensure it is
functional, after checking the contrast above.
5.3 Communication
When communication of either text or commands is interrupted, try the steps below.
•
•
•
•
First, check the communication cable for continuity. If you don't have an ohm meter, try using a
different communication cable. If you are using a PC try using a different USB Port.
In USB protocol, ensure that the host system and display module are both communicating on
the same baud rate. The default rate for the display module is 19200 bps.
Unlock the display. See the Set and Save Data Lock command for more info.
Finally, you may reset the display to its default settings using the Manual Override procedure
outlined below.
12
Command Summary
5.4 Manual Override
Should the settings of your display become altered in a way that dramatically impacts usability, the
default settings can be temporarily restored. To override the display, please follow the steps below.
1. Disconnect power from your display.
2. Place a jumper on the two manual override pins, for the GLK model these are the middle two
keypad pins, for the GLT these are the only two pins on the keypad header.
3. Reconnect power to your unit, and wait for the start screen before removing the jumper. Please
note the jumper will adversely affect GLT12232A-SM performance if left in place during use.
4. Settings will be temporarily* overridden to the defaults listed in the Manual Override Settings table.
At this point any important settings, such as contrast, backlight, or baud rate, should not only be set
but saved so they remain when the override is removed.
Parameter
Backlight
Contrast
Baud Rate
Value
255
128
19200
Table 12: Manual Override Settings
*Note: The display module will revert back to the old settings once turned off, unless desired settings are saved.
Command Summary
13
6 Commands
6.1 Communication
1.1 Change
Baud Rate
Dec
254 57 Speed
Hex
FE 39 Speed
ASCII
■ 9 Speed
Immediately changes the baud rate. Baud rate can be temporarily forced to 19200 by a manual override.
Speed Byte Valid settings shown below.
v8.0
Table 13: Accepted Baud Rate Values
Rate
Speed
9600
207
14400
138
19200
103
28800
68
38400
51
57600
34
76800
25
115200
16
1.2 Change I2C
Slave Address
Dec
254 51 Address
v8.0
Hex
FE 33 Address
ASCII
■ 3 Address
Immediately changes the I2C write address. Only even values are permitted as the next odd address will become
the read address. Default is 80.
Address Byte Even value.
1.3 Transmission
Protocol Select
Dec
Hex
254 160 Protocol
v8.0
FE A0 Protocol
■ á Protocol
Selects the protocol used for data transmission from the display. Data transmission to the display is not affected.
Must be set to the protocol in use to receive data correctly.
Protocol Byte 1 for Serial (RS232/RS422/TTL/USB) or 0 for I2C.
1.4 Set a Non-Standard
Baud Rate
Dec
254 164 Baud
Hex
FE A4 Baud
ASCII
■ ñ Baud
Immediately changes the baud rate to the value specified. Baud must be a whole number between 0 and
1,000,000. Not available in I2C. Can be temporarily forced to 19200 by a manual override.
Baud
Integer
Baud rate speed. The value must be sent using little endian format.
*Note: Command was restructured at firmware revision 8.0
1.5 Set Flow
Control Mode
v5.0
Dec
254 63 Mode
v8.0
Hex
FE 3F Mode
ASCII
■ ? Mode
Toggles flow control between hardware, software and off settings. Software and Hardware control can be further
tuned using the settings above. Default is Off, or 0.
Mode Byte Flow control setting as below.
Table 14: Hardware Flow Control Trigger Levels
Bytes
Level
14
1
0
4
1
8
2
14
3
Table 15: Flow Control Settings
Flow Control
Mode
Command Summary
None
0
Software
1
Hardware
2
1.6 Set Hardware
Dec
254 62 Level
v8.0
Flow Control
Hex
FE 3E Level
Trigger Level
ASCII
■ > Level
Sets the hardware flow control trigger level. The Clear To Send signal will be deactivated once the number of
characters in the display buffer reaches the level set; it will be reactivated once all data in the buffer is handled.
Level Byte Trigger level as above.
1.7 Turn
Dec
254 58 Almost Full Almost Empty
v8.0
Software Flow
Hex
FE 3A Almost Full Almost Empty
Control On
ASCII
■ : Almost Full Almost Empty
Enables simple flow control. The display will return a single, Xoff, byte to the host when the display buffer is
almost full and a different, Xon, byte when the buffer is almost empty. Full value should provide enough room for
the largest data packet to be received without buffer overflow. No data should be sent to the display between full
2
and empty responses to permit processing. Buffer size is 256* bytes. Not available in I C. Default off.
Almost Full
Byte
Number of bytes remaining before buffer is completely full, 0 < Full < Empty < 256*.
Almost Empty Byte
Number of bytes before buffer can be considered empty enough to accept data.
*Note: Buffer size was increased to 256 bytes from 128 bytes at firmware revision 8.3.
1.8 Turn
Dec
254 59
v8.0
Software Flow
Hex
FE 3B
Control Off
ASCII
■;
Disables flow control. Bytes sent to the display may be permitted to overflow the buffer resulting in data loss.
1.9 Set Software
Dec
254 60 Xon Xoff
v8.0
Flow Control
Hex
FE 3C Xon Xoff
Response
ASCII
■ < Xon Xoff
Sets the values returned for almost full and almost empty messages when in flow control mode. This command
permits the display to utilize standard flow control values of 0x11 and 0x13, note that defaults are 0xFF and 0xFE.
Xon
Byte Value returned when display buffer is almost empty, permitting transmission to resume.
Xoff
Byte Value returned when display buffer is almost full, signaling transmission to halt.
1.10 Echo
Dec
254 255 Length Data
v8.3
Hex
FE FF Length Data
■ Length Data
ASCII
Send data to the display that it will echo. Useful to confirm communication or return information from scripts.
Length
Word
Length of data array to be echoed.
Data
Byte(s) An arbitrary array of data that the module will return.
Response
Byte(s) The same arbitrary array of data originally sent.
1.11 Delay
Dec
254 251 Time
Hex
FE FB Time
ASCII
■ √ Time
Pause command execution to and responses from the display for the specified length of time.
Time
Word
Length of delay in ms, maximum 2000.
Command Summary
v8.3
15
1.12 Software
Reset
Dec
254 253 77 79 117 110
v8.4
Hex
FE FD 4D 4F 75 6E
ASCII
■²MOun
Reset the display as if power had been cycled via a software command. No commands should be sent while the
unit is in the process of resetting; a response will be returned to indicate the unit has successfully been reset.
Response
Word Successful reset response, 254 214.
6.2 Text
2.1 Clear
Screen
Dec
254 88
Hex
FE 58
ASCII
■X
Clears the contents of the screen.
v8.0
2.2 Go
Home
Dec
254 72
Hex
FE 48
ASCII
■H
Returns the cursor to the top left of the screen.
v8.0
2.3 Set Cursor
Position
Dec
254 71 Column Row
Hex
FE 47 Column Row
ASCII
■ G Column Row
Sets the cursor to a specific cursor position where the next transmitted character is printed.
Column Byte Value between 1 and number of character columns.
Row
Byte Value between 1 and number of character rows.
v8.0
2.4 Set Cursor
Coordinate
v8.0
Dec
254 121 X Y
Hex
FE 79 X Y
ASCII
■y X Y
Sets the cursor to an exact pixel position where the next transmitted character is printed.
X Byte
Value between 1 and screen width, represents leftmost character position.
Y Byte
Value between 1 and screen height, represents topmost character position.
2.5 Get String
Extents
Dec
254 41 Text
v8.6
Hex
FE 29 Text
ASCII
■ ) Text
Read the size of the rectangle that the specified string would occupy if it was rendered with the current font.
Text
String
String on which to preform extents calculation. A single line of text is assumed.
Response
Byte(s) Width and height of the string in pixels. A width greater than the screen will return 0.
16
Command Summary
2.6 Initialize
Text Window
Dec
254 43 ID X1 Y1 X2 Y2 Font CharSpace LineSpace Scroll
v8.3
Hex
FE 2B ID X1 Y1 X2 Y2 Font CharSpace LineSpace Scroll
ASCII
■ + ID X1 Y1 X2 Y2 Font CharSpace LineSpace Scroll
Designates a portion of the screen to which text can be confined. Font commands affect only the current window,
default (entire screen) is window 0.
ID
Byte
Unique text window identification number, value between 0 and 15.
X1
Byte
Leftmost coordinate.
Y1
Byte
Topmost coordinate.
X2
Byte
Rightmost coordinate.
Y2
Byte
Bottommost coordinate.
*Font
Short Unique font ID to use for this window, value between 0 and 1023.
CharSpace Byte
Spacing between characters to use for this window.
LineSpace Byte
Spacing between lines to use for this window.
Scroll
Byte
Number of pixel rows to write to before scrolling text.
*Note: Font was changed from a Byte length at firmware revision 8.5
2.7 Set Text
Window
Dec
254 42 ID
v8.3
Hex
FE 2A ID
ASCII
■ * ID
Sets the text window to which subsequent text and commands will apply. Default (entire screen) is window 0.
ID
Byte
Unique text window to use.
2.8 Clear Text
Window
Dec
254 44 ID
Hex
FE 2C ID
ASCII
■ , ID
Clears the contents of a specific text window, similar to the clear screen command.
ID
Byte
Unique text window to clear.
v8.3
2.9 Initialize
Label
Dec
254 45 ID X1 Y1 X2 Y2 Vert Hor Font Background CharSpace
v8.3
Hex
FE 2D ID X1 Y1 X2 Y2 Vert Hor Font Background CharSpace
ASCII
■ - ID X1 Y1 X2 Y2 Vert Hor Font Background CharSpace
Designates a portion of the screen that can be easily updated with one line of text, often used to display variables.
ID
Byte
Unique label identification number, value between 0 and 15.
X1
Byte
Leftmost coordinate.
Y1
Byte
Topmost coordinate.
X2
Byte
Rightmost coordinate.
Y2
Byte
Bottommost coordinate.
Vert
Byte
Vertical justification of the label text; 0 for top, 1 for middle, or 2 for bottom.
Hor
Byte
Horizontal justification of the label text; 0 for left, 1 for centre, or 2 for right.
Font
Short Unique font ID to use for this label, value between 0 and 1023.
Background Byte
State of the pixels in the label region that is not occupied by text; 0 for off or 1 for on.
CharSpace
Byte
Spacing between characters to use for this label.
*Note: Font was changed from a Byte length at firmware revision 8.5
Command Summary
17
2.10 Initialize
Scrolling Label
Dec
254 47 ID X1 Y1 X2 Y2 Vert Dir Font Background CharSpace Delay
v8.6
Hex
FE 2F ID X1 Y1 X2 Y2 Vert Dir Font Background CharSpace Delay
ASCII
■ / ID X1 Y1 X2 Y2 Vert Dir Font Background CharSpace Delay
Designates a portion of the screen that can be easily updated with one line of text, often used to display variables.
ID
Byte
Unique label identification number, value between 0 and 15.
X1
Byte
Leftmost coordinate.
Y1
Byte
Topmost coordinate.
X2
Byte
Rightmost coordinate.
Y2
Byte
Bottommost coordinate.
Vert
Byte
Vertical justification of the label text; 0 for top, 1 for middle, or 2 for bottom.
Dir
Byte
Direction of the scrolling behavior; 0 for left, 1 for right, or 2 for bounce.
Font
Short Unique font ID to use for this label, value between 0 and 1023.
Background Byte
State of the pixels in the label region that is not occupied by text; 0 for off or 1 for on.
CharSpace
Byte
Spacing between characters to use for this label.
Delay
Short Time in milliseconds to elapse between characters printed.
2.11 Update
Label
Dec
254 46 ID Data
Hex
FE 2E ID Data
ASCII
■ . ID Data
Update a previously created label with new text. Send a null character (empty string) to clear a label.
ID
Byte
Unique label to update, between 0 and 15.
Data String Information to display in the label, must be terminated with a null (value of zero) byte.
v8.3
2.12 Auto Scroll
On
Dec
254 81
v8.0
Hex
FE 51
ASCII
■Q
The entire contents of screen are shifted up one line when the end of the screen is reached. Display default is on.
2.13 Auto Scroll
Off
Dec
254 82
v8.0
Hex
FE 52
ASCII
■R
New text is written over the top line when the end of the screen is reached. Display default is Auto Scroll on.
6.3 Drawing
3.1 Set Drawing
Colour
Dec
254 99 Colour
v8.0
Hex
FE 63 Colour
ASCII
■ c Colour
Set the monochrome colour to be used for all future drawing commands that do not implicitly specify colour.
Colour Byte
0 for inactive (background) colour or any other value for active (text) colour.
18
Command Summary
3.2 Draw
Pixel
Dec
254 112 X Y
Hex
FE 70 X Y
ASCII
■p X Y
Draw a single pixel at the specified coordinate using the current drawing colour.
X Byte
Horizontal position of pixel to be drawn.
Y Byte
Vertical position of pixel to be drawn.
v8.0
3.3 Draw a
Line
Dec
254 108 X1 Y1 X2 Y2
v8.0
Hex
FE 6C X1 Y1 X2 Y2
ASCII
■ l X1 Y1 X2 Y2
Draw a line connecting two termini. Lines may be rendered differently when drawn right to left versus left to right.
X1
Byte
Horizontal coordinate of first terminus.
Y1
Byte
Vertical coordinate of first terminus.
X2
Byte
Horizontal coordinate of second terminus.
Y2
Byte
Vertical coordinate of second terminus.
3.4 Continue a
Line
Dec
254 101 X Y
Hex
FE 65 X Y
ASCII
■e X Y
Draw a line from the last point drawn to the coordinate specified using the current drawing colour.
X Byte
Left coordinate of terminus.
Y Byte
Top coordinate of terminus.
v8.0
3.5 Draw a
Rectangle
Dec
254 114 Colour X1 Y1 X2 Y2
Hex
FE 72 Colour X1 Y1 X2 Y2
ASCII
■ r Colour X1 Y1 X2 Y2
Draw a rectangular frame one pixel wide using the colour specified; current drawing colour is ignored.
Colour Byte
0 for background or any other value for text colour.
X1
Byte
Leftmost coordinate.
Y1
Byte
Topmost coordinate.
X2
Byte
Rightmost coordinate.
Y2
Byte
Bottommost coordinate.
v8.0
3.6 Draw a Filled
Rectangle
v8.0
Dec
254 120 Colour X1 Y1 X2 Y2
Hex
FE 78 Colour X1 Y1 X2 Y2
ASCII
■ x Colour X1 Y1 X2 Y2
Draw a filled rectangle using the colour specified; current drawing colour is ignored.
Colour Byte
0 for background or any other value for text colour.
X1
Byte
Leftmost coordinate.
Y1
Byte
Topmost coordinate.
X2
Byte
Rightmost coordinate.
Y2
Byte
Bottommost coordinate.
Command Summary
19
3.7 Draw a
Dec
254 128 X1 Y1 X2 Y2 Radius
Rounded
Hex
FE 80 X1 Y1 X2 Y2 Radius
Rectangle
ASCII
■ Ç X1 Y1 X2 Y2 Radius
Draw a rounded rectangular frame one pixel wide using the current drawing colour.
X1
Byte
Leftmost coordinate of the rectangle.
Y1
Byte
Topmost coordinate of the rectangle.
X2
Byte
Rightmost coordinate.
Y2
Byte
Bottommost coordinate.
Radius Byte
Radius of curvature of the rectangle corners.
v8.3
3.8 Draw a Filled
Dec
254 129 X1 Y1 X2 Y2 Radius
Rounded
Hex
FE 81 X1 Y1 X2 Y2 Radius
Rectangle
ASCII
■ ü X1 Y1 X2 Y2 Radius
Draw a filled rounded rectangle using the current drawing colour.
X1
Byte
Leftmost coordinate of the rectangle.
Y1
Byte
Topmost coordinate of the rectangle.
X2
Byte
Rightmost coordinate.
Y2
Byte
Bottommost coordinate.
Radius Byte
Radius of curvature of the rectangle corners.
v8.3
3.9 Draw a
Circle
Dec
254 123 X Y Radius
Hex
FE 7B X Y Radius
ASCII
■ { X Y Radius
Draw a circular frame one pixel wide using the current drawing colour.
X
Byte
Horizontal coordinate of the circle centre.
Y
Byte
Vertical coordinate of the circle centre.
Radius Byte
Distance between the circle perimeter and centre.
v8.3
3.10 Draw a
Filled Circle
Dec
254 124 X Y Radius
Hex
FE 7C X Y Radius
ASCII
■ | X Y Radius
Draw a filled circle using the current drawing colour.
X
Byte
Horizontal coordinate of the circle centre.
Y
Byte
Vertical coordinate of the circle centre.
Radius Byte
Distance between the circle perimeter and centre.
v8.3
3.11 Draw
an Ellipse
v8.3
Dec
254 125 X Y XRadius XRadius
Hex
FE 7D X Y XRadius XRadius
ASCII
■ } X Y XRadius XRadius
Draw an elliptical frame one pixel wide using the current drawing colour.
X
Byte
Horizontal coordinate of the ellipse centre.
Y
Byte
Vertical coordinate of the ellipse centre.
XRadius Byte
Distance between the furthest horizontal point on the ellipse perimeter and centre.
YRadius
Byte
Distance between the furthest vertical point on the ellipse perimeter and centre.
20
Command Summary
3.12 Draw a
Filled Ellipse
Dec
254 127 X Y XRadius XRadius
Hex
FE 7F X Y XRadius XRadius
■ DEL X Y XRadius XRadius
ASCII
Draw an ellipse using the current drawing colour.
X
Byte
Horizontal coordinate of the ellipse centre.
Y
Byte
Vertical coordinate of the ellipse centre.
XRadius Byte
Distance between the furthest horizontal point on the ellipse perimeter and centre.
YRadius
Byte
Distance between the furthest vertical point on the ellipse perimeter and centre.
v8.3
3.13 Scroll
Screen
v8.3
Dec
254 89 X1 Y1 X2 Y2 MoveX MoveY
Hex
FE 59 X1 Y1 X2 Y2 MoveX MoveY
ASCII
■ Y X1 Y1 X2 Y2 MoveX MoveY
Define and scroll the contents of a portion of the screen.
X1
Byte
Leftmost coordinate of the scroll window.
Y1
Byte
Topmost coordinate of the scroll window.
X2
Byte
Rightmost coordinate of the scroll window.
Y2
Byte
Bottommost coordinate of the scroll window.
MoveX Signed Word
Number of pixels to scroll horizontally.
MoveY Signed Word
Number of pixels to scroll vertically.
3.14 Initialize a
Bar Graph
Dec
254 103 ID Type X1 Y1 X2 Y2
v8.3
Hex
FE 67 ID Type X1 Y1 X2 Y2
ASCII
■ g ID Type X1 Y1 X2 Y2
Initialize a bar graph in memory for later implementation. Graphs can be located anywhere on the screen, but
overlapping may cause distortion. Graph should be filled using the Draw a Bar Graph command.
ID
Byte
Unique bar identification number, between 0 and 255.
Type Byte
Graph style, see Bar Graph Types.
X1
Byte
Leftmost coordinate.
Y1
Byte
Topmost coordinate.
X2
Byte
Rightmost coordinate.
Y2
Byte
Bottommost coordinate.
Table 16: Bar Graph Types
Type
0
1
2
3
Direction
Vertical
Horizontal
Vertical
Horizontal
Base
Bottom
Left
Top
Right
Command Summary
21
3.15 Initialize 9Slice Bar Graph
Dec
254 115 ID Type X1 Y1 X2 Y2 Fore 9Slice Back 9Slice
v8.3
Hex
FE 73 ID Type X1 Y1 X2 Y2 Fore 9Slice Back 9Slice
ASCII
■ s ID Type X1 Y1 X2 Y2 Fore 9Slice Back 9Slice
Initialize a 9-slice bar graph in memory for later implementation. 9-slice graphs are also be filled using the Draw a
Bar Graph command and are allocated to the same memory as regular bitmaps.
ID
Byte
Unique bar identification number, between 0 and 255.
Type
Byte
Graph style, see Bar Graph Types.
X1
Byte
Leftmost coordinate.
Y1
Byte
Topmost coordinate.
X2
Byte
Rightmost coordinate.
Y2
Byte
Bottommost coordinate.
Fore 9Slice
Word 9-slice used for the foreground.
Back 9Slice
Word 9-slice used for the background.
3.16 Draw a
Bar Graph
Dec
254 105 ID Value
v8.3
Hex
FE 69 ID Value
ASCII
■ i ID Value
Fill in a portion of a bar graph after initialization. Any old value will be overwritten by the new. Setting a value of
zero before setting a new value will restore a graph should it become corrupted.
ID
Byte Unique bar identification number, between 0 and 255.
Value Byte Portion of graph to fill in pixels, will not exceed display bounds.
3.17 Initialize a
Strip Chart
Dec
254 110 ID X1 Y1 X2 Y2 Min Max Step Style ID
v8.3
Hex
FE 6E ID X1 Y1 X2 Y2 Min Max Step Style ID
ASCII
■ n ID X1 Y1 X2 Y2 Min Max Step Style ID
Designate a portion of the screen for a chart. Visual changes will occur when the update command is issued.
ID
Byte
Unique chart identification number, value between 0 and 7.
X1
Byte
Leftmost coordinate of the strip chart, zero indexed from left.
Y1
Byte
Topmost coordinate of the strip chart, zero indexed from top.
X2
Byte
Rightmost coordinate of the strip chart, zero indexed from left.
Y2
Byte
Bottommost coordinate of the strip chart, zero indexed from top.
Min
Short Minimum chart value.
Max
Short Maximum chart value. For line styles, make max-min at least one pixel less than chart height.
Step
Byte
Scroll distance between updates, in pixels.
Style Byte
Chart style value which is an OR’d combination of type and direction, as per the tables below.
ID
Short 9-slice file ID, if a 9-slice style strip chart is not desired send any value for this parameter.
Table 17: Strip Chart Directions (Bytes 7-4)
Direction
0
32
64
96
128
160
192
224
22
Table 18: Strip Chart Types (Bytes 3-0)
Description
Bottom origin, left shift
Left origin, upward shift
Top origin, right shift
Right origin, downward shift
Bottom origin, right shift
Left origin, downward shift
Top origin, left shift
Right origin, upward shift
Command Summary
Type
0
1
2
3
4
5
6
Description
Bar
Line
Step
Box
9-slice
Separated Bar
Separated Box
3.18 Update a
Strip Chart
Dec
254 111 ID Value
Hex
FE 6F ID Value
ASCII
■ o ID Value
Shift the specified strip chart and draw a new value.
ID
Byte
Chart identification number, between 0 and 7.
Value
Word Value to add to the chart.
v8.3
6.4 Fonts
4.1 Upload a
Font File
Dec
254 36 ID Size Data
v8.1
Hex
FE 24 ID Size Data
ASCII
■ $ ID Size Data
Upload a font to a graphic display. To create a font see the Font File Creation section, for upload protocol see the
File Upload Protocol or XModem Upload Protocol entries. Default font is ID 1.
ID
Short
Unique font identification number, value between 0 and 1023.
Size
Integer Size of the entire font file.
Data Byte(s) Font file data, see the Font File Creation example.
4.2 Set the
Current Font
Dec
254 49 ID
v8.0
Hex
FE 31 ID
ASCII
■ 1 ID
Set the font in use by specifying a unique identification number. Characters sent after the command will appear in
the font specified; previous text will not be affected. Default is 1.
*ID Short Unique font identification number, value between 0 and 1023.
*Note: ID was changed from a Byte length at firmware revision 8.5
4.3 Set Font
Metrics
Dec
254 50 LineMargin TopMargin CharSpace LineSpace Scroll
v8.0
Hex
FE 32 LineMargin TopMargin CharSpace LineSpace Scroll
ASCII
■ 2 LineMargin TopMargin CharSpace LineSpace Scroll
Set the font spacing, or metrics, used with the current font. Changes only appear in text sent after command.
LineMargin
Byte
Space between left of display and first column of text. Default 0.
TopMargin
Byte
Space between top of display area and first row of text. Default 0.
CharSpace
Byte
Space between characters. Default 0.
Line Space
Byte
Space between character rows. Default 1.
Scroll
Byte
Point at which text scrolls up screen to display additional rows. Default 1.
4.4 Set Box Space
Mode
Dec
254 172 Switch
Hex
FE AC Switch
ASCII
■ ¼ Switch
Toggle box space on or off. When on, a character sized box is cleared from the screen before a character is
written. This eliminates any text or bitmap remnants behind the character. Default is on.
Switch Byte
1 for on or 0 for off.
Command Summary
v8.0
23
Font File Creation
Matrix Orbital graphic displays are capable of displaying text in a wide variety of styles customizable to
suit any project design. Front files alter the style of text and appearance of the display.
By default, a Matrix Orbital graphic display is loaded with a small filled font in slot one and a future bk bt
16 style in slot two. Both are available at www.matrixorbital.ca/software/graphic_fonts.
The easiest way to create, add, or modify the fonts of any graphic display is through the MOGD# tool.
This provides a simple graphic interface that hides the more complex intricacies of the font file.
Table 19: Example Font File Header
Maximum Width
5
Character Height
7
ASCII Start Value
104
ASCII End Value
106
The font file header contains four bytes: First, the number of columns in the widest character; usually
‘w’, second, the pixel height of each character, and finally, the start and end values of the character
range. The range represents the values that must be sent to the display to trigger the characters to
appear on the screen. In the example, the decimal values corresponding to the lowercase letters ‘h’
through ‘j’ will be used resulting in the range shown.
Table 20: Example Character Table
h
i
j
MSB
0
0
0
LSB
13
18
21
Width
5
3
4
The character table contains information that allows the display to locate each individual character in a
mass of character data. Each character has three bytes; two indicating it’s offset in the character data
and one indicating its width. The offset takes into account the header and table bytes to point to the
first byte of the character data it references. The first byte of the file, maximum width, has an offset of
zero. The width byte of each character can be identical as in a fixed width font, or in our case, variable.
The character table will become clearer after analyzing the final part of the font file, character data.
Table 21: Character ‘h’
Bitmap
1
1
1
1
1
1
1
24
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
Table 22: Character ‘h’ Data
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
Command Summary
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
84
2D
98
C6
20
132
45
152
198
32
The character data is a binary graphical representation of each glyph in a font. Each character is drawn
on a grid containing as many rows as the height specified in the header and as many columns as the
width specified in the character table. Cells are drawn by writing a one in their location and cleared by
setting a value of zero. Starting at the top left, moving right, then down, eight of these cells form a
character data byte. When all cells are accounted for, zeroes may be added to the last byte to complete
it. A sample of an ‘h’ glyph is shown above. The data for the ‘i’ and ‘j’ characters will follow to complete
the custom font file displayed below.
Table 23: Example Font File
Header
Character Table
Character Data
5 7 104 106
0 13 5
0 18 3
0 21 4
132 45 152 198 32
67 36 184
16 49 25 96
6.5 Bitmaps
5.1 Upload a
Bitmap File
Dec
254 94 ID Size Data
v8.1
Hex
FE 5E ID Size Data
ASCII
■ ^ ID Size Data
Upload a bitmap to a graphic display. To create a bitmap see the Bitmap File Creation section, for upload protocol
see the File Upload Protocol or XModem Upload Protocol entries. Start screen is ID 1.
ID
Short
Unique bitmap identification number, value between 0 and 1023.
Size
Integer
Size of the entire bitmap file.
Data Byte(s)
Bitmap file data, see the Bitmap File Creation example.
5.2 Upload a
Bitmap Mask
Dec
254 92 5 ID Size Data
Hex
FE 5C 05 ID Size Data
ASCII
■ \ ENQ ID Size Data
Upload a bitmap mask that can clear areas of the screen before a bitmap is drawn. Programmatically,
(bitmap&mask) | (screen&~mask) is shown when a bitmap is drawn. To create a mask see the Bitmap File
Creation section, for upload protocol see the File Upload Protocol or XModem Upload Protocol entries.
ID
Word
Unique bitmap mask identification number.
Size
Double Word
Size of the entire mask file.
Data Byte(s)
Bitmap mask file data, see the Bitmap File Creation example.
v8.3
5.3 Draw a
Dec
254 98 ID X Y
Bitmap from
Hex
FE 62 ID X Y
Memory
ASCII
■ b ID X Y
Draw a previously uploaded bitmap from memory. Top left corner must be specified for drawing.
ID
Short Unique bitmap identification number, value between 0 and 1023.
X
Byte
Leftmost coordinate of bitmap.
Y
Byte
Topmost coordinate of bitmap.
v8.1
Command Summary
25
5.4 Draw a Partial
Bitmap
Dec
254 192 ID X Y Left Top Width Height
Hex
FE C0 ID X Y Left Top Width Height
ASCII
■└ ID X Y Left Top Width Height
Draw a portion of a previously uploaded bitmap defined by the left, top, width, and height specified.
ID
Short Unique bitmap identification number, value between 0 and 1023.
X
Byte
Leftmost coordinate of bitmap placement.
Y
Byte
Topmost coordinate of bitmap placement.
Left
Byte
Leftmost coordinate of the partial bitmap area to be drawn.
Top
Byte
Topmost coordinate of the partial bitmap area to be drawn.
Width
Byte
Width of the partial bitmap area to be drawn.
Height Byte
Height of the partial bitmap area to be drawn.
v8.6
5.5 Draw a Bitmap
Directly
v8.0
Dec
254 100 X1 Y1 X2 Y2 Data
Hex
FE 64 X1 Y1 X2 Y2 Data
ASCII
■ d X1 Y1 X2 Y2 Data
Draw a bitmap directly to the graphic display without saving to memory.
X1
Byte
Leftmost coordinate of bitmap.
Y1
Byte
Topmost coordinate of bitmap.
X2
Byte
Rightmost coordinate of bitmap.
Y2
Byte
Bottommost coordinate of bitmap.
Data Byte(s) Bitmap file data, see the Bitmap File Creation example.
Bitmap File Creation
In addition to fonts, Matrix Orbital graphic displays can also hold a number of customizable bitmaps to
provide further stylistic product integration. Like font files, bitmaps files are most easily uploaded to a
display using MOGD#. However, the critical data component of the bitmap upload command is detailed
below for reference.
The bitmap data block is similar to that of a font. However, as a bitmap is a single glyph, only a simple
two byte header is required. First, one byte representing the bitmap width is sent, then one byte for the
height. Each bitmap is merely encoded in binary fashion using a series of ones and zeroes. Again a grid
can be created using the width and height specified in the upload command, populated in the manner
above, and converted into byte values. A smiley face example is shown below to indicate the ultimate
effect of the Matrix Orbital graphic stylization ability.
Table 24: Smiley Face Bitmap
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
Table 25:Smiley Face Data
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
Table 26: Example Bitmap File
Header
Bitmap Data
26
54
80 34 224
Command Summary
0
0
0
0
1
0
0
0
0
50
22
E0
80
34
224
Bitmap Masking
Like a regular bitmap, a mask can be loaded to the display and used to create a more polished result
when drawing in populated areas. When defining a mask, all active values will clear any background
information, while any inactive values will leave it untouched. This is best described with an example.
Figure 15: Drawing with a Mask
Figure 14: Drawing without a Mask
6.6 9-Slices
6.1 Upload a
9-Slice File
Dec
254 92 3 ID Size Data
Hex
FE 5C 03 ID Size Data
ASCII
■ \ ETX ID Size Data
Upload a 9-slice file to a graphic display. To create a 9-slice see the
v8.3
9-Slice File Creation section, for upload protocol see the File Upload Protocol or XModem Upload Protocol entries.
ID
Word
Unique 9-slice identification number.
Size
Double Word
Size of the 9-slice file.
Data Byte(s)
9-slice file data, see the
9-Slice File Creation example.
6.2 Upload a 9Slice Mask
Dec
254 92 6 ID Size Data
Hex
FE 5C 06 ID Size Data
ASCII
■ \ ACK ID Size Data
Upload a 9-slice mask that can clear areas of the screen before a 9-slice is drawn. Programmatically,
(9slice&mask) | (screen&~mask) is shown when a bitmap is drawn. To create a mask see the
v8.3
9-Slice File Creation section, for upload protocol see the File Upload Protocol or XModem Upload Protocol entries.
ID
Word
Unique 9-slice mask identification number.
Size
Double Word
Size of the entire mask file.
Data Byte(s)
9-slice mask file data, see the
9-Slice File Creation example.
Command Summary
27
6.3 Display a
9-Slice
Dec
254 91 ID X1 Y1 X2 Y2
Hex
FE 5B ID X1 Y1 X2 Y2
ASCII
■ [ ID X1 Y1 X2 Y2
Displays a previously loaded 9-slice at the specified location.
ID
Word Unique 9-slice identification number.
X1
Byte
Leftmost coordinate of the 9-slice.
Y1
Byte
Topmost coordinate of the 9-slice.
X2
Byte
Rightmost coordinate of the 9-slice.
Y2
Byte
Bottommost coordinate of the 9-slice.
9-Slice File Creation
A 9-slice file is a scalable graphic composed of nine different bitmap sections as shown below.
Figure 16: Adobe 9-slice Representation
The 9-slice file format requires that the bitmap dimensions and the locations of divisions be defined
before a graphic is uploaded normally as shown in the Bitmap File Creation example.
Table 27: 9-slice file format
Width
Height
Top
Bottom
Left
Right
Bitmap Data
28
One byte representing the width of the entire bitmap.
One byte representing the height of the entire bitmap.
One byte specifying the height of the top row section of the 9-slice.
One byte specifying the height of the bottom row section of the 9-slice.
One byte specifying the width of the left column section of the 9-slice.
One byte specifying the width of the right column section of the 9-slice.
Data outlining the entire bitmap, as per the Bitmap File Creation example.
Command Summary
v8.3
6.7 Animations
7.1 Upload an
Animation File
Dec
254 92 4 File ID Size Data
v8.3
Hex
FE 5C 04 File ID Size Data
ASCII
■ \ EOT File ID Size Data
Upload an animation file to a graphic display. To create an animation see the
Animation File Creation section, for upload protocol see the File Upload Protocol or XModem Upload Protocol
entries. Up to 16 animations can be displayed on the screen at one time, using the Display Animation command,
but up to 1024 can be stored in memory for later use. Please note the total graphic memory size is 256KB.
File ID
Short
Unique animation file identification number, value between 0 and 1023.
Size
Integer
Size of the animation file.
Data
Byte(s)
Animation file data, see the
Animation File Creation example.
7.2 Display
Animation
Dec
254 193 ID File ID* X Y
v8.4
Hex
FE C1 ID File ID* X Y
■ ┴ ID File ID* X Y
ASCII
Load the first frame of the specified animation in its stopped state at the specified location. If an animation is
already in use at that index it will be overwritten. Use the start animation command to play the displayed file.
ID
Byte
Unique animation identification number, value between 0 and 15.
*File ID
Short Unique animation file identification number, value between 0 and 1023.
X
Byte
Leftmost coordinate of animation.
Y
Byte
Topmost coordinate of animation.
*Note: File ID short length variables were introduced at firmware v8.5.
7.3 Delete
Animation
Dec
254 199 ID
Hex
FE C7 ID
■ ╟ ID
ASCII
Stop and delete the displayed animation specified.
ID
Byte
Animation number to delete, value between 0 and 15.
v8.3
7.4 Start/Stop
Animation
v8.3
Dec
254 194 ID Start
Hex
FE C2 ID Start
■ ┬ ID Start
ASCII
Start or stop an animation that has been displayed.
ID
Byte
Animation number to start/stop, , value between 0 and 15.
Start Byte
Any non-zero value will start the specified animation, 0 will stop it.
7.5 Set
Dec
254 197 ID Frame
v8.3
Animation
Hex
FE C5 ID Frame
■ ┼ ID Frame
Frame
ASCII
Set the current frame of a displayed animation. If the frame exceeds the total number present, the animation will
be set to the first frame.
ID
Byte
Animation number to control, value between 0 and 15.
Frame Byte
Number of the frame to be displayed, value between 0 and 31.
Command Summary
29
7.6 Get
Dec
254 196 ID
Animation
Hex
FE C4 ID
Frame
ASCII
■ ─ ID
Get the current frame of a displayed animation.
ID
Byte
Animation number to request frame number, value between 0 and 15.
Response
Byte
Current frame number of the animation specified, value between 0 and 31.
v8.3
Animation File Creation
An animation file is a series of bitmaps, each displayed for a specified length of time within a continuous
rotation. The file begins by specifying the number of frames, the offset of each block of bitmap
information, and the time to display each frame. After which bitmap headers and data are transmitted
for each frame, in the same manner as the Bitmap File Creation example.
Table 28: Animation file format
Total Frames
Offsets
Times
Header 1
Bitmap 1 Data
…
Header 9
Bitmap 9 Data
One bytes representing the total number of frames in the animation
One entry for each frame, 4 bytes indicating the start of the bitmap file. Maximum 32 frames
Two bytes for each frame representing the length of time (100ms) for which it is displayed.
Two bytes, one representing the width and one the height of the first bitmap.
The first bitmap data, as per the Bitmap File Creation example.
…
Two bytes, one representing the width and one the height of the last bitmap.
The last bitmap data, as per the Bitmap File Creation example.
6.8 General Purpose Output
8.1 General Purpose
Output On
Dec
254 87 Number
Hex
FE 57 Number
ASCII
■ W Number
Turns the specified GPO on, sourcing current from an output of three volts.
Number Byte GPO to be turned on.
v8.0
8.2 General Purpose
Output Off
v8.0
Dec
254 86 Number
Hex
FE 56 Number
ASCII
■ V Number
Turns the specified GPO off, sinking current to an output of zero volts.
Number Byte GPO to be turned off.
8.3 Set Start Up
GPO State
Dec
254 195 Number State
v8.0
Hex
FE C3 Number State
ASCII
■ ├ Number State
Sets and saves the start up state of the specified GPO in non-volatile memory. Changes will be seen on start up.
Number Byte GPO to be controlled.
State
Byte 1 for on or 0 for off.
30
Command Summary
6.9 Piezo Buzzer
9.1 Activate Piezo
Buzzer
Dec
254 187 Frequency Time
Hex
FE BB Frequency Time
■ ╗ Frequency Time
ASCII
Activates a buzz of specific frequency from the onboard piezo buzzer for a specified length of time.
Frequency Word Frequency of the buzzer beep in Hertz.
Time
Word *Duration of the buzzer beep in milliseconds.
v8.0
9.2 Set Default
Buzzer Beep
Dec
254 188 Frequency Duration
v8.3
Hex
FE BC Frequency Duration
ASCII
■ ╝ Frequency Duration
Set the frequency and duration of the default beep transmitted when the bell character is transmitted.
Frequency Word Frequency of the beep in Hertz, default 440Hz.
Duration
Word *Duration of the beep in milliseconds, default 100ms.
*Note: When a beep precedes a delay command, the duration of the beep must be shorter than that of the delay.
9.3 **Set Keypad
Buzzer Beep
Dec
254 182 Frequency Duration
Hex
FE B6 Frequency Duration
■ ╢ Frequency Duration
ASCII
Set the frequency and duration of the default beep transmitted when a key is pressed.
Frequency Short Frequency of the beep in Hertz, default is 0 or off.
Duration
Short Duration of the beep in milliseconds, default is 0 or off.
**Note: Keypad model only.
v8.4
9.4 *Set Touch
Buzzer Beep
v8.4
Dec
254 182 Down Freq Up Freq
Hex
FE B6 Down Freq Up Freq
■ ╢ Down Freq Up Freq
ASCII
Set the frequency of the default beep transmitted when a touch event occurs. Duration of each is 50ms.
Down Freq
Short Frequency of the down event beep in Hertz, default is 0 or off.
Up Freq
Short Frequency of the up event beep in Hertz, default is 0 or off.
*Note: Touchpad model only.
6.10 Keypad
10.1 Auto
Dec
254 65
Transmit Key
Hex
FE 41
Presses On
ASCII
■A
Key presses are automatically sent to the host when received by the display. Default is Auto Transmit on.
v8.0
10.2 Auto
Dec
254 79
v8.0
Transmit Key
Hex
FE 4F
Presses Off
ASCII
■O
Key presses are held in the 10 key buffer to be polled by the host using the Poll Key Press command. Use this
mode for I2C transactions. Default is Auto Transmit on.
Command Summary
31
10.3 Poll Key
Press
Dec
254 38
v8.0
Hex
FE 26
ASCII
■&
Reads the last unread key press from the 10 key display buffer. If another key is stored in the buffer the MSB will
be 1, the MSB will be 0 when the last key press is read. If there are no stored key presses a value of 0 will be
returned. Auto transmit key presses must be turned off for this command to be successful.
Response Byte Value of key pressed (MSb determines additional keys to be read).
10.4 Clear
Key Buffer
Dec
254 69
Hex
FE 45
ASCII
■E
Clears all key presses from the key buffer.
v8.0
10.5 Set
Debounce Time
Dec
254 85 Time
v8.0
Hex
FE 55 Time
ASCII
■ U Time
Sets the time between a key press and a key read by the display. Most switches will bounce when pressed; the
debounce time allows the switch to settle for an accurate read. Default is 8 representing approximately 52ms.
Time Byte Debounce increment (debounce time = Time * 6.554ms).
10.6 Set Auto
Repeat Mode
Dec
254 126 Mode
v8.0
Hex
FE 7E Mode
■ DEL Mode
ASCII
Sets key press repeat mode to typematic or hold. In typematic mode if a key press is held, by default the key value
is transmitted immediately, then 5 times a second after a 1 second delay. In hold mode, the key down value is
transmitted once when pressed, and then the key up value is sent when the key is released. Default is typematic.
Mode Byte 1 for hold mode or 0 for typematic.
10.7 Auto
Repeat Mode Off
Dec
254 96
Hex
FE 60
ASCII
■`
Turns auto repeat mode off. Default is on (typematic).
32
Command Summary
v8.0
10.8 Assign Keypad
Codes
Dec
254 213 Key Down Key Up
v8.0
Hex
FE D5 Key Down Key Up
■ ╒ Key Down Key Up
ASCII
Assigns the key down and key up values sent to the host when a key press is detected. A key up and key down
value must be sent for every key, a value of 255 will leave the key unaltered. Defaults are shown below.
Key Down Bytes [25]
Key down values, beginning at row one column one moving right then down.
Key Up
Bytes [25]
Key up values, beginning at row one column one moving right then down.
Table 29: Default Key Down Values
A(65)
F(70)
K(75)
P(80)
U(85)
Key Down
B(66) C(67)
G(71) H(72)
L(76) M(77)
Q(81) R(82)
V(86) W(87)
D(68)
I(73)
N(78)
S(83)
X(88)
Table 30: Default Key Up Values
E(69)
J(74)
O(79)
T(84)
Y(89)
a(97)
f(102)
k(107)
p(112)
u(117)
b(98)
g(103)
l(108)
q(113)
v(118)
Key Up
c(99)
h(104)
m(109)
r(114)
w(119)
d(100)
i(105)
n(110)
s(115)
x(120)
e(101)
j(106)
o(111)
t(116)
y(121)
10.9 Set
Dec
254 159 Delay
Typematic
Hex
FE 9F Delay
Delay
ASCII
■ ƒ Delay
Sets the delay between the first key press and first typematic report when a key is held in typematic mode.
Delay Byte Time key must be held to trigger typematic reports, specified in 100ms, default is 10 (1s).
v8.4
10.10 Set
Dec
254 158 Interval
Typematic
Hex
FE 9E Interval
Interval
ASCII
■ ₧ Interval
Sets the interval between reported key presses when a key is held and the display is in typematic mode.
Interval Byte Time between key reports, specified in 100ms increments, default is 2 (200ms).
v8.4
6.11 Touchpad
11.1 Set Touch
Mode
Dec
254 135 Mode
v8.0
Hex
FE 87 Mode
■ ç Mode
ASCII
Sets the method used to return touch events. Region mode will return a single value for events in defined areas.
Coordinate mode will return event, x position, and y position bytes for each press, drag, or release.
Mode Byte Touch reporting mode, 0 for region or 1 for coordinate mode. Default is coordinate.
Command Summary
33
11.2 Set Region
Reporting Mode
Dec
254 136 Mode
v8.0
Hex
FE 88 Mode
ASCII
■ ê Mode
Defines the events transmitted in region mode. Allows only events specified to return a value to the host. Key
down values are transmitted for press and drag events, key up for release, and the value 255 for out of region.
Mode Byte Defines the events reported, see Region Reporting Mode. Default reporting returns all events.
Table 31: Region Reporting Mode
Byte
Event
7-4
Reserved
3
Out of Region
2
Drag
1
Release
0
Press
11.3 Set Touch
Region
Dec
254 132 ID X Y Width Height Key Down Key Up
Hex
FE 84 ID X Y Width Height Key Down Key Up
■ ä ID X Y Width Height Key Down Key Up
ASCII
Creates a region of the screen that responds when pressed and released with a defined single byte.
ID
Byte
Unique region identification number, maximum 32 regions. Value between 0 and 31.
X
Byte
Leftmost coordinate.
Y
Byte
Topmost coordinate.
Width
Byte
Width of region, must be within screen bounds.
Height
Byte
Height of region, must be within screen bounds.
Key Down Byte
Value returned when region is pressed.
Key Up
Byte
Value returned when region is released.
v8.0
11.4 Delete a
Touch Region
v8.0
Dec
254 133 ID
Hex
FE 85 ID
■ à ID
ASCII
Deletes a previously created touch region. Events from undefined regions return the value 255 by default.
ID Byte Unique region identification number.
11.5 Delete All
Touch Regions
Dec
254 134
v8.0
Hex
FE 86
■å
ASCII
Deletes all previously created touch regions. Recommended for use before dividing the screen into new regions.
34
Command Summary
11.6 Create a
Slider
Dec
254 186 ID Type X Y Width Height Control Width Min Max
v8.3
Hex
FE BA ID Type X Y Width Height Control Width Min Max
■ ║ ID Type X Y Width Height Control Width Min Max
ASCII
Draw a slider on the screen that responds visually and numerically when tapped or slid. Slider regions respond
with a value of 83, their ID, then two byte length current X and Y coordinates when activated.
ID
Byte
Unique slider identification number, max 32 regions/sliders. Value between 0 and 31.
Type
Byte
Defines slider direction and starting point for the control, as below.
X
Byte
Leftmost coordinate.
Y
Byte
Topmost coordinate.
Width
Short Width of slider.
Height
Short Height of slider.
Control Width Byte
Width of the slider control.
Min
Short Minimum slider value.
Max
Short Maximum slider value.
Table 32: Slider Definition
Value
16
17
32
33
64
65
Description
Horizontal slider, starting at minimum position
Vertical slider, starting at minimum position
Horizontal slider, starting at maximum position
Vertical slider, starting at maximum position
Horizontal slider, starting at middle position
Vertical slider, starting at middle position
11.7 Delete a
Slider
Dec
254 189 ID
Hex
FE BD ID
■ ╜ ID
ASCII
Deletes a previously created slider. Memory is shared with touch regions, this command will free space.
ID Byte Unique region identification number.
v8.3
11.8 Delete
All Sliders
v8.3
Dec
254 190
Hex
FE BE
■╛
ASCII
Deletes all previously created sliders. Does not remove touch regions.
11.9 Set
Dec
254 137 Threshold
v8.0
Dragging
Hex
FE 89 Threshold
Threshold
ASCII
■ ë Threshold
Sets the distance a press is required to travel before a drag event is reported. Precision will vary inversely to data
transmitted; care should be taken to find a suitable balance. Distance is calculated as∆𝑥 2 + ∆y 2 = 𝑑 2 .
Threshold Byte
Dragging threshold value. Default is 8.
Command Summary
35
11.10 Set
Dec
254 138 Threshold
Pressure
Hex
FE 8A Threshold
■ è Threshold
Threshold
ASCII
Sets the pressure required to trigger a touch event.
Threshold Word Pressure threshold value. Default is 1000.
v8.0
11.11 Run
Dec
254 139
v8.0
Touchpad
Hex
FE 8B
Calibration
ASCII
■ï
Triggers an interactive calibration of the touchpad. User will be required to touch various points on the screen
during calibration. This command is recommended for use when environmental or user conditions change to
ensure correct operation.
Response
Word Command byte 254, then 21 for success or 20 for failure.
6.12 Display Functions
12.1 Backlight
On
Dec
254 66 Minutes
v8.0
Hex
FE 42 Minutes
ASCII
■ B Minutes
Turns the display backlight on for a specified length of time. If an inverse display color is used this command will
essentially turn on the text.
Minutes
Byte Number of minutes to leave backlight on, a value of 0 leaves the display on indefinitely.
12.2 Backlight
Off
Dec
254 70
Hex
FE 46
ASCII
■F
Turns the display backlight off. If an inverse display colour is used this command will turn off the text.
v8.0
12.3 Set
Brightness
v8.0
Dec
254 153 Brightness
Hex
FE 99 Brightness
ASCII
■ Ö Brightness
Immediately sets the backlight brightness. If an inverse display color is used this represents the text colour
intensity instead. Default is 255.
Brightness Byte
Brightness level from 0(Dim) to 255(Bright).
12.4 Set and Save
Brightness
Dec
254 152 Brightness
v8.0
Hex
FE 98 Brightness
ASCII
■ ÿ Brightness
Immediately sets and saves the backlight brightness. Although brightness can be changed using the set command,
it is reset to this saved value on start up. Default is 255.
Brightness Byte
Brightness level from 0(Dim) to 255(Bright).
36
Command Summary
12.5 Set Backlight
Colour
Dec
254 130 Red Green Blue
Hex
FE 82 Red Green Blue
ASCII
■ é Red Green Blue
Set the colour of a tri-colour backlight. Only for tri-colour displays. Default is white (255, 255, 255).
Red
Byte
Brightness level of Red from 0(Dim) to 255(Bright).
Green
Byte
Brightness level of Green from 0(Dim) to 255(Bright).
Blue
Byte
Brightness level of Blue from 0(Dim) to 255(Bright).
v8.0
12.6 Set
Contrast
Dec
254 80 Contrast
v8.0
Hex
FE 50 Contrast
ASCII
■ P Contrast
Immediately sets the contrast between background and text. If an inverse display color is used this also represents
the text brightness. Default is 128.
Contrast Byte
Contrast level from 0(Light) to 255(Dark).
12.7 Set and Save
Contrast
Dec
254 145 Contrast
v8.0
Hex
FE 91 Contrast
ASCII
■ æ Contrast
Immediately sets and saves the contrast between background and text. Although contrast can be changed using
the set command, it is reset to this saved value on start up. Default is 128.
Contrast Byte
Contrast level from 0(Light) to 255(Dark).
6.13 Scripting
13.1 Upload a
Script File
Dec
254 92 2 ID Length Data
Hex
FE 5C 02 ID Length Data
ASCII
■ \ STX ID Length Data
Save a list of commands to be executed at a later time. Bytes are saved as if they are being sent by the host.
ID
Word
Unique identification number of the script.
Length Double Length of the script in bytes.
Data
Byte(s) Data to be sent to the display when the script executes.
v8.3
13.2 *Set
Scripted Button
Dec
254 142 ID X Y Width Height Type Down Script Up Script
v8.3
Hex
FE 8E ID X Y Width Height Type Down Script Up Script
ASCII
■ Ä ID X Y Width Height Type Down Script Up Script
Create a button region that responds to a touch event by executing an uploaded script.
ID
Byte
Identification number of the touch region, value between 0 and 31
X
Byte
Leftmost coordinate.
Y
Byte
Topmost coordinate.
Width
Byte
Width of touch region.
Height
Byte
Height of touch region.
Type
Byte
Type of touch region. Must be 1.
Down Script Short Identification number of the script to run on a down event, value between 0 and 1023.
Up Script
Short Identification number of the script to run on an up event, value between 0 and 1023.
*Note: Touch screen model only.
Command Summary
37
13.3 *Set
Scripted Key
Dec
254 142 ID Row Column Down Script Up Script
Hex
FE 8E ID Row Column Down Script Up Script
ASCII
■ Ä ID Row Column Down Script Up Script
Select a previously loaded script to be run when the specified key is pressed.
ID
Byte
Unique key identification number, maximum based on number of keys available.
Row
Byte
The row value of the key to be linked to the specified scripts.
Column
Byte
The column value of the key to be linked to the specified scripts.
Down Script Word Identification number of the script to run on a down event.
Up Script
Word Identification number of the script to run on an up event.
*Note: Keypad model only.
v8.4
13.4 Run
Script File
v8.3
Dec
254 93 ID
Hex
FE 5D ID
■ ] ID
ASCII
Execute a previously loaded script. Script 0 is loaded automatically on startup, unless in override mode.
ID
Word Identification number of the script to run.
6.14 Filesystem
14.1 Delete
Filesystem
Dec
254 33 89 33
v8.0
Hex
FE 21 59 21
ASCII
■!Y!
Completely erase all fonts and bitmaps from a graphic display. Extended length of the command is intended to
prevent accidental execution. To ensure filesystem integrity, cycle power to the display after erasure.
14.2 Delete a
File
Dec
254 173 Type ID
v8.1
Hex
FE AD Type ID
ASCII
■ ¡ Type ID
Removes a single font or bitmap file given the type and unique identification number. Cycle power after deletion.
Type Byte
0 for font or 1 for bitmap.
ID
Short Unique identification number of font or bitmap to be deleted, value between 0 and 1023.
14.3 Get
Filesystem Space
Dec
254 175
Hex
FE AF
ASCII
■»
Returns the amount of space remaining in the display for font or bitmap uploads.
Response
Integer Number of bytes remaining in memory.
38
Command Summary
v8.0
14.4 Get Filesystem
Directory
Dec
254 179
v8.1
Hex
FE B3
ASCII
■│
Returns a directory to the contents of the filesystem. The total number and type of each entry will be provided.
Response
Short
Number of entries.
Byte(s) [8] 8 identification bytes for each entry.
Table 33: Filesystem Identification Bytes
Byte
Description
7
Size(MSB)
6
Size
5
Size
4
Size(LSB)
3
Type(4)/ID(4)
2
ID (LSB)
1
Start Page (MSB)
0
Start Page (LSB)
Table 34: Extended Byte Descriptions
Size
Type/ID
Start Page
The complete file size.
First four bits designate file type, 0 for font or 1 for bitmap, remaining 12 bits indicate ID number.
Memory start page, a value of 0 indicates entry is not in use.
14.5 Filesystem
Upload
Dec
254 176 Size Data
v8.0
Hex
FE B0 Size Data
■ ░ Size Data
ASCII
This command will upload a filesystem image to the display. The size used is almost always the entire memory.
Filesystem data can be uploaded LSB to MSB in the same manner as a font or bitmap file.
Size
Double
Size of the filesystem to upload.
Data Byte(s)
Filesystem data to upload.
14.6 Filesystem
Download
Dec
254 48
v8.0
Hex
FE 30
ASCII
■0
Downloads complete filesystem containing all fonts and bitmaps stored in the display. A veritable heap of data.
Response
Double Size of the filesystem to download.
Byte(s) Filesystem data to download.
14.7 File
Download
Dec
254 178 Type ID
v8.1
Hex
FE B2 Type ID
■ ▓ Type ID
ASCII
Downloads a single font or bitmap file from the display to the host using the File Upload Protocol.
Type
Byte
Variable length, see File Types .
ID
Short
Unique identification number of font or bitmap to download, value between 0 and 1023.
Response
Integer File size.
Byte(s) File data.
Command Summary
39
14.8 File
Move
Dec
254 180 Old Type Old ID New Type New ID
v8.1
Hex
FE B4 Old Type Old ID New Type New ID
■ ┤ Old Type Old ID New Type New ID
ASCII
Used to move a single file and/or alter the type of an existing file. Old ID location must be valid and new ID empty.
Old Type
Byte
Original file type, value between 0 and 1023, see File Types .
Old ID
Short
Original unique file identification number, value between 0 and 1023.
New Type Byte
New file type, see File Types .
New ID
Short
New unique file identification number.
Table 35: File Types
Font
0
Bitmap
1
Script
2
9-Slice
3
Animation
4
14.9 XModem
Dec
254 219 133 6 48 Size Data
v8.1
Filesystem
Hex
FE DB 85 6 30 Size Data
Upload
ASCII
■ █ à ACK 0 Size Data
Upload a filesystem image to the display using the XModem protocol. The size used is almost always the entire
memory. Filesystem data is uploaded LSB to MSB using the protocol below.
Size
Double Size of the filesystem to upload.
Data
Byte(s) Filesystem data to upload, must be padded to an even multiple of 256 bytes.
14.10 XModem
Dec
254 222 133 6 48
v8.3
Filesystem
Hex
FE DE 85 6 30
Download
ASCII
■ ▐ à ACK 0
Downloads the complete filesystem via XModem protocol. A veritable heap of data, transmitted at a decent pace.
Response
Double Size of the filesystem to download.
Byte(s) Filesystem data to download, an even multiple of 256 bytes.
14.11 XModem
File Upload
Dec
254 220 133 6 48 File ID Type Size Data
v8.3
Hex
FE DC 85 6 30 File ID Type Size Data
ASCII
■ ▄ à ACK 0 File ID Type Size Data
This command will upload a single file to the display. Unlike the standard protocol, there is one XModem upload
command for all file types, see File Types for a complete list.
File ID
Word
Unique identification number for the file to upload.
Type
Byte
Type of file to upload, see File Types .
Size
Double Size of the file to upload.
Data
Byte(s) File data to upload, must be padded to an even multiple of 128 bytes.
40
Command Summary
14.12 XModem
File Download
Dec
254 221 133 6 48 File ID Type
v8.3
Hex
FE DD 85 6 30 File ID Type
ASCII
■ ▌ à ACK 0 File ID Type
Downloads a single file from the display to the host using XModem protocol.
File ID
Word
Unique identification number for the file to download.
Type
Byte
Type of file to download, see File Types .
Response
Double Size of the filesystem to download.
Byte(s) Filesystem data to download, an even multiple of 128 bytes, may be padded with 255s.
File Upload Protocol
Once a bitmap or font file has been created and paired to its command it must be sent using a file
protocol developed specifically for Matrix Orbital displays. Once a file upload command has been sent
requesting a unique reference number and specifying the file size required, the display will respond
indicating whether it has enough room to save the file or not. As is the case throughout the upload
protocol, a response of 1 will indicate confirmation while an 8 corresponds to rejection and will
terminate the session.
Table 36: Upload Protocol Responses
Value
1
8
Action
Acknowledged
Not Acknowledged
Description
Transfer successful, upload continues
Transfer failed, abort upload
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.
Command Summary
41
Table 37: Font Upload Protocol
Host
254
36
1
0
31
0
0
0
Display
1
5
5
1
7
...
96
...
96
1
Comments
Command Prefix
Upload Font File Command
Reference ID LSB
Reference ID MSB
Font File Size LSB
Font File Size
Font File Size
Font File MSB
Acknowledge Size
First Font Data Byte
Echo Data Byte
Acknowledge Data Byte
Second Font Data Byte
...
Last Font Data Byte
Echo Data Byte
Acknowledge Data Byte
Table 38: Bitmap Upload Protocol
Host
254
94
1
0
5
0
0
0
Display
1
5
5
1
4
...
224
...
224
1
Comments
Command Prefix
Upload Bitmap File Command
Reference ID LSB
Reference ID MSB
Bitmap File Size LSB
Bitmap File Size
Bitmap File Size
Bitmap File MSB
Acknowledge Size
First Bitmap Data Byte
Echo Data Byte
Acknowledge Data Byte
Second Bitmap Data Byte
...
Last Bitmap Data Byte
Echo Data Byte
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 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 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
send a 128 byte block of data followed by that blocks high and low CRC16 bytes.
42
Command Summary
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. Files
may be padded with 255 values to reach an even multiple of 128 bytes in size, but the download
command will always report true size. 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.
Table 39: XModem File Upload Protocol
Host
254
220
133
6
48
1
0
1
0
0
1
0
Display
67
1
128
127
30
71
…
4
6
…
6
Table 40: XModem File Download Protocol
Comments
Command Prefix
XModem Upload Command
Command Byte One
Command Byte Two
Command Byte Three
File ID LSB
File ID MSB
File Type
Size LSB
Size
Size
Size MSB
C (If file fits)
Start of Header
Block Count
Inverted Block Count (255-Count)
128 Byte Data Block
*CRC MSB
*CRC LSB
ACK (NAK if counts don’t match)
…
End of Transmission
ACK (NAK if EOT is not expected)
Host
254
221
133
6
48
1
0
1
Display
0
0
1
0
67
1
128
127
30
71
6
…
…
4
6
Comments
Command Prefix
XModem Download Command
Command Byte One
Command Byte Two
Command Byte Three
File ID LSB
File ID MSB
File Type
Size LSB (NAK if not found)
Size
Size
Size MSB
C
Start of Header
Block Count
Inverted Block Count (255-Count)
128 Byte Data Block
*CRC MSB
*CRC LSB
ACK (NAK if counts don’t match)
…
End of Transmission
ACK (NAK if EOT is not expected)
Table 41: XModem Message Bytes
Value
1
4
6
21
67
Action
Start of Header
End of Transmission
Acknowledged
Not Acknowledged
C
Description
Begin upload transfer
End completed upload transfer
Transfer successful, upload continues
Transfer failed, upload aborted
Confirmation that file will fit
*Note: CRC bytes are calculated using the XMODEM CRC-CCITT algorithm available at:
http://www.matrixorbital.ca/appnotes/XModem/ymodem.txt.
Command Summary
43
6.15 Data Security
15.1 Set
Remember
Dec
254 147 Switch
v8.0
Hex
FE 93 Switch
ASCII
■ ô Switch
Allows changes to specific settings to be saved to the display memory. Writing to non-volatile memory can be slow
and each change consumes 1 write of at least 100,000 available. The Command Summary outlines which
commands are saved always, never, and when this command is on only. Remember is off by default.
Switch Byte 1 for on or 0 for off.
15.2 Set Data
Lock
Dec
254 202 245 160 Level
v8.0
Hex
FE CA F5 A0 Level
ASCII
■ ╩ ⌡ á Level
Temporarily locks certain aspects of the display to ensure no inadvertent changes are made. The lock is released
after a power cycle. A new level overrides the old, and levels can be combined. Default is 0.
Level Byte Lock level, see Data Lock Bits table.
Table 42: Data Lock Bits
Display
7
Command
6
Filesystem
5
Setting
4
Address
3
Reserved
2
Reserved
1
Reserved
0
Table 43: Lock Parameters
Reserved
Address
Setting
Filesystem
Command
Display
Place holders only, should be 0
Locks the Baud Rate and I2C address
Locks all settings from being saved
Locks all bitmaps and fonts
Locks all commands, text can still be written
Locks entire display, no new text can be displayed
15.3 Set and Save
Data Lock
Dec
254 203 245 160 Level
v8.0
Hex
FE CB F5 A0 Level
ASCII
■ ╦ ⌡ á Level
Locks certain aspects of the display to ensure no inadvertent changes are made. The lock is not affected by a
power cycle. A new level overrides the old, and levels can be combined. Default is 0.
Level Byte
See Data Lock Bits table.
6.16 Miscellaneous
16.1 Write
Customer Data
Dec
254 52 Data
v8.0
Hex
FE 34 Data
ASCII
■ 4 Data
Saves a user defined block of data to non-volatile memory. Useful for storing display information for later use.
Data Byte [16] User defined data.
44
Command Summary
16.2 Read
Customer Data
Dec
254 53
v8.0
Hex
FE 35
ASCII
■5
Reads data previously written to non-volatile memory. Data is only changed when written, surviving power cycles.
Response
Byte [16]
Previously saved user defined data.
16.3 Read Version
Number
Dec
254 54
Hex
FE 36
ASCII
■6
Causes display to respond with its firmware version number. Test.
Response
Byte
Convert to hexadecimal to view major and minor revision numbers.
v8.0
16.4 Read
Module Type
v8.0
Dec
254 55
Hex
FE 37
ASCII
■7
Causes display to respond with its module number.
Response Byte Module number, see Sample Module Type Responses for a partial list.
Table 44: Sample Module Type Responses
41
35
GLT12232-SM
GLT12232-SM -USB
36
32
GLK12232-25-SM
GLK12232-25-SM -USB
16.5 Read
Screen
Dec
254 184
Hex
FE B8
■╕
ASCII
Return the current commanded state of each pixel on the screen.
Response Byte(s) Boolean values of each pixel on the screen, starting top left moving right then down.
v8.3
16.6 Write to
Scratchpad
Dec
254 204 Address Length Data
Hex
FE CC Address Length Data
■ ╠ Address Length Data
ASCII
Write information to volatile memory for later use.
Address Word
Address where data is to be saved in volatile memory.
Length
Word
Length of data to be saved, in bytes.
Data
Byte(s) Data to be saved in volatile memory.
v8.3
16.7 Read from
Scratchpad
v8.3
Dec
254 205 Address Length
Hex
FE CD Address Length
■ ═ Address Length
ASCII
Read information previously saved in volatile memory.
Address
Word
Address where data is saved in volatile memory.
Length
Word
Length of data to be read, in bytes.
Response
Byte(s) Data saved at the specified location in volatile memory.
Command Summary
45
7 Appendix
7.1 Command Summary
Available commands below include identifying number, required parameters, the returned response and
an indication of whether settings are remembered always, never, or with remember set to on.
Table 45: Communication Command Summary
Name
Change Baud Rate
Change I2C Slave Address
Transmission Protocol Select
Set a Non-Standard Baud Rate
Set Flow Control Mode
Set Hardware Flow Control Trigger Level
Turn Software Flow Control On
Turn Software Flow Control Off
Set Software Flow Control Response
Echo
Delay
Software Reset
Dec
57
51
160
164
63
62
58
59
60
255
251
253
Hex
39
33
A0
A4
3F
3E
3A
3B
3C
FF
FB
FD
ASCII
9
3
á
ñ
?
>
:
;
<
√
²
Parameters
Byte
Byte
Byte
Integer
Byte
Byte
Byte[2]
None
Byte[2]
Short, Byte[]
Short
Byte[4]
Response
None
None
None
None
None
None
None
None
None
Byte[]
None
Byte[2]
Remembered
Always
Always
Remember On
Always
Remember On
Remember On
Remember On
Remember On
Remember On
Never
Never
Never
Table 46: Text Command Summary
Name
Clear Screen
Go Home
Set Cursor Position
Set Cursor Coordinate
Initialize Text Window
Set Text Window
Clear Text Window
Initialize Label
Initialize Scrolling Label
Update Label
Auto Scroll On
Auto Scroll Off
46
Dec
88
72
71
121
43
42
44
45
47
46
81
82
Hex
58
48
47
79
2B
2A
2C
2D
2F
2E
51
52
ASCII
X
H
G
y
+
*
,
/
.
Q
R
Parameters
None
None
Byte[2]
Byte[2]
Byte[5], Short, Byte[3]
Byte
Byte
Byte[7], Short, Byte{2}
Byte[7], Short, Byte[2], Short, Byte
Byte, String
None
None
Command Summary
Response
None
None
None
None
None
None
None
None
None
None
None
None
Remembered
Never
Never
Never
Never
Remember On
Never
Never
Remember On
Remember On
Never
Remember On
Remember On
Table 47: Drawing Command Summary
Name
Set Drawing Colour
Draw Pixel
Draw a Line
Continue a Line
Draw a Rectangle
Draw a Filled Rectangle
Draw a Rounded Rectangle
Draw a Filled Rounded Rectangle
Draw a Circle
Draw a Filled Circle
Draw an Ellipse
Draw a Filled Ellipse
Scroll Screen
Initialize a Bar Graph
Initialize 9-Slice Bar Graph
Draw a Bar Graph
Dec
99
112
108
101
114
120
128
129
123
124
125
127
89
103
115
105
Hex
63
70
6C
65
72
78
80
81
7B
7C
7D
7F
59
67
73
69
ASCII
c
p
l
e
r
x
Ç
ü
{
|
}
Initialize a Strip Chart
106
6A
n
Update a Strip Chart
107
6B
o
DEL
Y
g
s
i
Parameters
Byte
Byte[2]
Byte[4]
Byte[2]
Byte[5]
Byte[5]
Byte[5]
Byte[5]
Byte[3]
Byte[3]
Byte[4]
Byte[4]
Byte[4], Word[2]
Byte[6]
Byte[6], Word[2]
Byte[2]
Byte[5], Word[2],
Byte[2], Word
Byte, Word
Response
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
Remembered
Remember On
Never
Never
Never
Never
Never
Never
Never
Never
Never
Never
Never
Never
Remember On
Remember On
Never
None
Remember On
None
Never
Table 48: Font Command Summary
Name
Upload a Font File
Set the Current Font
Set Font Metrics
Set Box Space Mode
Dec
36
49
50
172
Hex
24
31
32
AC
ASCII
$
1
2
¼
Parameters
Short, Integer, Byte[]
Short
Byte[5]
Byte
Response
See Font File Creation
None
None
None
Remembered
Always
Never
Remember On
Remember On
Table 49: Bitmap Command Summary
Name
Dec
Hex
ASCII
Upload a Bitmap File
94
5E
^
Upload a Bitmap Mask
92 5
Draw a Bitmap from Memory
Draw a Partial Bitmap
Draw a Bitmap Directly
98
192
100
5C
05
62
C0
64
\ ENQ
b
└
d
Parameters
Short, Integer,
Byte[]
Short, Integer,
Byte[]
Short, Byte[2]
Short, Byte[4]
Byte[2], Byte[]
Command Summary
Response
See Bitmap File
Creation
See Bitmap File
Creation
None
None
None
Remembered
Always
Always
Never
Never
Never
47
Table 50: 9-Slice Command Summary
Name
Dec
Hex
ASCII
Parameters
Upload a 9-Slice File
92 3
5C 03
\ ETX
Word, Double, Byte[]
Response
See
Remembered
Always
9-Slice File Creation
See
Upload a 9-Slice Mask
92 6
Display a 9-Slice
5C 06
91
\ ACK
5B
Word, Double, Byte[]
Always
9-Slice File Creation
None
Word, Byte[4]
[
Never
Table 51: Animation Command Summary
Name
Dec
Hex
ASCII
Parameters
Upload an Animation File
92 4
5C 04
\ EOT
Word, Double, Byte[]
Display Animation
Delete Animation
Start/Stop Animation
Set Animation Frame
Get Animation Frame
193
199
194
197
196
C1
C7
C2
C5
C4
┴
╟
┬
┼
─
Byte[3]
Byte
Byte[2]
Byte[2]
Byte
Response
See
Animation File
Creation
None
None
None
None
Byte
Remembered
Table 52: General Purpose Output Command Summary
Name
General Purpose Output On
General Purpose Output Off
Set Start Up GPO State
Dec
86
87
195
Hex
56
57
C3
ASCII
V
W
├
Parameters
Byte
Byte
Byte[2]
Response
None
None
None
Remembered
Never
Never
Always
Table 53: Piezo Buzzer Command Summary
Name
Activate Piezo Buzzer
Set Default Buzzer Beep
*Set Touch Buzzer Beep
*Set Touch Buzzer Beep
48
Dec
187
188
182
182
Hex
BB
BC
B6
B6
ASCII
╗
╝
╢
╢
Parameters
Word[2]
Word[2]
Word[2]
Word[2]
Command Summary
Response
None
None
None
None
Remembered
Never
Remember On
Remember On
Remember On
Always
Never
Always
Never
Never
Never
Table 54: Keypad Command Summary
Name
Auto Transmit Key Presses On
Auto Transmit Key Presses Off
Poll Key Press
Clear Key Buffer
Set Debounce Time
Auto Repeat Mode Off
Assign Keypad Codes
Set Typematic Delay
Set Typematic Interval
Dec
65
79
38
69
85
96
213
159
158
Hex
41
4F
26
45
55
60
D5
9F
9E
ASCII
A
`
&
E
U
`
╒
ƒ
₧
Parameters
None
None
None
None
Byte
None
Byte[25], Byte[25]
Byte
Byte
Response
None
None
Byte
None
None
None
None
None
None
Remembered
Remember On
Remember On
Never
Never
Remember On
Remember On
Always
Remember On
Remember On
Table 55: Touchpad Command Summary
Name
Set Touch Mode
Set Region Reporting Mode
Set Touch Region
Delete a Touch Region
Delete All Touch Regions
Create a Slider
Delete a Slider
Delete All Sliders
Set Dragging Threshold
Set Pressure Threshold
Run Touchpad Calibration
Dec
135
136
132
133
134
186
189
190
137
138
139
Hex
87
88
84
85
86
BA
BD
BE
89
8A
8B
ASCII
ç
ê
ä
à
║
╝
╜
╛
ë
è
ï
Parameters
Byte
Byte
Byte[7]
Byte
None
Byte[7], Word[2]
Byte
None
Byte
Word
None
Response
None
None
None
None
None
None
None
None
None
None
Byte[2]
Remembered
Remember On
Remember On
Remember On
Remember On
Remember On
Remember On
Always
Always
Remember On
Remember On
Always
Table 56: Display Functions Command Summary
Name
Backlight On
Backlight Off
Set Brightness
Set and Save Brightness
Set Backlight Colour
Set Contrast
Set and Save Contrast
Dec
66
70
153
152
130
80
145
Hex
42
46
99
98
82
50
91
ASCII
B
F
Ö
ÿ
é
P
æ
Parameters
Byte
None
Byte
Byte
Byte[3]
Byte
Byte
Response
None
None
None
None
None
None
None
Remembered
Remember On
Remember On
Remember On
Always
Remember On
Remember On
Always
Table 57: Scripting Functions Command Summary
Name
Upload a Script File
*Set Scripted Button
*Set Scripted Key
Run Script File
Dec
92 2
70
142
153
Hex
5C 02
46
8E
99
ASCII
\ STX
Ä
Ä
]
Parameters
Word, Double, Byte[]
Byte[3], Word[2], Byte, Word[2]
Byte[3], Word[2]
Word
Command Summary
Response
None
None
None
None
Remembered
Always
Remember On
Remember On
Never
49
Table 58: Filesystem Command Summary
Name
Delete Filesystem
Delete a File
Get Filesystem
Space
Get Filesystem
Directory
Filesystem Upload
Filesystem
Download
Dec
33, 89, 33
173
Hex
21, 59, 21
AD
ASCII
!, Y, !
¡
Parameters
None
Byte, Word
Response
None
None
Remembered
Always
Always
175
AF
»
None
Double
Never
179
B3
│
None
Byte[][8]
Never
176
B0
░
Double, Byte[]
Always
48
30
0
None
File Download
178
B2
▓
Byte, Word
None
Double,
Byte[]
Double,
Byte[]
File Move
180
B4
┤
None
Always
219, 133, 6, 48
DB, 85, 6, 30
█, à, ACK, 0
None
Always
222, 133, 6, 48
DE, 85, 6, 30
▐, à, ACK, 0
None
Double,
Byte[]
Never
220, 133, 6, 48
DC, 85, 6, 30
▄, à, ACK, 0
Word, Byte,
Double, Byte[]
None
Always
221, 133, 6, 48
DD, 85, 6, 30
▌, à, ACK, 0
Word, Byte
Double,
Byte[]
Never
XModem Filesystem
Upload
XModem Filesystem
Download
XModem File
Upload
XModem File
Download
Byte, Double,
Byte, Double
Word, Byte,
Double, Byte[]
Never
Never
Table 59: Data Security Command Summary
Name
Set Remember
Set Data Lock
Set and Save Data Lock
Dec
147
202, 245, 160
203, 245, 160
Hex
93
CA, F5, A0
CB, F5, A0
ASCII
ô
╩, ⌡, á
╦, ⌡, á
Parameters
Byte
Byte
Byte
Response
None
None
None
Remembered
Always
Remember On
Always
Table 60: Miscellaneous Command Summary
Name
Write Customer Data
Read Customer Data
Read Version Number
Read Module Type
Read Screen
Write to Scratchpad
Read from Scratchpad
50
Dec
52
53
54
55
184
204
205
Hex
34
35
36
37
B8
CC
CD
ASCII
4
5
6
7
╕
╠
═
Parameters
Byte[16]
None
None
None
None
Byte, Word, Byte[]
Byte, Word
Command Summary
Response
None
Byte[16]
Byte
Byte
Byte[]
None
Byte[]
Remembered
Always
Never
Never
Never
Never
Never
Never
7.1 Block Diagram
Figure 17: Functional Diagram
7.2 Data Types
The following table outlines native data types in common programming languages that can be used to
represent the data types used in this manual.
Table 61: Data Types with Representations
Byte
Signed Byte
Short
Signed Short
Integer
Signed Integer
String
ANSI C/C++
unsigned char
signed char
unsigned short
short
unsigned int
int
string
C#
byte
sbyte
ushort
short
uint
int
string
Visual Basic
Byte
SByte
UShort
Short
UInteger
Integer
String
Table 62: Data Type Descriptions
Byte
Signed Byte
Short*
Signed Short*
Integer *
Signed Integer*
String
Unsigned 8 bit data type that can represent a value from 0 to 255.
Signed 8 bit data type that can represent a value from -128 to 127.
Unsigned 16 bit data type can represent values from 0 to 65,536.
Signed 16 bit data type that can represent values from -32,768 to 32,767.
Unsigned 32 bit data type that can represent values from 0 to 4,294,967,295.
Signed 32 bit data type that can represent values of -2,147,483,648 to 2,147,483.
Strings are a multiple character bytes terminated by a single null byte. The ASCII character set is
used by default, but Unicode or UTF-8 strings may be used where specifically outlined.
*Note: Transmission of multiple byte values follows little endian order.
Command Summary
51
7.3 Environmental Specifications
Table 63: Environmental Limits
Operating Temperature
Storage Temperature
Operating Relative Humidity
Standard
*Extended (-E)
0°C to +50°C
-20°C to +70°C
-10°C to +60°C -30°C to +80°C
Maximum 90% non-condensing
*Note: The Extended Temperature option is not available for any variant of the GLT12232A-SM.
7.4 Electrical Tolerances
Current Consumption
Table 64: Current Consumption
Board
65 mA
+
Backlight
30mA - 46mA
+
GPOs
3mA each maximum
+
Table 65: Backlight Current Draw
GW & WB
30mA
TCI
46mA
Input Voltage Specifications
Table 66: Voltage Specifications
-LV
3.3V
-VS
4.75-15V
7.1 Optical Characteristics
Table 67: Display Optics
Module Size
Viewing Area
Active Area
Pixel Size
Pixel Pitch
Viewing Direction
Viewing Angle
Contrast Ratio
Backlight Half-Life
52
86.10 x 35.10 x 21.92
60.2 x 18.0
53.64 x 15.64
0.40 x 0.45
0.44 x 0.49
6
-30 to +30
3
20,000
Command Summary
mm
mm
mm
mm
mm
O’clock
°
Hours
Piezo
92mA
7.2 Dimensional Drawings
Figure 18: Standard Model Dimensional Drawing
Command Summary
53
Figure 19: USB Model Dimensional Drawing
54
Command Summary
8 Ordering
8.1 Part Numbering Scheme
Table 68: Part Numbering Scheme
GLT
1
-12232
2
A
3
4
-SM
5
-USB
6
-TCI
7
-VS
8
9
8.2 Options
Table 69: Display Options
#
Designator
1
Product Type
2
3
Display Size
Display Style
4
Keypad Size
5
Form Factor
6
Protocol
7
Colour
8
Voltage
9
Temperature
Options
GLK: Graphic Liquid Crystal Display with Keypad Input
GLT: Graphic Liquid Crystal Display with Touchpad Input
-12232: 122 pixel columns by 32 rows
A: A Display Style
*NP: No keypad
-25: 25 key maximum
-SM: Small Form Factor
*NP: Standard Model
-USB: USB Only Model
-GW: Grey Text with White Background
-WB: White Text with Blue Background
-TCI: Tricolour Text with Black Background
-LV: Low Voltage Power Supply
-VS: Super Wide Voltage Power Supply
*NP: Standard
**-E: Extended Temperature
*Note: NP means No Populate; skip this designator in the part number and move to the next option.
**Note: Extended Temperature is available for keypad input units only; -E is not available for GLT models.
Command Summary
55
8.3 Accessories
Power
Table 70: Power Accessories
PCS
Standard Power Cable
Communication
Table 71: Communication Accessories
EXT4PUSB3FT
External 4pin USB Cable
ESCCPC5V
Extended Serial Communication/5V
Power Cable
BBC
Breadboard Cable
Peripherals
Table 72: Peripheral Accessories
KPP4x4
56
16 Button Keypad
Command Summary
9 Definitions
ASCII: American standard code for information interchange used to give standardized numeric codes
to alphanumeric characters.
BPS:
Bits per second, a measure of transmission speed.
FFSTN: Double film super-twisted nematic in reference to an LCD. The addition of two layers of film
between the STN display and polarizer improves contrast.
GPO:
General purpose output, used to control peripheral devices from a display.
GUI:
Graphical user interface.
Hexadecimal:
A base 16 number system utilizing symbols 0 through F to represent the values 0-15.
I2C:
Inter-integrated circuit protocol uses clock and data lines to communicate short distances at
slow speeds from a master to up to 128 addressable slave devices. A display is a slave device.
LSB:
Least significant bit or byte in a transmission, the rightmost when read.
MSB:
Most significant bit or byte in a transmission, the leftmost when read.
RS232: Recommended standard 232, a common serial protocol. A low level is -30V, a high is +30V.
SDA: Serial data line used to transfer data in I2C protocol. This open drain line should be pulled high
through a resistor. Nominal values are between 1K and 10K Ω.
SCL:
Serial clock line used to designate data bits in I2C protocol. This open drain line should be pulled
high through a resistor. Nominal values are between 1K and 10K Ω.
STN: Super-twisted nematic in reference to an LCD. In a relaxed or nematic state, crystals orientate
themselves in the same direction and allow light to pass. In an excited state these crystals align to block
light. Super-twisted crystals move from 180 to 270 degrees providing greater contrast than TN models.
TTL:
Transistor-transistor logic applied to serial protocol. Low level is 0V while high logic is 5V.
10 Contact
Sales
Support
Online
Phone: 403.229.2737
Phone: 403.204.3750
Purchasing: www.matrixorbital.com
Email: sales@matrixorbital.ca Email: support@matrixorbital.ca Support: www.matrixorbital.ca
Command Summary
57