AN1004 - Uploading your SIM's SHIP GUI Load

From Serious Documentation
Jump to: navigation, search

Uploading your SIM's SHIP GUI Cargo

Installed from the factory on every Serious Integrated Module (SIM) is a version of SHIPEngine, the runtime GUI engine of the Serious Human Interface™ Platform (SHIP). SHIPEngine is a complete GUI management engine, but is not the GUI itself. It requires a data file, called the "cargo" which contains the data for a specific GUI including fonts, text, images, layout, event handlers, etc.

You may want to, at various times, upgrade your SIM's SHIPEngine. See AN1003 - Upgrading your SIM's SHIPEngine Firmware for details on that process.

Creating a GUI Cargo ".shp" File

GUI cargos can be created using the SHIPTide GUI Development Tool. Under SHIPTide, use the Project->Export Cargo menu item and the GUI project will be compiled down to a single file with the extension ".shp".

The .shp file (the "cargo") contains everything needed for SHIPEngine on the SIM to render and run your GUI.

You can also download demonstration and example cargo .shp files from application notes. As well, the original "factory demo" cargo file can usually be obtained from the documentation area for your SIM.

Uploading a Cargo to a SIM

There are several ways to upload a .shp cargo file to a SIM:

  • From within SHIPTide over the USB connection (assuming the appropriate USB driver is installed)
  • For production, using the Serious SHIPCrane OEM Programming Tool
  • Over-the-wire, using the Serious Bridge protocol.

Updating a Cargo from SHIPTide and SHIPCrane

Using SHIPTide or SHIPCrane to update the Cargo on your SIM requires these elements:

  • Your SIM!
  • A USB cable
  • A Windows-based PC
  • The Serious .inf USB drivers for your SIM
  • A way to connect to the USB device facility on your SIM

The SIM needs to be connected via its USB device port to the PC. Some SIM variants have the USB device port mini-B connector installed. Other SIM variants, while they do have the USB device circuitry, do not have the USB mini-B connector installed, in large part to keep the price of these modules down for OEMs that do not need this in their production environment. On SIMs without the USB device connector, you'll need the appropriate (inexpensive) corresponding Serious Programming Adapter which exposes the USB device circuitry on a connector, for example SPA100 or SPA200.

In order for the PC's USB port to communicate with the SIM, a driver needs to be installed. See each individual SIM's documentation for this download.

On the current version of SHIPTide and SHIPEngine, a custom driver has added significant new capabilities and features, including the ability to update SHIPEngine and more on the SIM directly from SHIPTide and SHIPCrane.

If you're having troubles connecting with your SIM, check your Windows Device Manager to make sure the SIM is appearing in the list of COM ports. If not, you need to (re)install the .inf driver for your SIM. SHIPTide and SHIPCrane cannot connect with the SIM unless the driver is correctly installed and operating.

From within SHIPTide, you will see all connected devices in the "Devices:" drop down menu located under the "Help" menu. If your board is connected, you'll see the SIM's model and serial number that is installed in order to identify it from other possible connected SIMs.

Choose "Project->Export Cargo" to begin the process of creating a cargo file that can be downloaded to your SIM.

If your SIM is connected, the "Upload Project" window will come up directly after the cargo file has been created. Otherwise, you can click on the "Upload Project" button, located to the right of the "Devices:" drop down box, to bring up this window. If you've just exported a cargo from within SHIPTide, the file name for the .shp file will already be populated in the upload box. Or you can browse to any other file on your PC and upload that.

The upload process will only take a moment depending on how large the cargo file is. When complete, the SIM will reboot and the SHIPEngine will find the new GUI and run it.