The Pragmatic Embedded Podcast· Folge 73
QP framework with Mitch English
Mittwoch, 15. Januar 2025 · 44 min
Kapitelklicken springt direkt hin
Shownotes
The episode features a discussion with Mitch English, a product development team lead at Inertia, about using the QP (Quantum Platform) framework for embedded systems development. Mitch and Jeff recently collaborated on a medical device project where they successfully implemented QP. The framework, created by Miro Samek, implements the actor model with active objects running in their own threads and communicating via messages. This approach helps avoid common concurrency issues found in traditional RTOS implementations.
The discussion covers how QP's hierarchical state machine framework makes it easier to manage complex state transitions and system behaviors. They share their experience using QP on a blood analyzer project, discussing how they structured the code with different layers of abstraction and maintained multiple test builds throughout development. The team found that QP's architecture helped make the system's complexity more manageable and testable.
A key learning they shared was about event communication - while they initially used direct posting between active objects, they later realized that using the publish-subscribe pattern more extensively would have made testing easier and the system more flexible. They recommend starting with QP's simple examples and gradually building up complexity rather than trying to implement complex examples right away.
Key Timestamps:
- Introduction and background
- Overview of QP framework and actor model
- Discussion of hierarchical state machines
- Project architecture and implementation approach
- Testing strategies and development process
- Team structure and collaboration
- Hardware/software integration
- Advice for getting started with QP
- About Inertia and contact information
Links:
Miro Samek's QP framework: state-machine.com/products/qp
Miro's book on QP framework: state-machine.com/psicc2
QP GitHub repository with example code: github.com/QuantumLeaps/qpc-examples
Inertia website: inertiapd.com
Mitch English LinkedIn: linkedin.com/in/mitchellenglish
Jeff runs BaseRef, a Requirements Management and Documentation tool for medical device startups, at getbaseref.com.
You can find Luca at luca.engineer/?utm_source=agile-embedded-podca….
Want to join the Pragmatic Embedded Slack? Click here (join.slack.com/t/agileembeddedslack/shared_inv…)
Are you looking for embedded-focused trainings? Head to agileembedded.academy/?utm_source=agile-embedd…
Ryan Torvik and Luca have started the Embedded AI podcast, check it out at embeddedaipodcast.com/?utm_source=agile-embedd…