There are lots of features that users have requested for DAQmx over the years, the most obvious being better simulated devices but there are plenty.
And NI has been doing some good work open sourcing some LabVIEW features like the Icon Editor or Actor Framework.
This idea is to open source not the entirety of DAQmx, but just the LabVIEW function calls.
There are tons of features that we can implement today without needing to modify the DAQmx driver itself. For example, say I wanted to log all of my DAQmx Writes to a file- just modify the Writes function to check a debug setting and bang, now I have a debug file without editing my code.
Theoretically, I can go in the LVAddons folder and modify how I want a DAQmx Write to function, but anytime DAQmx updates I'll have to manually re-implement everything again.
We could also implement better simulated device handling. DAQmx Read could check if a device is simulated and, if so, read from a Queue instead of calling the DAQmx dll.
Or, better yet, you could have another config file somewhere that the code checks for custom runtime behavior. That file could have a DAQ device name and a behavior- maybe it reads from a queue; maybe it reads from an MQTT stream; maybe a TDMS file or a shared variable; it could be anything!
There are obviously a lot of kinks to work out. But, there's a build instruction for that code somewhere already, so if we could get that opened up we could start implementing some of these features people have asked for over the last couple decades.
Down the road, you could convert DAQmx to an OOP-based hierarchy and inherit from it for custom behavior, or integrate it into a HAL framework, or any number of things.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.