Gem Solves Industry Problem
As product functionality increases, an easy-to-use operator
interface in the form of a graphic LCD becomes necessary.
At present, off the shelf PC-based solutions with sophisticate
operating systems are the main option. In many applications,
these systems are over specified and over budget. The alternative
would be to develop your own graphic LCD operator panel but
this is costly.
Gem solves these problems by providing:
- A simplified platform with low level I/O
- Visual development tools
- A host-based system
- An easy and well known language to programme in
The result: a fast and cost effective HMI solution.
Advantages
- Displays more information
- Makes your product more intuitive to use
- Reduces the number of physical switches
|
- Unclutters your control panel
- Quick to implement
- Has input/output port pins
- Boots in less than 2 seconds
|
Applications
- Vending machines
- Access control
- Alarm panels
- Portable instruments
|
- Security
- Energy monitors
- Industrial equipment
|
Features
|
|
- 5.7" Touch screen LCD
- 4MB Flash for code and graphics
- 512KB RAM
- RS232 serial port
- Auxiliary port
|
- Development port
- Digital / Analogue I0
- Real time clock
- 32-bit RISC CPU
- Built-in graphic functions
|
Tools
GemIDE, the integrated development environment, is a free
tool comprising a BASIC compiler, linker, visual designer,
and source code debugger. It is designed for rapid HMI development
for Gem HMI's.

GemIDE screen shots
Widgets
What are widgets? Widgets are graphic objects such as buttons
and labels available from GemIDE's toolbox. Written in BASIC,
widgets are easily created or customised as required.
|

|
Button |

|
RoundBtn |

|
Checkbox |
|

|
Label |

|
ParmBox |

|
ScrollBtn |
|

|
Timer |

|
VBar |
|
|
Programming
Gem HMI's run on GemOS and are programmed in high level BASIC
using the keywords below. Extensions are made to the language
by the application programmer's interface (API).
BASIC keywords
And, As, Asc, Atn, Begin, Boolean, ByRef, Byte, ByVal,
Case, Chr, Common, CInt, Const, Cos, CSng, Const, Cos, Declare,
Dim, Do, DoEvents, DownTo, End, Else, ElseIf, End, Enum,
Exit, False, FFT, FileClose, FileGet, FileOpen, FilePut,
For, FreeFile, Format, Function, Get, If, InStr, Int, Integer,
LCase, Left, Loop, Mod, Next, Not, On, Option, Or, Print,
Property, Private, Public, RefOf, Return, Select, Set, Sin,
Single, Spc, Step, String, Sub, Tab, Then, To, True, Type,
UCase, Until, Wend, While, Xor
API's
BackColor, DrawCircle, DrawLineTo, DrawMode, DrawPennant,
DrawPicture, DrawRectangle, DrawRoundRectangle, Font, ForeColor,
Fill, GetX, GetY, MoveTo, PinI2cStart, PinI2cStop, PinI2cRead,
PinI2cWrite, PinInput, PinOutput, PinShiftIn, PinShiftOut,
TimerCreate, TimerDestroy, TimerSetEnable, TimerSetInterval,
TimerSetMsgHdlr, WinCreate, WinDestroy, WinSetContext, WinSetMsgHdlr
Example
Prints "Hello World" on the current window using
the current color and font.
Print(#DISP, "Hello
World";)
See data sheets for full language reference.
Data sheets
- Gem320240CT

- Gem320240CT User Manual available soon
- GemBASIC Language reference

|
|