Almost all companies I worked with over the last 25 years had an oversupply of non-technical managers and an undersupply of technical experts in leadership positions. These companies build products with less value for the users and take longer to do so. Apple shows that companies can succeed with a functional organisation, where experts lead experts.Read More »Reading: How Apple Is Organized For Innovation
My Talk “Hexagonal Architecture: The Standard for Qt Embedded Applications” at Meeting Embedded 2021
I gave a talk at Meeting Embedded 2021 on 4 November 2021. First, I introduced the hexagonal architecture (a.k.a. ports-and-adapters architecture) in general. Then, I showed a walking skeleton of the architecture for a harvester terminal.Read More »My Talk “Hexagonal Architecture: The Standard for Qt Embedded Applications” at Meeting Embedded 2021
Kas makes the setup of a Yocto build environment super simple and super fast. We call kas with a project configuration file:
kas-container build ./eu-terminal-distro.yml. Kas starts a Docker container, clones the layer repositories, initialises the Yocto configuration files (
bblayers.conf), and starts building the embedded Linux system. Most Linux BSP providers don’t make a kas configuration file available. I’ll show how to convert a repo manifest file into a kas configuration file in this post.
It depends! If a C++ source file includes the header inside an
extern "C" section, the header is compiled as C++. If a C source file includes the header, the header is compiled as C. Hence, the header file should be both valid C and valid C++.
Creating an architecture means answering many questions about the ecosystem, in which the Qt embedded system operates. While the questions are very similar for all Qt embedded systems, the answers and their priorities differ. So, you should be able to transfer the questions and answers from my running example, a harvester terminal, to your system.Read More »My Talk “A Successful Architecture for Qt Embedded Systems” at Qt Day Italy 2021
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 choice. Sometimes, a single-application system with a window manager is just the right choice.Read More »Architecture of Qt Embedded Systems: Single vs. Multiple GUI Applications
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, the use of a window manager and more.Read More »Architecture of Qt Embedded Systems: Operating Conditions
Nearly exactly 5 years ago, I wrote my first article about Using Qt 5.6 and Later under LGPL. The trigger then was the switch from LGPLv2.1 to LGPLv3 with Qt 5.6. The trigger now is the switch from Qt 5 to Qt 6. All the Qt modules under LGPLv3 5 years ago are still available under LGPLv3 – unless they have been retired. Some new modules like Charts, CoAP and MQTT were only available under Qt Commercial until Qt 5.15, but are now available under the new Marketplace license for 50-300 USD per year (no royalties). Some new modules like Quick 3D and WebAssembly are only commercially available. All in all not much changed: You can still build fantastic HMIs with Qt LGPLv3.Read More »Using Qt 5.15 and Qt 6 under LGPLv3