I need to configure a component over I2C and the only DIO modules I have are the NI-9403 (slow, 32-channel) and NI-9401 (fast, 8 channel). I'm using the cRIO-9048. I have found this NI article about I2C communication. It says:
"I2C communication requires the device to tri-state the DIO lines on the fly. The 9401 is unable to do this without external hardware. NI thus recommends the 9402 for I2C communication."
So I can't use that package with my 9401, but can I use the 9403? I downloaded the package and dove into the subVIs a bit and found that the I/O is accessed inside a single-cycle timed loop. It seems the 9403 does not support use in a SCTL and changing it to a normal while loop doesn't seem to work (not surprising).
I managed to find another package called I2C Implementation in LabVIEW FPGA by NI, which seemed promising. Looking at the VIs it doesn't seem to rely on an SCTL. However, I can't seem to make it work - there are all sorts of "not executable" errors. Maybe I just haven't installed it correctly, or it's for an older version of labVIEW or hardware.
Am I out of luck? Can anyone recommend another LabVIEW I2C package that will work for me?