Amulet Support Site
According to the help, Internal RAM can be 256 byte variables, 256 words variables, 256 color variables and 256 25-character null terminated string variables. Are they mutually exclusive?
Can we assign internal page numbers? If not, what is the best way to know which page has which page number when we design our GUI?
How do I group OS and apps together as one file for production to program the board?
GEMstudio asks me to re-enter my registration information every time I run it, how do I get it to remember my registration?
How do I create and display my own GUI on the Amulet Module?
How do I display a negative number in a numeric field widget?
How do I restore Amulet OS for my color chip using GEMstudio?
How do I run my HTML project with GEMstudio?
What is a really simple UI I can make to get started with GEMstudio?
Am I limited to the current selection of widgets?
How do I make a custom LCD configuration in GEMstudio?
Is there a utility that will emulate a display on the PC?
What is the "Masked Previous Screen with Gray" transition type in GEMstudio?
What are the system requirements?
What fonts are supported?
What kind of widgets come standard with the Amulet Module?
What type of images do you support?
What’s new in the latest GEMstudio?
Where can I find GUI design examples?
Where do I find USB documentation?
There are 2 types of devices on the USB port, so there are multiple places for this documentation. The first is a Mass Storage Device which looks like like a USB flash drive. Additionally, there is on-board flash and sometimes also a microSD card so there are up to two drives that may enumerate. There are commands which allow you to chose which drive is available or to disable them altogether. These commands can be found in the User’s Guide under the topic: Appendix B – All Commands → Control Widget Href Functions
You can also control whether the hardware will enumerate any MSD or not upon boot by changing a project property, which is under this topic: GEMstudio IDE Features → Project Properties → USB MSD
The other type of device is the Communications Class Device, which is basically a USB serial port. This can be used to send data back and forth using the standard protocols, which can be found in the User’s Guide under the topic: Amulet Communication Protocols
Where to find the Amulet USB driver?
“The name is AmuletUSB.inf and it can be found in your GEMstudio installation directory. By default install folder is C:\Program Files (x86)\AmuletTechnologies\GEMstudio\USB Drivers\
Choose x86 for 32-bit versions of Windows, and amd64 for all others.”
What is a "local" font?
Local fonts are .auf or .aauf font files that are stored in the same directory as the main .gemp GEMstudio project file, in a Fonts subfolder. This makes the fonts easier to track and distribute with version control systems, and also allows for custom glyph support in each project.
Does GEMstudio have a debugger?
The GEMstudio Pro Plus license comes with the option to debug script in real time, stepping through lines of code and inspecting the variables. This is done through a Visual Studio Code extension communicating with GEMstudio. You can debug the GEMplayer PC simulator or the actual hardware.
Can I program the display in a low level language like C?
The GEMstudio Pro Plus license comes with the option to debug script in real time, stepping through lines of code and inspecting the variables. This is done through a Visual Studio Code extension communicating with GEMstudio. You can debug the GEMplayer PC simulator or the actual hardware.
How do Amulet's Intelligent Digital Displays interface with a Host microprocessor?
How do I do programming the device in the field?
How much data can I store on the embedded flash?
What can I use to clean the display?
What is the CAGE code for Amulet products?
Can you provide a 3D model of the product?
What kind of data is sent between the host microprocessor and Amulet display?
Is the Amulet module a slave device or master/host for initiating communication?
How do I display a string which is sent from the host CPU to the Amulet hardware?
Is there a serial protocol analyzer I can use?
GEMstudio does not have a built-in serial terminal, but there are many options available. With the permission of Docklight, Amulet has provided a link to the trial version of Docklight. The ability to customize send and receive sequences and automatically calculate CRCs makes Docklight our favorite tool at Amulet for working with serial protocols. By installing Docklight, you adhere to the End User License Agreement set forth by Docklight during the install. The “Scripting ” version of Docklight is required to calculate CRCs. Amulet can provide this script upon request as well as sample protocol commands.
If you would like to install the trial version or purchase the full version of Docklight, you can do so by going to Docklight’s web site. www.docklight.de
If you would like to install the trial version or purchase the full version of Docklight, you can do so by going to Docklight’s web site. www.docklight.de”
What does the serial protocol look like, in raw bytes?
The byte stream depends on the Protocol chosen. We have two stock protocols to chose from called ASCII and CRC. Both involve setting or requesting simple datatypes like integers and strings. Lets go over a simple example of setting a byte at index 0x00 to a value of 0xFF.
In ASCII, most opcodes are in the 0xD0-0xDF range and the address and data (in hex) are encoded into ASCII. The command to set a byte is the exactly the same coming from or going to the Amulet. First you have the opcode 0xD5 followed by the address in ASCII, in this case hex 0x00 we take the “00” and convert each nibble to an ASCII character, 0x30 0x30, which is followed by the data value again in ASCII. With the data equal to 0xFF, the whole message would be 0xD5 0x30 0x30 0x46 0x46 there are a couple of choices on how you reply, but the default is to echo the data with a reply opcode of 0xE5, so you would send 0xE5 0x30 0x30 0x46 0x46.
For the CRC protocol, the Modbus-RTU style is used with the “custom” opcode range. Each command starts with a address, which is the host address if coming from the “slave” Amulet, and defauts to 0x02. Next is the setByte opcode, 0x30, followed by the raw address and data, and finally a 2-byte CRC calculated using the Modbus CRC-16 calculation. For a data address of 0x00 and a value of 0xFF, the whole message would be 0x02 0x30 0x00 0xFF 0x41 0xD3. The reply echos the address and opcode without any payload, and then the CRC, which would be 0x02 0x30 0x00 0xC4.
Where do I find serial protocol documentation?