We want to develop the Internet radio application for the Raspberry Pi in the same way as for a PC. We change the source code in QtCreator and run the application. QtCreator cross-builds the application on the PC for the Raspberry Pi, deploys it with SSH to the Pi and runs it on the...
Category: Qt
Qt Embedded Systems – Part 1: Building a Linux Image with Yocto
In Part 1 of the series on Qt Embedded Systems, we build a custom Linux image with Yocto for the Raspberry Pi 3B. When we power on the embedded device, it starts an Internet radio application – called Cuteradio. This QML application is very simple: it can only play a single, hard-wired station. Despite...
FOSS Qt Releases Delayed by up to 12 Months?
On 8 April 2020, Olaf Schmidt-Wischhöfer wrote in an email to the KDE community (emphasis mine): last week, suddenly informed both the KDE e.V. board and the KDE Free QT Foundation that the economic outlook caused by the Corona virus puts more pressure on them to increase short-term revenue. As...
Creating Simple Installers with CPack
In my recent post Benefits of a Relocatable Qt, I explained how to relocate Qt from a build server to a developer PC and from the PC to an embedded system. Qt is installed in three different locations. My solution has two small deficiencies. First, it sets the install rpath to an absolute path...
Benefits of a Relocatable Qt
Bob builds Qt for the development team on a fast compute server. He packs Qt into a tarball and hands the tarball to his teammates. Alice installs the Qt tarball on her PC in a directory that differs from the installation directory used by Bob. As the target embedded system runs on an AMD...
Less Love for FOSS Qt Users
From Qt 5.15, The Qt Company make their offering a bit more inconvenient for FOSS users. They announced three changes: A Qt account is mandatory to download binary Qt packages. The offline installer is not available to FOSS users any more. LTS (long-term support) releases are not available to FOSS users, once the next...
Safe-Guarding the (L)GPL Future of Qt
The little known KDE Free Qt Foundation makes sure that Qt stays free and open-source. It guarantees that all Qt modules currently licensed under LGPLv3 must continue to be available under LGPLv3 in the future. This covers all modules from Qt Essentials and many add-on modules. If The Qt Company discontinued the FOSS version...
Detecting Overdraw in QML HMIs with GammaRay
Overdraw happens when one QML item fully eclipses another QML item. The QML renderer always draws both items, although there is no need to draw the eclipsed item. You must help out the renderer by explicitly setting visible: false on the eclipsed item. On embedded systems, heavy overdraw makes animations or flicking jerky. In...
My talk “A Deep Dive into QtCanBus” at Qt World Summit 2019
The screenshot above shows the home screen of a sugar beet harvester. The home screen receives roughly 50 CAN messages per second and displays the contents of the CAN messages numerically or graphically....
Comparing Two Floating-Point Numbers
The mathematician Leopold Kronecker is believed to have said: God made the integers, all else is the work of man. And Kronecker didn’t even know the floating-point numbers “made” for computers. Comparing two numbers of type float or double in C++ and related languages is a source for regular errors. When are the if-conditions...