When you define your own C++ types for a Qt application, you want to print their values with qDebug(), qWarning() or qCritical() eventually.
auto frame1 = QCanBusFrame{0x18ef0201U, QByteArray::fromHex("018A010000000000")};
qDebug() << "frame1 =" <<
The beginning of this month marked my sixth anniversary of becoming a solo consultant. I don't regret my decision and cannot imagine ever giving up solo consulting. I was essential in the implementation of some really interesting projects
In the first post of the Speaking CAN series, we learned how the terminal sends a read-parameter request to the ECU and how the ECU sends a response with the value of the parameter back to the terminal. This works
Controller Area Networks (CANs, for short) are used for the communication between electronic control units (ECUs) in cars, trucks, tractors, harvesters, construction machines, packaging lines and e-bikes. Qt provides the Qt CAN Bus API as part of its QtSerialBus module.
At Qt Day 2019 in Florence, Italy, I gave a talk Using Qt under LGPLv3. In the first part The obligations of Qt LGPLv3: made understandable, I explain in detail, how you must provide the source code, the license texts,
We want to build a custom Linux image with Yocto for the Raspberry Pi 3 model B (BCM2837). The Linux image contains a very simple Internet radio application using Qt 5.11 and the eglfs graphics backend. Our colleagues shall
My favourite business book of 2018 is It Doesn't Have to Be Crazy at Work by Jason Fried and David Heinemeier Hansson. The reason why people work crazy hours is not that there is
[...] more work to be
In a recent blog post, I suggested to replace multiple display computers in a driver cabin by one computer in a silver box with multiple displays. I didn't specify which connectors and cables to use between computer and
The function CustomerDatabase::importCustomers reads 500 customers from the list c_customers, creates an SQL query cmd for each customer and inserts each customer into the Customers table of the SQL database db.
void CustomerDatabase::importCustomers() { auto db = QSqlDatabase::database(
The top row shows the status quo. Two or three display computers (a.k.a. terminals) are normal. Even four display computers are not unusual. The bottom row shows the cabin of the future with four display computers. The display
We must figure out why a Yocto package doesn't work as expected. So, we must tweak the source code a bit here and there, cross-build the package for our ARM-based embedded Linux system and install some shared libraries
In the beginning, the application shows the Main Screen. When the user clicks on the Open button, the application will show a second screen. The second screen creates a C++ model when opened and destroys this model when closed.
As