I am trying to read data from an E1437A using viPeek in a loop but I do not know how the purpose of the accessible registers.
One of the systems I am working on has several E1437A Digitizers in a VXI chassis with an VXI-PCI MXI-2 interface. The system runs CentOS 4 and works fine.
I have an an identical system that worked fine, however, I am required to upgrade the OS to CentOS 7. Since the VXI driver is no longer supported I modified the VXI kernel module. I can successfully perform simple read/write to the instruments including the E1437A.
The problem is when the viMove routine is called the system hangs. Using IOTrace I can see that the call never returns. Reading the forums I have encountered several posts regarding possible solutions but none have worked for me.
Using viMapAddress I can only map 64 registers. I am able to read the contents of the registers using the viPeek call. Since the E1437A stores data in a FIFO I am assuming (the manual does not specify) that I can read one of the registers in a loop and the register will update with new data after every viPeek call. I have set the attributes such that the source address does not increment after every read. So far I seem to be reading the same value.
Has anyone else performed a similar viPeek loop for data or can explain how to access the FIFO without a viMove?