07-09-2021 11:10 AM
Yeah, the 'interface' class introduced in LV2020 is a boon to HAL/MAL.
With MAL/HAL you get flexibility but lose performance (you might have to implement instrument-specific redundant operations just for the sake of simplifying).
If you or your company is looking for a professional consultation and implementation, please contact me.
07-09-2021 03:12 PM
Thanks for the offer, though I'm a LabVIEW programmer myself just trying to learn. Seems like MAL is now easy and clean to implement with interfaces.
07-16-2021 02:05 PM
@crossrulz wrote:
@WavePacket wrote:
So, if I'm understanding things correctly the HAL is 1., and the MAL is 2 through 4?
Technically, 2 though 4 is the HAL. 1 is just a low lever driver. A MAL would be a "Read Spectrum" class that uses whatever instrument is required to take that measurement, whether it is an OSA, oscilloscope, etc. But this is all semantics.
Personally, I have not found a good way to actually do a MAL. So I would not worry too much about that.
Just thought that I would add that I'm getting convinced that MAL is achievable rather seamlessly using interfaces. As an example, you could have an interface with "Measure Voltage" as a method returning a double. Voltmeters, sourcemeters, o-scopes could all inherit from that interface and implement the method "Measure Voltage" as appropriate.
You could write your main test-software using just the interface. Seems like a MAL.