One of my favorite design patterns for firmware is event driven active objects. Simple active objects are my bare minimum firmware design starting point, but I especially like using the QP framework. I also love helping teams jump start their QP journey, so please check out my related services too.
QP is a flexible framework for enabling active objects combined with other features such as publishing and subscribing to events among multiple active objects. QP operates with a QP-centric RTOS kernel or it may be paired with third-party kernels, such as FreeRTOS. If your team has decided to embrace QP, then an additional decision likely includes:
Which RTOS kernel do I pair with QP?
In the following video, I present my first-order guidance for selecting the optimum kernel to pair with QP. The video should take you directly to Tip #4 – Review 3rd party library requirements before selecting a kernel.
To learn more or related topics:
- What is an active object?
- QP: https://www.state-machine.com/products/qp
- My personal preferred unit testing environment to pair with QP: https://covemountainsoftware.com/products/
- A detailed tutorial video on my preferred QP unit testing environment: https://youtu.be/hr1qkNH1wSA
Photo by Douglas Lopez on Unsplash