From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

VXI and VME

cancel
Showing results for 
Search instead for 
Did you mean: 

viPeek Loop for Reading Data from E1437A

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?

 

0 Kudos
Message 1 of 1
(3,720 Views)