For the Sound and Vibration Measurement Hat for Raspberry Pi road test, I'm reviewing Measurement Computing's IEPE Measurement DAQ HAT for Raspberry Pi. |
I'm not 100% new to this. I wrote a SCPI service for a Pi before, a two channel Lab Switch: SCPI on a Linux Board. That design is simpler, but there's a significant part of infrastructure and groundwork that I can reuse.
Software Components
There will be 3 modules.
- an instrument service in c++, on the Pi, that uses low level commands to control the DAQ over TCP/IP. Can be used in its raw form.
- a SCPI service in c, also running on the Pi, that allows to talk SCPI to the instrument. It 'll be a bridge between LabVIEW and the instrument service.
- a LabVIEW instrument driver that knows how to automate the DAQ. Runs on the test PC and sends the commands to the Pi over TCP/IP.
Then, there 'll be some support work:
- service wrappers and setup instructions, so that the instrument runs as daemon and is available upon boot.
- example LabVIEW flows as training material
- a real showcase with the vibration test gizmo I'm making for this road test.
Borrowed components:
- the daqhat vendor library
- a SCPI parser library from Jan Breuer that I use often
- the BOOST Socket API.
For most of this, I know how to do it. One aspect that I'm not familiar with, is how to stream big data results to a LabVIEW client. I will try to learn and implement that, but no promises.
image: preview snippet from the custom LabVIEW driver for this instrument: the comms initialisation.
Repository
The code is available, in a very premature form, on my github. I'll keep updating it as I go. You can take a peek.
Currently, there are two subfolders for the Pi service projects. I don't know yet if I'll use github for the LabVIEW driver.
Because this is an extensive task, I will not take feature requests :). I'll take help and advice (and contributions) though.
Preview (April 7, 22)
Minimal functionality works for both services. The system knows how to enable the auxiliary power supplies and query their status:
image: active debug session, with the DAQ:IEPe#? and DAQ:IEPe# commands working
Top Comments