Sections in this page:
Introduction
ATM's development kit offers a high-definition 10.4" capacitive touch panel, and processing capability to deliver feature rich digital instrumentation. ATM's hardware platform offers unlimited possibilities for creating intuitive and eye-catching human machine interfaces for monitoring and interacting with electric vehicle and energy storage applications.
ATM's kernel operates Linux Yocto, which leaves plenty of commercial and open source embedded software tools to create graphical user interfaces (GUIs). ATM's development kit currently supports Crank's Storyboard Suite, which is a commercial GUI design and development platform for embedded applications. Qt is another platform we anticipate supporting in the future, but for the purposes of the remaining documentation we will refer to Cranks' Storyboard Suite.
Getting Started
Crank offers a 30-day trial version of their Storyboard Suite. Once downloaded and installed on your development machine, there are multiple demo applications they provide to help get you started on evaluating their development studio. Please refer to Crank's online product documentation to learn more about Storyboard Suite.
ATM comes pre-installed with Crank's Thermostat application as shown below. This is a good starter application for evaluating the interaction of UI's controls and transitioning to other screens. The Thermostat demo can be loaded into Storyboard Suite from your development machine at Crank's default installation directory "C:\Program Files (x86)\Crank_Software\Samples".
There is a script in the root directory labeled "Crank", which allows configuration to launch other applications after boot-up. If you open the script, as shown below, the last line item is where you can configure the .gapp file to run another application. In the example below, the Thermostat demo application is replaced with ThermostatIO application to launch after boot up. This application takes advantage of Crank's StoryboardIO API to interface with data back and forth from ATM. The next section will describe the communication interface in more detail.
$SB_BASE/bin/sbengine -v -orender_mgr,-odev-input,mouse=$TSLIB_TSDEVICE ThermostatIO/ThermostatIO.gapp
Back End Support
While generating awesome looking demo applications on ATM is great for product demonstrations, this only completes half the puzzle for implementing fully functional display instrumentation. The GUI application will need external communication for mapping data sets to gauges, text readouts and button controls. There are various methods for sending and receiving data to GUI applications, and they will vary based on GUI development platforms. ATM has a class library known as ATMIO that handles back end communication channels for various GUI platform APIs. The table below shows current and future supported APIs.
GUI Platform | API | Support |
---|---|---|
Crank | StoryboardIO | Active |
Qt | Qt Creator | Coming soon |
Kanzi | Kanzi API | Coming soon |