Thursday, October 25, 2012

Two Displays on One Port

 A customer's question led to an interesting semicustom modification: A simple, non-networking, no-hardware, no-cost method of addressing two displays from a single serial port. The required firmware modification can be applied to any of the following displays: SGX-120L, GLO-216Y/G, GLO-416Y, BPP-440L.

Not sure that users are clamoring for this capability, but this customer seemed pretty pleased. Contact tech at if you have a two-display app and we'll fill you in on the details.

Monday, October 22, 2012

Support Software Updates

Minor updates to our most-used utility programs:
  • Serial Sender now supports comms 1-99 (previous version only addressed 1-8). If you've got a collection of those USB-serial cables, you have probably noticed that the system keeps incrementing comm port numbers with each different cable you connect (reserving previously assigned numbers for devices you may never use again). As a result it's easy to exceed the traditional single-digit range of comm-port numbers. It will probably take awhile before you hit 99, though. 
  • Bitmap and configuration utilities for the SGX-120L serial graphics LCD already had support for higher comm-port numbers, but in the process of adding this capability to Serial Sender, we discovered a bug that could prevent the higher-numbered ports from initializing properly. The new versions now available for download have been fixed.

Tuesday, October 16, 2012

Arduino with ILM-216L

Helped a customer interface an ILM-216L to an Arduino--all it required was a tweak to the previous Hello World example for the BPI-216.

Both of these older displays expect inverted serial input, the logic-level equivalent of old-school RS-232. The Arduino's UART, the logical place to connect a serial device, outputs non-inverted serial, so the initial hookup produced gibberish.

The answer is simple: Use the SoftwareSerial library to drive the display via a general-purpose I/O pin, and set the instruction for inverted output via an optional parameter. It's all demonstrated in the previous app note here.

I suggested a change to the clearScreen constant in the example code to match the ILM's instruction set:

const char clearScreen[ ] = {12,0};

It apparently did the trick, because a few minutes this pic arrived by email:

Happy to help!