Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Aardvark I2C R/W limitations

I would like to read and write a specific register on an I2C slave device (7-bit address) with a TP240141 Aardvark I2C/SPI Host Adapter.

 

The LabVIEW (and dll) functions do not have separate device address and register address inputs, so how can I designate a specific register to R/W?
   Aardvark I2C Read Ext.vi (aardvark.dll:c_aa_i2c_read_ext)
   Aardvark I2C Write Ext.vi (aardvark.dll:c_aa_i2c_write_ext)

 

I currently have the Aardvark connected to an IC with an I2C interface, and I've verified that the IC is functional with another adapter. The other adapter is not compatible with an updated board design, so I would like to switch to the Aardvark.

 

I have reached out to Total Phase for technical support, and searched the NI forums. The Aardvark has been on the market for over a decade, so I'm sure others have run into this problem.

 

Any tips or examples appreciated!!!

 

LabVIEW 2025Q3
TotalPhaseUSB-v4.0.0
aardvark-labview-x86_64-v5.30

0 Kudos
Message 1 of 5
(230 Views)

Hi SamBroyles,

 

Do you manage to get the answer you want?

I have the same issue that I want to read a specific register and the Aardvark Labview library doesn't have it. 

 

 

0 Kudos
Message 2 of 5
(77 Views)

chngveez

 

Unfortunately, I still don't have an answer to this issue. Total Phase responded that they will update the LabVIEW driver, but they did not commit to a release date.

 

I've been using a very cheap USB/I2C adapter for simple read/write operations. It's just $5 on Amazon. 

CH341A

http://www.lctech-inc.com/cpzx/2/ckmk/2019/0111/114.html

https://www.wch-ic.com/downloads/CH341PAR_EXE.html

 


Best Regards,

Sam Broyles

0 Kudos
Message 3 of 5
(56 Views)

My one is more expensive than that, but it doesn't matter, we both have the same issue.

 

I have one issue here, I can use control center software from total phase to obtain data. However, I get no data in LabView, even though I set everything the same like the total phase software did.

 

Do you experience the issues? I understand you can't read single register's data. But how about all the register's data? 

 

Thanks!

 

 

0 Kudos
Message 4 of 5
(44 Views)

never mind, I figured it out. 

And I figured out as well now to read specific registers. 

You will just need to Write the register address(for example: 0xDF) in "Data to Write" in Write.vi, then Read it in Read.vi.

The first index in the incoming Array data will be the data for that register address. 

 

In case you are still looking for answer. 

0 Kudos
Message 5 of 5
(32 Views)