What would be a good hobbyist project to learn QNX?
I would like to explore it's IPC. I heard a lot of good about it. For example that it is has quite a nice API and is efficient.
Maybe I will tell it all wrong, but I remember that for example it could be easy to do RPC on the same machine for the isolation. A client calls the server and the scheduler would switch context immediately to the server process upon IPC.
Cash register that takes input, does calculations, display updates, and syncs with a database for inventory and pricing. It’s not hard to build a simple one. Make sure you use decimal, not floats, to avoid weird errors.
What would be QNX specific would be making sure the main app is always responsive to user input. That the network, DB, or other things don’t slow it down. That might be done by scheduling dedicated time for both input and the main loop. Non-blocking I/O so main loop can check the progress of other things. Maybe a monitor in there watching for freezes.
If any component freezes, have it restart and get new/updated state. If that works, next version is a two-board, highly-available system with QNX’s networked IPC.
None, I guess. It is just a Posix OS, with not the brightest future.
We have a couple of students working on bringing up the hardware in the Pimoroni Trilobot kit on QNX, but adding some ML to the camera for some kind of autonomous steering perhaps. It will be the perfect blend of intensive processing (camera+ML) with hardware control (short high-priority interrupts). (P.S. hope to open-source this when they are done, along with some blog posts or tutorials -- stay tuned.)
Separately, I think making a GPS-synced weather station would be a fun project. QNX is often used when tight timing is needed for telemetry, so using it to collect weather (and other) data, including from pulsing hardware like an anemometer, and then publishing it to an online service would be a lot of fun.
If software-only is more your style, there may or may not be someone in the office next to me porting some classic games right now! =)