Crank Software Embedded GUI application on iWave’s i.MX6DL Q7 Platform
iWave's internal project
Crank software provides a complete graphical user interface development and deployment environment. Crank Software composed of two components Storyboard Designer and Storyboard Engine. Storyboard Designer provides a desktop-based graphical development environment that provides a drag and drop approach to building the user interface using elements familiar to graphic designers, Photoshop PSD content, PNG and JPG image files, and standard TrueType fonts. When a design is ready for testing, it can be simulated in the desktop environment or easily deployed to an embedded target device. Storyboard Engine is an embedded target specific rendering engine that is highly portable and optimized for a specific combination of CPU, operating system, and rendering technology.
Why Crank Software...?
Crank Software’s tools and services enable Embedded GUI engineers to develop embedded user interfaces more quickly, efficiently, and successfully. Crank Software’s Storyboard Suite provides GUI engineers with an even better way to “do Embedded GUI development, from start to finish.”
- Easily prototype the look and feel of a product
- Move the UI prototype directly to the embedded target for deployment
- Photoshop import
- Animation timeline
- Desktop simulation
- Team collaboration
Storyboard is designed to be used to develop and run full screen application user interfaces. Developing a Storyboard application is straightforward and simple, but relies on understanding a few concepts and terms and how they relate to one another within the Storyboard framework.
A Storyboard application is composed of a hierarchy of model elements: Screens, layers, groups and controls.
An application can be composed of multiple screens, however only a single screen is ever visible at one time.
Each screen is composed of one or more layers. The screen controls how multiple layers have their content composited together to form final display output. Where possible, layers may be mapped directly to layers in the graphic hardware. Multiple screens can reference the same layer, effectively sharing the visual content of the layer and creating multiple layer instances. All layer instances share the same visual content, but the position and visibility of the layer is specific to the screen context where it is being used. When a screen is painted, the z-order of the layer instances is used to determine which areas of a layer are visible to the user.
Layers contain controls and groups. Controls are the containers for rendering content such as images and text. Groups provide organizational structure that allows controls to be associated together in a common named container. A control is sized and positioned relative to its parent, layer or group, and contains zero or more render extensions that describe the type of rendering to occur when the control is damaged and redrawn. Controls are the only model elements in a Storyboard application that track input focus.
Storyboard Engine Architecture:
SThe Storyboard Embedded Engine is a runtime framework that allows a description of a graphical application to be interpreted and executed. The graphical application description, known as a deployment bundle, contains all of the instructions required to render screens to a display and to process events that would cause state transitions to occur in the application, potentially leading to additional screens being displayed.
The separation of the visual display logic from the system behaviour is achieved through the use of events. Events are asynchronous notifications containing a data payload that can be delivered to the Engine from multiple sources to trigger changes.
- i.MX6DL Q7 Development Platform
- Linux 3.10.17 Yocto
- USB Support (Keyboard and Mouse) in Crank software application
- Crank Software Slideshow and User Input Application: Designer integrated with eclipse, Lua scripts used to control the user input, Generation of cross platform deployment bundle for use with Embedded Engine
Areas of Expertise:
- Crank Software Designer Tool
- Crank software Application Development
Solution offered by iWave:
- iWave’s Q7 development platform successfully runs crank software application on it.
- iWave developed simple user input application ( USB mouse and Keyboard ) on iWave’s i.MX6 Q7 development platform.
Screenshots of Sample Embedded GUI Application running on iWave’s i.MX6 Q7 development platform.
Integration of QT with Crank Software
Storyboard gives Embedded GUI developers and designers an extremely fast and efficient way to build modern HMI solutions. This solution is cross platform and extremely small and efficient. Users of Qt are also generally building cross platform applications and using QtGui may not be an option due to memory and performance concerns. Storyboard can be used in conjunction with Qt in order to solve these problems and still give the developer a cross platform solution.
Possible Applications using Crank Software:
- Automotive Applications
- Medical Applications
- Industrial Applications
- Mobile Applications
Using Crank software very good Embedded GUI applications can be developed.