Difference between revisions of "Guiliani:Features"
From Guiliani
(→System, platform and peripherals) |
|||
Line 30: | Line 30: | ||
=== Features === | === Features === | ||
==== System, platform and peripherals ==== | ==== System, platform and peripherals ==== | ||
− | * Object-oriented | + | * Object-oriented C++ HMI-framework optimized for embedded systems |
− | |||
** Low memory consumption | ** Low memory consumption | ||
** Minimized CPU usage | ** Minimized CPU usage | ||
− | * Operation system independent | + | * Operation system independent (Baremetal, eLinux, FreeRTOS, embOS, ARM mbed, ...) |
− | * CPU independent | + | * CPU independent (MCU, MPU, ARM, FPGA with NIOS, ...) |
** Support for fixed point / floating point CPUs | ** Support for fixed point / floating point CPUs | ||
− | ** So far [[Guiliani:Platforms|supported embedded platforms]] include: Raspberry PI, Renesas RZ/A, RZ/G | + | ** So far [[Guiliani:Platforms|supported embedded platforms]] include: i.MX6, i.MX7, Raspberry PI, Renesas RZ/A, RZ/G, RX63N, STM32F429, ALTERA NIOS II, Intel x86,… |
− | * | + | * Supports software-rasterizer (TES eGML) or GPU-accelerated Graphics-API (OpenGL (ES), TES D/AVE) |
− | |||
* Support for subpixel-accurate rendering | * Support for subpixel-accurate rendering | ||
* Support for hardware-specific capabilities (e.g. hardware graphic layers) | * Support for hardware-specific capabilities (e.g. hardware graphic layers) | ||
− | * UNICODE support | + | * UNICODE support (UTF-8, UTF-16) |
* Prepared for thread-safe integration into existing applications | * Prepared for thread-safe integration into existing applications | ||
Revision as of 13:24, 6 February 2020
Guiliani is a C++ software framework enabling the creation of visually appealing, hardware and OS platform-independent GUIs for embedded systems.
Guiliani adopts the philosophy of write once, compile for & run on many different target hardware. Once a Guiliani application has been developed, it can run natively on supported target platforms. When using Guiliani, the usual development workflow is to design the application on a PC and target a set of embedded platforms for production release.
Contents
Minimum HW requirements
Criteria | Requirements |
---|---|
MCU | 100Mhz |
ROM | ~700kb for Guiliani without resources |
RAM | ~50kb for Guiliani without resources |
Compiler | C++ Compiler with exception Support |
Operating System | no Operating System required, but many supported |
Architecture overview
Guiliani is split into two layers, the Guiliani runtime engine, and a platform abstraction layer.
Features
System, platform and peripherals
- Object-oriented C++ HMI-framework optimized for embedded systems
- Low memory consumption
- Minimized CPU usage
- Operation system independent (Baremetal, eLinux, FreeRTOS, embOS, ARM mbed, ...)
- CPU independent (MCU, MPU, ARM, FPGA with NIOS, ...)
- Support for fixed point / floating point CPUs
- So far supported embedded platforms include: i.MX6, i.MX7, Raspberry PI, Renesas RZ/A, RZ/G, RX63N, STM32F429, ALTERA NIOS II, Intel x86,…
- Supports software-rasterizer (TES eGML) or GPU-accelerated Graphics-API (OpenGL (ES), TES D/AVE)
- Support for subpixel-accurate rendering
- Support for hardware-specific capabilities (e.g. hardware graphic layers)
- UNICODE support (UTF-8, UTF-16)
- Prepared for thread-safe integration into existing applications
GUI features
- Large set of pre-defined widgets
- Easy to customize existing widgets or to integrate new widgets
- Support for animations
- Multi-language support (dynamically switchable at runtime)
- Image-sets (skinning)
- Automated layout of GUI elements
- Rich text support
- Smart redraw mechanism and resource-management
- GUI can be developed independently from applications
Application development & support
- Comprehensive and up-to-date documentation
- Customizable trainings regarding content, location and time
- Tutorials available
- Integrated debugging mechanism
- GUI design and behavior is stored in XML or binary description-files
- Easy communication with external applications