Congratulations on your Amulet purchase! Please take a few minutes to read this file which contains the latest information about setting up and using your Amulet product. This documentation is valid for GEMstudio software version 1.3.0.
The Amulet method of displaying graphics on an LCD is totally different from traditional methods. The Amulet GEM Graphical OS Chip handles all the LCD and touchpanel functions so your micro doesn't have to. Hardware wise, the only requirement is that your micro needs a UART or USB in order to use the Amulet system. On the software side, you need to create an Amulet serial protocol handler. Generally, the only thing that is being sent via the serial link is data.
Here's the Amulet system in a nutshell. 1. GUI authoring tool called GEMstudio is used to create a Graphical User Interface(GUI). 2. GEMstudio is used to compile your GUI to a small binary file which is then downloaded into the Amulet module. 3. The Amulet module displays the GUI and handles all touchpanel interaction.4. The Amulet module receives input data from your host microprocessor via the serial link and also sends command messages to your micro based upon timer-based or touchpanel events.
There are two types of variables in the Amulet system. External variables (byte, word and string) which reside on your micro's side and InternalRAM variables (byte, word, color and string) which reside on the Amulet module. InternalRAM is quasi-dual port RAM that can be read from and written to by the Amulet chip through commands inserted in the GEMstudio code. Your micro interfaces to InternalRAM through the serial link. There are specific UART and USB commands that can read from and write to InternalRAM.
There are four major types of serial messages that will be sent between the Amulet module and your micro.1. A request of a variable (byte, word, color or string)2. A setting of a variable (byte, word, color or string)3. A Remote Procedure Call, which is a completely generic message which allows the Amulet module to inform your micro of a certain event. You can have up to 256 unique RPC's. What those RPC's signify is entirely up to you.4. A raw byte, or group of bytes, can be sent from the Amulet module to your micro. This option is not part of the Amulet serial protocol, but rather it gives you the flexibility to have the Amulet module send you small commands that do not need to be answered. Please see the Amulet UART CRC Protocol document for more details.
Your LCD's user interface is created using GEMstudio. Amulet has created a number of I/O objects, referred to as Amulet Widgets. There are two types of Amulet Widgets, Control Widgets and View Widgets. Control Widgets are input objects, like function buttons, sliders, radio buttons, etc... Control Widgets have a function, or a set of functions, that can be applied to them. For instance, a function button can be set to send a Remote Procedure Call #5 out the UART or USB every time it is pressed. View Widgets are output objects, like bargraphs, numeric fields, string fields, etc... View Widgets call a function which returns the data used as the input for that particular widget. For instance, a bargraph can have a function which requests external byte variable #3 every 100ms over the UART or USB.
The complexity of the serial protocol handler depends upon the type of communication you will be using in your system. You can set up your project so that the Amulet module is the master, requesting data at given update rates and sending command messages asynchronously. Or your micro can be the master, sending data to the Amulet module unsolicited. And you can also use a dual master setup, where the Amulet module is sending asynchronous command messages to your micro, yet your micro is also sending unsolicited data to the Amulet.