I’m in the final stages of packaging up a new version of the Measurement Abstraction System I frequently reference in this blog, so I figured I’d take a break from implementation and documentation to tease some of the new capabilities I’m excited to share with you.
As always, I’ve let the feedback and questions I receive from customers guide my focus. For this new version, I’m focused on the following:
- Distributed Measurement Control: the controller can remotely control an arbitrary number of measurement systems, each with their own unique hardware resources available locally. As always, the controller can load new measurements at runtime, except now they can be pushed down to a remote client for execution. This implementation uses a combination of TCP/IP and the Linked Network Actor.
- Improved UI Extensibility: I learned a lot in the course of trying to derive a client UI and a server UI from common elements, which drove a major refactoring effort for some of the framework code. The result is that it’s much easier to extend and add capabilities to the UIs in this system.
- Improved Framework: this is an underlying detail, but if your interest in this system is being driven by a desire to examine the low-level detail, I have invested in restructuring the organization of components to ensure better scalability. The downside is that I broke backwards compatibility.
Next on my list
- Hardware templates: similar to the measurement template, this would make it easy to define and script a new hardware device
- Wirebird Labs Deploy: I hope to use this to make it possible to push updates, especially from the server to the client(s)
- Multiple results views: A single acquisition may need to be displayed in multiple formats
Code to be posted soon!