GLO-416Y Version 2 Upgrade Guide
GLO-416Y has undergone a major update in summer of 2014. This document lists differences between the version 1 (v1) product, sold from 2011—2014, and the v2 model. New users who don't require comparison info please see the hardware reference and programmer's reference.
Summary of Changes
The v2 GLO-416Y is a drop-in upgrade. The dimensions and appearance of the GLO-416Y and the location of input header/config jumpers are unchanged. The redesign adds most-requested features and improves overall performance.
- Same OLED display, configured for adjustable brightness.
- Location of input (+5V, GND, SERial) header unchanged.
- New processor with increased memory for dramatically improved speed, new capabilities.
- Location of Dsu, Spol jumpers unchanged.
The GLO firmware was rewritten to take advantage of resources available in the upgraded microcontroller. We took care to ensure that all v1 instructions work exactly as before (only faster). If you discover a discrepancy, email email@example.com with a description and we'll track it down.
We added the following new capabilities to the instruction set:
- Screen Flip. For mounting convenience, or for applications in which a device may be operated upside-down, the v2 GLO now offers a flip-screen instruction,
ESC !FlipScrn. The instruction can either be sent on the fly to immediately flip the screen image, or it can be embedded in the startup screen as a configuration option. To undo the flip, there is
- Software Reset. Informal styles of development can result in 'junk data' being sent to the display. Some of this junk may correspond to valid GLO instructions, changing display settings at random. Users requested a way to return the GLO to its startup state without cycling power.
ESC !ResetNowdoes this.
- Temporary Write Protect. Cutting the
Dsujumper write-protects the GLO's flash memory against accidental changes to the startup screen or stored custom character set. The v2 instruction set now includes a temporary write-protect:
ESC !FlshLock. The lock remains in effect until power is cycled.
- Carriage Return Minus Linefeed. The GLO interprets a carriage return (CR) as including a linefeed (LF), and moves the printing position to the first character of the next line. In some cases, it's desirable to separate the CR and LF functions so that a CR moves to the first character of the current (not next) line. That's the function of the v2 instruction
ESC !InlineCR, which can be embedded in a startup screen as a config option.
- Increase Baud Rate. GLO defaults to 9600bps, allowing a character to be sent/received in approximately 1ms. The v2 GLO can process even the largest font-size characters much faster than this (see below), so the v2 GLO supports faster data rates via ESC instructions. These instructions can be embedded into a startup screen to become permanent-until-erased/replaced config options. The instructions:
ESC !9600_bps(default 9600 baud)
ESC !19.2kbps(19,200 baud)
ESC !38.4kbps(38,400 baud)
- Brightness Control. GLO v1 offered two brightness levels, full/on (ctrl-N) and dim/off (ctrl-O). In addition to this on/off scheme, v2 offers variable brightness control in 3 steps via ESC instructions:
ESC '4'(100%). (Duplicated codes allow for more levels in future revs.)
- More Startup Screen Storage. GLO v1 had 48 bytes of EEPROM for storing a startup screen and config options; v2 has 120 bytes (of flash). This is enough space for a full screen (64 characters) of text with plenty left over for embedded instructions, like the new ESC instructions described above.
The GLO-416Y v2 is considerably faster, thanks to several design changes: (1) reducing the read/write traffic with the OLED by saving up incremental changes until the serial-input buffer is empty, (2) using an 8-bit (vs 4-bit) bus to communicate with the OLED, (3) increasing buffer size from 64 to 128 bytes, and (4) increasing the efficiency of font-bitmap display code. The result is that no useful combination of inputs can overflow the input buffer.
|Instruction||GLO v1||GLO v2|
|Print Character (4x16 font)||244||40|
|Print Character (2x16 font)||440||77|
|Print Character (4x8 font)||280||41|
|Print Character (2x8 font)||684||77|
|Print Character (1x8 font)||1320||125|
|Print Character (1x4 font)||2360||125|
|Refresh Screen (Normal)||NA||2200|
|Refresh Screen (Flipped)||NA||4300|