4D Systems GOLDELOX uLCD display support code

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
Request group membership
By: Mark Owen, created: 2015-02-14 | updated: 2015-10-12

This collection of source code provides a minimal set of text and graphic rendering operations on a 4D Systems GOLDELOX  uLCD display (eg: uLCD-144-G2, uOLED-128-G2 etc.)

Updated 2015-Oct-11 to incorporate minor changes as follows:

  •   Device offline detection        
  •   More LED Bulb/Bar options    
  •   Support for switched ground power to display 
  •   Single button simple text menus 

Files included in the attached zip file:

File Name Description/Purpose
GOLDEtest.spin tests of GOLDE_UI.spin and associated code
GOLDE_UI.spin minimal set of text and graphic operations sent via serial communications to a 4D Systems uLCD display with a GOLDELOX processor
uLCDserialIO.spin FullDuplexSerial wrappers/glue routines for serial transmissions to uLCDserialGOLDE.4dg
FullDuplexSerial-wCTS.spin a slightly modified version of FullDuplexSerial incorporating a CTS pin  for flow control and 128 byte buffers
uLCDserialGOLDE.4dg 4DGL Source code for compilation/download via 4D Systems Workshop to implement the text and graphic operations on a GOLDELOX display
AButton.spin A single button polling function used by GOLDEtest

Also required for operation:

        a 4D Systems GOLDELOX based display  (Parallax and Mouser sell them)
 
Operations implemented:
  • PUB Start(rx,tx,cts,reset)
  • PUB Stop
  • PUB PowerUp(gndGatePin,rx,tx,cts,reset)
  • PUB PowerDown(gndGatePin)
  • PUB IsOffline
  • PUB ShowVersion(y,md,hm,c,r)
  • PUB GetGeometry
  • PUB Xmax
  • PUB Ymax
  • PUB GetCharGeometry         
  • PUB Wchar
  • PUB Hchar
  • PUB ScreenMode(m)
  • PUB Clip(b)
  • PUB ClipWindow(a,b,c,d)
  • PUB Home
  • PUB Clear
  • PUB ClearHome
  • PUB FillMode(m)
  • PUB Color(c)
  • PUB ColorBG(c)
  • PUB BorderColor(c)
  • PUB TextColor(c)
  • PUB TextColorBG(c)
  • PUB TextAttributes(flags)
  • PUB TextOpacity(b)
  • PUB LinePattern(p)
  • PUB MoveTo(x,y)
  • PUB LineTo(x,y)
  • PUB Pixel(x,y,c)
  • PUB Rectangle(x,y)
  • PUB RectangleAt(x0,y0,x1,y1)
  • PUB Circle(r)
  • PUB CircleAt(r,x,y)
  • PUB EightLEDS(x,y,bits)
  • PUB OneLED(x,y,rgb)
  • PUB EightLEDSrgb(x,y,bits,rgbOn,rgbOff)
  • PUB LEDbar(x,y,n,bits,rgbOn,rgbOff)
  • PUB MoveToCR(x,y)
  • PUB Newline
  • PUB Textsize(n)
  • PUB SetStrAtIx(asz,ix)
  • PUB StrIx(ix)
  • PUB StrIxAt(ix,x,y)
  • PUB Str(asz)
  • PUB StrAt(asz,x,y)
  • PUB PrintDec(n,d)
  • PUB PrintDecAt(n,d,x,y)
  • PUB PrintInt(n)
  • PUB PrintIntAt(n,x,y)
  • PUB Hexadecimal(v)
  • PUB Hex4(v)
  • PUB Hex2(v)
  • PUB Hex1(v)
  • PUB HexadecimalAt(v,x,y)
  • PUB Hex4At(v,x,y)
  • PUB Hex2At(v,x,y)
  • PUB Hex1At(v,x,y)
  • PUB SetMenuItem(i,sz)
  • PUB SetMenuItems(asz,nsz)
  • PUB SetNMenuItems(n)
  • PUB SetMenuColors(fg,bg)
  • PUB ShowMenuItem(i)
  • PUB ShowMenu
  • PUB HighlightItem(i)
  • PUB UnhighlightItem(i)
  • PUB SetCurrentItem(i)
  • PUB GetCurrentItem
  • PUB HighlightNextItem
  • PUB CycleMenu(BTNpin)
  • PUB dec(value)
  • PUB decf(value, width)
  • PUB decx(value, digits)
  • PRI clrstr(strAddr, size)
  • PRI decstr(value)
  • PUB hex(value, digits)
  • PUB bin(value, digits)
  • PRI hexstr(value, digits)
  • PRI binstr(value, digits)
  • PUB strcat(dst, src)
  • PUB strcpy(dst, src)
  • PUB strncpy(dst, src, num) 
Version 1.0.4
AttachmentSize
Binary Data GOLDEMenuDemo.spin17.25 KB
Package icon GOLDE_104.zip29.46 KB
Original File Upload
AttachmentSize
Package icon GOLDE.zip23.31 KB
Version 1.0.4

Revision History:

  •   Initial release                           2015-Feb-10 (1.0.0)
  •   Device offline support              2015-Apr-10 (1.0.1)
  •   More LED Bulb/Bar options     2015-Aug-05 (1.0.2)
  •   Support for switched ground   2015-Sep-09 (1.0.3)
  •   Text Menu Support                  2015-Oct-11 (1.0.4)
  •   Added Menu Demonstration    2015-Oct-12 (1.0.4)

Comments

Most recent stable revision is GOLDE_104.ZIP.

Original relase file is GOLDE.ZIP retained for reference.

Both files are complete, independent packages.

Since this was first published, the zip files have been missing a copy of AButton.spin (a simple button polling object) which is used by the GOLDEtest.spin demo program.  The GOLDE_104.zip file now contains AButton.spin as it should have. 

Added GOLDEMenuDemo.spin which demonstrates using three menu levels along with the original graphics and text demonstration.  Note that this demonstration does NOT use AButton.spin

I am all that much satisfied with the substance you have said. I needed to thank you for this extraordinary article. shell suit