I couldn't find an example project using the Kinetis K30/40 segment controller that did any true generalized display support, so I wrote this one. In my case, I am using the controller on a K40 eval tower with a prototype board having an 8-character alphanumeric display using 14segments each (plus apos & DP) on 4 backplanes (128 segments), for a total of 36 LCD pins. I had a little trouble working the K40 eval board to get that many available LCD I/O, but with a few mods made it work! These routines will take an ASCII string or character and do all the translation into a segment pattern, then into particular segments at a character position, including support for primary/secondary 'blinking' messages. The segment translation is set up to be completely flexible to allow for ANY 'random' least-cost segment assignment, at the expense of handling every segment individually. Some applications may want to further optimize where a pattern actually exists.
There is also a 'direct icon access' routine where an intelligent-enum type would list the 'special' icons by controller segment/backplane to get passed to this function.
The picture is my prototype after this call: SLCD_Str( "KINETIS", 0, 3);
Earl Goodrich II
Original Attachment has been moved to: 155-SLCD.c
Original Attachment has been moved to: 156-SLCD.h