Partner Demo Container - TotalCross
TotalCross
TotalCross is an easy-to-use Open Source SDK, aimed at fast design of beautiful Graphical User Interfaces (GUIs) for multiple platforms such as embedded, IoT, mobile, and desktop.
TotalCross version 6 added support for Embedded Linux (ARMv7 and ARMv8) and support for TorizonCore.
TotalCross Demo for Torizon
To demonstrate its features, TotalCross has created a Demo container for TorizonCore. Some of the demo's highlights include:
- GUI implementation using the graphic API
- Screen transitions
- Animations
- Essential elements (e.g., Edit boxes, Labels, etc...)
Supported Modules
The following Computer on Modules are currently supported:
- Apalis iMX8QM
- Colibri iMX6DL
- Colibri iMX7D
- Verdin iMX8M Mini
Supported Displays
Intended Use
This partner demo container is meant for the evaluation of the technology. It is suitable for development, but not for production.
How to Get Started
This section provides instructions for you to get started with TotalCross quickly.
This article complies with the Typographic Conventions for Torizon Documentation
Prerequisites
- Toradex SoM with Torizon installed. For instructions about how to install Torizon in your board, refer to Toradex Quickstart Guide
- (helpful) Basic understanding of Docker and
docker run
command options - One of the supported displays. Optionally, you can use an HDMI screen connected to the Toradex SoM board.
Connect to the board terminal by establishing an SSH connection.
Run a Weston container
(Optional) pull the torizon/weston
container image:
# docker pull torizon/weston:$CT_TAG_WESTON
Start the weston
compositor:
# docker run -d --rm --name=weston --net=host --cap-add CAP_SYS_TTY_CONFIG \
-v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \
--device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' \
--device-cgroup-rule='c 199:* rmw' --device-cgroup-rule='c 226:* rmw' \
torizon/weston:$CT_TAG_WESTON --developer weston-launch --tty=/dev/tty7 --user=torizon
(Optional) pull the torizon/weston
container image:
# docker pull torizon/weston:$CT_TAG_WESTON
Start the weston
compositor:
# docker run -d --rm --ipc=host --name=weston --net=host --cap-add CAP_SYS_TTY_CONFIG \
-v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \
--device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' \
--device-cgroup-rule='c 199:* rmw' --device-cgroup-rule='c 226:* rmw' \
torizon/weston:$CT_TAG_WESTON --developer weston-launch \
--tty=/dev/tty7 --user=torizon -- --use-pixman
(Optional) pull the torizon/weston-vivante
container image:
# docker pull torizon/weston-vivante:$CT_TAG_WESTON_VIVANTE
Start the weston
compositor:
Please, note that by executing the following line you are accepting the terms and conditions of the NXP's End-User License Agreement (EULA)
# docker run -e ACCEPT_FSL_EULA=1 -d --rm --name=weston --net=host --cap-add CAP_SYS_TTY_CONFIG \
-v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \
--device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' \
--device-cgroup-rule='c 199:* rmw' --device-cgroup-rule='c 226:* rmw' \
torizon/weston-vivante:$CT_TAG_WESTON_VIVANTE --developer weston-launch \
--tty=/dev/tty7 --user=torizon
To learn more about the device_cgroup_rules
section of the docker-compose file above, please refer to the Hardware Access through Control Group Rules (cgroup) section of the Torizon Best Practices Guide
Run a TotalCross Demo container
Bring up the totalcross/torizon-demo
container:
# docker run --rm -it --name=totalcross \
-v /tmp:/tmp \
-v /dev/dri:/dev/dri --device-cgroup-rule='c 226:* rmw' \
totalcross/torizon-demo:1.0.1
Start the demo application:
## ./start.sh
Next Steps
See the TotalCross container repository. For more information:
- Totalcross documentation
- TotalCross' open-source code repository
- Webinar: Creating GUI for Toradex modules with TotalCross Open Source SDK
Display and Touchscreen Configuration
Displays and Monitors used in Embedded Systems are available in a myriad of configuration possibilities - resistive, capacitive or without touch, single or multi-touch, different resolution, density of pixels, pin-out and clock frequency are some examples.
To make things easy for you, Toradex provides specific instructions on how to use its display offerings as well as comprehensive information about how to interface your custom display or monitor to Toradex modules.
There are three tested and recommended displays by Toradex:
- Capacitive Touch Display 7" Parallel
- Capacitive Touch Display 10.1" LVDS
- Resistive Touch Display 7" Parallel
You can easily set-up and get them running with 3 steps explained on Setting up Recommended Displays with Torizon. If you prefer to configure a specific display, it is suggested the reading about the easy to use Torizon device tree overlays container on Device Tree Overlays. If you need to calibrate the touch screen, learn how on Touch Screen Calibration (Torizon).
Release Notes
Support for embedded Linux is available since TotalCross version 6.0.2. We recommend using the latest version available. See the TotalCross Changelog for more information.
These release notes below are strictly related to the test of the TotalCross container in Toradex hardware.
6.0.2
- The first release tested with Toradex Hardware.
Licensing Information
TotalCross is licensed under GNU LGPL-2.1-only.