LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Best practice for encoding and decoding DUT/UUT registers? Class? Cluster? Strings? Bitbanging?

I am architectecting a LabVIEW system to charactarize silicon devices.  I am trying to decide the best way to enqueue, encode, and decode device commands executed by my test system.

 

For example, a ADC or DAC device might come in both I2C and SPI flavors (same part, different interface) and have a large register map which can be represented as register names or the actual binrary value of it's address. 

 

I would like my data structure to

*) be protocol agnostic

*) have the flexibility to program using either the memonics or hard coded addresses

*) be agnostic to the hardware which executes the command. (

*) I would like to enqueue mulitple commands in a row.

 

I am thinking a detailed class is my best bet, but are there are examples or best practices already established?

0 Kudos
Message 1 of 2
(2,200 Views)

I agree on the detailed class inherited from a general DUT-class. Especially if you want to mix interfaces you need to keep those as far away from your top vi as possible. 🙂

As to the 4th point i'd implement command-vi's as enque and have a in-class command-queue (or possibly just an array of commands).

/Y

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 2 of 2
(2,178 Views)