Android, Infotainment Linux, gStreamer, Wayland Support for the Qt Group Renesas, QML, Qt for MCU, Instrument Cluster Slint, C++, Video Screen Mirroring (Airplay/Android) for Linux Flutter, Linux, Docker We empower businesses
across
Customer Cases various fields

Instrument Cluster on MCU Platform and Multiple Implementations

Crossware was engaged by an automotive Tier-1 to develop their first digital instrument cluster on Qt for MCUs on a Renesas RH850 controller. Crossware had to port Qt for MCUs onto their custom board, integrate their automotive backend with the Qt HMI. Multiple projects ranging from Electric tractors, Off-highway vehicles, 2 Wheelers and EVs were developed on this Qt for MCUs platform.

Crossware helped the customer develop a new line of digital clusters and supported them with technical expertise and bandwidth over multiple project SOPs.

The Tech stack used was Qt/QML, C++, GHS, CMake
Complex List views, Startup-animations, Complex dial animations, Internationalisation, Themes, Modes were created on Qt for MCUs. Read more about our work on Listviews here.

Our journey started with porting the Qt for MCUs graphics stack onto the customer specific boards. These boards were based on two Renesas Controllers, namely the RH850 D1M1A and the D1M1V2. After successful porting of Qt we also enable the following platform features/optimizations.

  • Enabling image caching for enhanced performance on external Octa RAM
  • Enabling graphics resource flashing on to the external flash
  • Memory optimization for the Font engine

This customer engagement was another success story of how Crossware supported an automotive customer through multiple milestones and SOPs while executing software development remotely.

Continuous Development Support for the Qt Group

Crossware supports the Qt Group with continous development support (extended workbench) with 8 engineers. The engineers are fully integrated into the development teams and since 2020 the team size has grown steadily. Crossware helps The Qt Group scale their development and testing needs in a competent, reliable manner. The team for Qt for MCU is the strongest team with 5 developers and is fully integrated into the development processes. The support for LTS testing is also long-term with two engineers – other topics are handled by Crossware on request.

  • Qt for MCUs: 5 Engineers permanently
  • Qt WebAssembly: 2 Engineers on request.
  • Qt LTS Release Testing: 2 Engineers permanently
  • Qt Digital Advertising: 1 Engineer on request

Enhancing Industrial Touch Panel

A global leader of automation technologies asked us to help improve their existing industrial touch panel devices.
Crossware developed main features and closed the performance gaps of an existing industrial touch panel. Crossware analysed and improved the system to make it market ready and offer a competitive advantage.

  • Implementing Compute Pipeline for 8 IP Cameras
  • Implementing High-End Qt based PDF Viewer (Touch, Rotate, Search, …)
  • Linux/Wayland based Remote Desktop Protocol with 60fps
  • Video player optimization

This engagement involved understanding the constraints of existing products and provide fixed price as well as time and material estimates for complex tasks like performance improvements.
Crossware made detailed design presentation on how the multimedia performance improvements would be achieved. These were vetted and improved by the customer leading to successful results.

Android IVI

The customer was developing their first Android IVI system and wanted Crossware to develop the HMI and associated middleware components.

The project required effective team ramp up and dealing with changing UI designs and UI business logic. Crossware supported the customer in  successful agile development of the IVI software including assisting in achieving homologation of the vehicle.

Main features have been Music (USB/Bluetooth), Radio (FM/DAB), Phone (Bluetooth), System Settings, Internationalization, Theming. Crossware also provided the Carplay and Android Auto integration.

The main technology stack elements for this projects were Kotlin, DAB

This project showcased Crossware’s ability to manage complex projects in a completely offshore development scenario. Effectively ramping up and down the team to meet multiple project milestones was key as Agile software development led by effective use of trunk-based software development.

HMI Runtime and Communication Platform

The customer ( a leading European maker of rugged communication products) engaged Crossware to develop their first generation of touch-based audio/video communication devices.. The goal was to develop the entire eco-system for development and end-user customisation of the UI. This included Desktop based UI configurator, a C++ based HMI runtime with 2-way bindings with the Slint run-time and dBUS based communication with other sub-systems.

Key elements of this project

  • One platform, multiple products :
  • Door intercoms, SIP phones, Marine communication consoles
  • Scalable architecture: UI is designed to scale up on different screen resolutions
  • HMI runtime built on standard C++
  • UI implementation in Slint
  • Complex feature development like Video overlays on HMI
  • UI configurator tool for look and feel customisations

This has been a multi-year engagement with Crossware bringing the HMI or graphics expertise and work closely with the customer to develop their first set of touch-based communication devices. The essence being to develop a stable and scalable HMI architecture that could support multiple product lines in the future. The success came from understanding the needs of various stakeholders from the Design team to the core software development teams.

Flutter on Linux or Docker

Crossware has developed various Flutter set-ups either for customers and proof of concepts. The implementation ranged from multimedia streaming scenarios (Internet Radio), industrial applications (farm cooling system) to HMI/UI feature demonstrators (Flutter Gallery application).

Crossware also optimized the graphics pipeline to further improve the performance. Utilizing the GPU, Flutter demonstrates great performance on ARM based processors (e.g. i.MX8 family) getting almost always to 60fps and with CPU utilization of only 10%.

  • Flutter on eLinux or Docker/Torizon
  • Multimedia Support (gStreamer)
  • Graphics optimization on wayland
  • All tooling (Design, Profiling) available

Crossware provides a readymade stack to start over with performant and feature rich application development on embedded systems.

Screen Mirroring (Airplay/Android) for Linux

  • Sharing to Linux via Bluetooth, Wifi, USB, Ethernet
  • Send entire Screen or App
  • Receiving side embedded into a Qt Application
  • Additional Channel to further exchange Information

Key Value: This solutions extends many embedded HMI products to widen the use-cases and matching the state of art consumer expectations of mobile phone users.

The process of screen mirroring involves a source device (a smartphone, tablet, or computer) and a receiver device (e.g. an automotive embedded system). The source device captures the screen data, encodes it into a suitable format (often a video stream), and sends it to the receiver. This data can be transmitted either wirelessly, typically using Wi-Fi, or through a wired connection, such as USB, or Ethernet. The receiver then decodes the data and displays it on the receivers screen.

In addition, there’s also a control & data channel that allows the receiver to send feedback to the source device. This is used, for instance, when the user interacts with the mirrored interface via the receivers. controls.