In the Driver’s Seat
Use Cases of Qt in Automotive
Dr Tuukka AhoniemiProduct Manager
Contents
• Requirements for Automotive Systems
• Transition of Automotive Software
• Power of Ecosystem
• Qt GUI Offering• Qt Quick and HTML5
• Qt Automotive APIs
• Why Qt Makes a Lot of Sense in Automotive?
The Automotive Industry is Changing
Software Will Take Over the Form Factor
© 20154
Wild West of Automotive Systems
• The automotive systems are mostly based on specialized hardware and proprietary software• OEM solutions
• Tier 1 Platform solutions
• Open source solutions
• Apple, Google platforms
• Alliances and consortiums, like GENIVI and AGL• Still far from standardized platforms
© 20155
Requirements for IVI Systems
• Flexibility and Scalability• Customization for different makes and models, and for setups
• Different HW
• Plugins
• Global presence: internationalization/localization
• Fluent performance• Multitasking
• Fast boot-up, pre-loading
© 20156
Multi-Screen Challenge
A Platform is Only as Good as the Content for the Platform
© 2015 The Qt Company
Building your Automotive Ecosystem
Biggest value for the consumers and for
the car brand comes with innovative
automotive applications and services
which developed and controlled by OEM.
Applications extend functionality
infotainment system not only inside but
also outside of the car.
Qt’s Application Framework provides fast and safe basis for
the OEM’s applications and services.
© 2015 The Qt Company
Target All Your Platforms with One Technology
My
Software
Solution
Desktop:Windows, Linux, Mac,
Solaris, Enterprise UNIX
Embedded:Embedded Linux, Embedded Android,
Windows Embedded, QNX,
VxWorks, INTEGRITY
Mobile:Android, iOS, Windows Phone,
WindowsRT, BlackBerry 10, Sailfish
Qt’s cross-platform SW framework runs all
major Operating Systems with native
speed. Investing one technology instead of
many brings huge cost savings.
Automotiveelectronics andcontrol systems
Qt SerialBus API
Automotive bus(CAN)
IVI System
Instrument ClusterQML
QML
APIBuilt-in
applications
2nd / 3rd partysoftware services
PassengeriPhone / iPad
QML
PassengerAndroid device
QML
BackseatInfotainment
QML
Bring Your Own Device(BYOD)
Solving the Multi-Screen Challenge
HUD
QML
Transition of Industry
From Black Box Systems into White Box
© 201513
Requirements for More Transparency
• Build Systems
• Contribution model
• Sharing Code• Style
• Comments
• Language
Power of Ecosystem
The Qt Ecosystem
• 20 years of experience and knowledge of• Build systems
• Porting Qt to various platforms (OS and HW)
• Open Source contribution model (Qt Project)
• CI (Continuous Integration) systems
• Documentation, tutorials, examples
• Companies, partners
• Around million developers• People writing content
© 201516
Customer Case: Porting Example
• Qt for Renesas R-Car• Customer had legacy build system
• Once build system was fixed, getting Qt on top of that was easy
• Small backend implementation for eglfs
• Uses general KMS API
• Runs on Intel platforms -> desktop development, rapid workflow
• Then, porting to NVidia Jetson TK-1/ Jetson Pro• Same KMS API than Renesas
• Different buffer mechanism
• Took only 1 week to adopt Qt stack
© 201517
Why Qt Solved the Problem?
• Qt gives you a wide HW support out-of-box and very flexible and easy ways of customizing the stack into other HW• Flexibility is built-in to Qt
• This is very unique in the Automotive world• Often OEMs have hundreds of people working for a proprietary stack, where
as with Qt, a handful of people can handle that
19
Create Modern Automotive GUIs with Qt
• Qt Quick – Declarative UI, C++ backend• Designer/Developer workflow
• Full touch-based experience
• Existing UI controls, easy customization
• Smooth and easy animations
• 3D effects
• Integration of 3D graphics
• Localization
© 201520
Rapid Workflow with Qt Quick
Developer
Declarative UI Design
Stunningly Fluent Modern User Interfaces, written with QML. Ideal for rapid UI prototyping.
Imperative Logic
Power of Cross-Platform Native Qt/C++
Qt Quick
Core
Processes, Threads,IPC, Containers,I/O, Strings,Etc.
Network
HTTPFTPSSL
Sql
SQL&OracleDatabases
XM
L
Blu
eto
oth
Po
siti
on
ing
NFC
Se
ria
l Po
rt
Designer
+ Direct Hardware Access
© 2015 The Qt Company
Qt Instrument Cluster Demo
© 201522
Example Case: Modernizing Workflow with Qt Quick
• A large automotive OEM• Designers used iPads
• 6 weeks from design to running on car
• Changed the workflow to Qt Quick based• Immediately see the change in real environment
• Same kind of agility for embedded / automotive development than on desktop/mobile• Rapid workflow
• Modern software development
© 201523
Qt and HTML5
• Qt and HTML5 are not mutually exclusive
• Qt provides a powerful HTML5 engine, Qt WebEngine• Convenient port of the Chromium
• Cross-platform
• Fully integrated into the Qt graphics stack
• Everything else around the engine -> the whole Qt framework!
© 201524
Experiences with HTML5 from Customer Cases
• HTML5 is not designed for GUI creation• Inconveniences
• Performance problems
• HTML5 is very good for some use cases and needed for certain dynamic cross-platform functionality• Qt wants to provide the best platform for HTML5 as well
• We strongly recommend a wise hybrid development strategy• Qt Quick for the GUI controls and graphics, for best native performance
• HTML5 for the rest
• Mix and match freely
© 201525
Experiences with HTML5 from Customer Cases
• Start testing in real hardware as early as possible• Developing Qt or HTML5 on desktop is nice but might give an unrealistic view
of performance or possible features
• Integration introduces problems that are too late to be fixed properly
• Upgrade and select Qt WebEngine as the engine, and do it from the start• Even the old Qt WebKit will introduce performance issues on real usage
• Qt tooling for Embedded gives rapid development workflow for embedded• Rapid design-develop-deploy-test cycles on real hardware
• Wiser development strategy
• Shorter time-to-market
Contents of the Qt Automotive Suite Offering
© 201527
Quick Look to Qt Automotive APIs
• Qt Speech• Speech recognition (PocketSphinx, Nuance VoCon)
• Qt SerialBus• CAN Bus
• Other Buses, for various industries, FlexRay (planned)
• Qt Virtual Keyboard
• SCXML
• Qt Quick Controls• ISO Automotive icons
• Qt Automotive API (planned)• W3C Automotive API implementation
© 201528
CAN Bus
• Qt SerialBus will provide a CAN Bus API• Technology preview with Qt 5.6
• Different CAN Bus backends supported:
Vendor Backend Brief description
CAN over Linux sockets SocketCAN CAN bus backend using Linux sockets and open source drivers.
PEAK-System PeakCAN CAN bus backend using the PCAN adapters.
MHS Elektronik TinyCAN CAN bus backend using the Tiny-CAN adapters.
© 2014 Digia
Qt Virtual Keyboard
• A complete virtual keyboard solution
• Solid C++ backend and versatile Qt Quick UI
• Fully customizable graphics and styling
• Extendable input methods and word prediction engines
• Support for different keyboard layouts
• Good language support, also from left-to-right
• Handwriting recognition
• Supports also 5-way or 2-way navigation
• Existing: Qt State Machine Framework
• Existing for many years in Qt Core
• Bug fixes, performance improvements
• Improved compatibility with SCXML standard
• New: Qt SCXML Compiler and Runtime
• New module developed by The Qt Company, not yet released
• SCXML parser and runtime
• SCXML Compiler: similar to Qt Quick Compiler, produces C++ binary of the state machine
• Coming: State Chart Editor Plugin for Qt Creator
• Edit State Charts directly within Qt Creator
• Textual editing
• Visual drag & drop editor
© 2015 The Qt Company
Qt State Chart Offering
Qt State Machine FW
SCXML Compiler & Runtime
SCXMLextension
SCXML Editor
Summary
© 2015 The Qt Company
High Value from Cross-platform Solution
Application Processor
Vehicle bus(es)
Instrument Display Secondary DisplayCenter Console
Display
Operating System
Instrument Cluster App
Secondary Information Display
App
Center Console App(s)
HMI, UI & Application Framework
Car Middleware
OS
HWApplication Processor
Qt solution allows to change OS and HW which provides additional value and safety for future needs.
© 2015 The Qt Company
Return of Investment
Building future proof foundation for the solution and using value added
development and testing assets will ensure the best return on investment.
Qt Core Networking
Sensors
Speech
recognition
layer
Application
framework
Hand writing
interface
layer
Screen
composition
Cloud
OTA
Qt
co
mp
onen
ts
Qt
au
tom
otive
too
ls &
co
mp
one
nts
State
machineTest
framework
Car bus
interface layer
Mapping
interface
PositioningUI controls
3D
Audio
handling
Advanced
debugging
Sandboxing
Web Engine
Multimedia
Advanced
profiling
© 2015 The Qt Company
Total Costs of Ownership
Using Qt’s building blocks, Qt automotive packages and Enterprise tooling solution
cost less than traditional development models with other technologies.
Functionalityand features
development costs
Traditional
development
Testing costs
Costs
Expandability costsQt
Automotive
Suite
Functionality and features done with
Qt framework
Qt testing framework
Expandability costs with Qt
Maintenance costs
Maintenance costs
Qt Enterprise framework
provides numerous cost saving
elements.
Modern, fast, up to date Web
Browser Engine is included,
Availability off source codes
decrease maintenance costs
Qt’s plug-in architecture makes
solution expandability really
easy.
Qt’s test sets and framework
increases testing efficiency
Qt’s functionality and Enterprise
feature sets speed up the
development.
Web Browser Engine
www.qt.io
Thank You!