Our quest for a successful architecture of a harvester terminal continues. In this episode, we discuss when a system with a single application is good enough and when a system with multiple applications and a window manager is the better
Operator conditions like light, temperature, water, dust and vibration are a rich source for constraints and qualities of a system architecture. They affect the SoC, display and connector selection, the touch gesture recognition, the communication between system components, the cabling,
Setting up QtCreator for cross-compilation with CMake took me 15-20 hours the first two or three times. The next half a dozen times took me 4 hours on average. The last two times took me 5 minutes - using the
Our Qt embedded system is displayed on a monitor mounted in portrait orientation. The system runs the Wayland compositor Weston as a window manager. HMI applications are shown rotated by 90 degrees - in landscape orientation. The system toolbar of
September 2021 saw the launch of Qt 6.2 - the first Qt 6 version with feature parity to Qt 5.15. I wanted to find out whether Qt 6.2 is fit for products. So, I migrated the HMI
Which system-on-chip is best suited for your Qt embedded system? Should you build a custom Linux system with Yocto, use a container OS or a desktop Linux? Should you use Qt Commercial or Qt LGPLv3? How will the system be
We change the code of our Qt application in QtCreator and press the Run button to try the changes on an embedded device. QtCreator cross-compiles the application, deploys it to the device and runs it on the device. QtCreator performs
"Complexity is anything related to the structure of a software system that makes it hard to understand and modify the system."
John Ousterhout, The Philosophy of Software Design, Chapter 2
Complexity is also known as technical debt, which
A fairly common anti-pattern found in Qt applications is to derive a class MyApplication from QApplication and to have it hand out pointers to a dozen or more major components of the application. Similar to Qt's qApp macro,
I evaluated the dependency analyser CppDepend on a real-life embedded application. My goal was to find all dependency cycles between classes in the application. I know that the application contains 50+ dependency cycles. CppDepend only found less than 10% of
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
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