Michael Howard is a guest blogger. Michael works as a Principal Automation Test Engineer at Advanced Bionics and has been working with LabVIEW since LabVIEW 6i. The Automated Test Engineering (ATE) and Systems Test groups at Advanced Bionics are responsible for developing tests to verify the performance of the hardware and firmware systems used in AB’s Cochlear Implant systems. Michael is a LabVIEW Certified Associate Developer and one of two acting LabVIEW and TestStand Architects working for Advanced Bionics. He is responsible for introducing and implementing hardware and software engineering best practices for the ATE team. His latest achievements include implementing a Hardware Abstraction Layer and Measurement Abstraction Layer architecture along with Software Engineering best practices that reduced development times, emphasized code reuse, added scalability, simplified the development process and improved code quality.

This blog post contains information relevant to the presentation Fab and I are giving at NIWeek 2019, titled Simplifying your HAL with LVOOP and DQMH®. The bit.ly/NIWeek2019-DQMH-HAL takes you back to this post. You can find the code we used for the demonstrations in a Bitbucket repository.

Have you ever wanted to create a Hardware Abstraction Layer for measurement instrumentation but were unsure where or how to start? With all of the documentation available (White Papers, Blogs, PowerPoint Presentations), you are introduced to terminologies such as OOP, Dynamic Dispatch, and Hardware Abstraction. For some, putting all this together can be a daunting task. Well, there is good news: this post provides an answer to this task. With a simplified process and tools readily at your disposal, you can create decoupled reusable Hardware Abstraction Layer (HAL) components. You can clone the repository or download it as a zip file. The Readme file on the repository includes instructions on how to set up the code on your computer, such as installing DQMH and some additional instrument drivers. The attached document contains the step by step instructions to create the code that you can download from the repository. For the latest version of this document, see the one in the repository. We will walk you through how to create a HAL using a DMM class. When we are done, you will know exactly how to create a reusable DQMH DMM HAL that provides an API that works well in both LabVIEW and TestStand. Ready? Let us dive in.

Version as of May 31st, 2019

[download id=”2478″]

Initial version of the document:

[download id=”2461″]