LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Bug introduced between NI-VISA 3.2 and 3.5 or later?

Bug introduced between NI-VISA 3.2 and 3.5 or later?

 

 

Hi,

 

I believe there is a bug in NI-VISA versions 3.5+ where when using the ‘Driver Development Wizard’ to generate a ‘Read/Compare Equals’ sequence for interrupt detection, the ‘Compare Mask’ and ‘Value to write or compare’ fields get interchanged once the driver is running (i.e. what is written under mask becomes the value and what is written under value becomes the mask).

 

I have ported our Firewire driver to LabWindows 7.1.1 Real-Time and NI-VISA 3.2/3.1

I have tested it on my local pc and on a PXI with Pharlaps ETS without encountering problems.

 

It is required to work under NI-VISA 3.5 but we have a problem with the interrupts. After a lot of testing, I found out it came from the fact that the interrupt was never received and cleared. For each interrupt, we used this kind of sequence:

 

Sequence 0

Read compare equal

bar0 offset 0x84

0x00220000 -> mask (we need to make sure the bit 17 is not there)

0x00200000 -> result needed

 

But, we could not receive the interrupt anymore. Later, we tried this:

Sequence 0

Read compare equal

bar0 offset 0x84

0x00200000 -> mask

0x00220000 -> result

 

Moving the mask in the result seems to work. I did not see this error reported in the forum, the knowledge base or the readme file of NI-VISA. I suppose that most users have the same value in the mask and result fields.

 

Here is my working inf ini file.

 

Note : I have also tested and found this bug in NI-VISA 4.2

0 Kudos
Message 1 of 8
(4,112 Views)
Hi frank1,

I have a few questions regarding your program.

Was Window XP being used on the local PC during testing?
After moving the mask and result in the code, is the program working properly?

If it you could acquire a NI-Spy capture of a working 3.2 version of VISA and a 4.2 version of VISA,  it might give us some insight as to what driver call in the new version of VISA is not working as the old version did. ?  Click here to reference a knowledgebase on performing a good NI-Spy capture. 

Regards,

Andy L.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 8
(4,054 Views)
Hi Indy
 
 
My test was on my windows xp based local computer and on the Phar laps Ets Labview Real-Time computer.
 
Yes, my program is now working properly with the mask and the value interchanged on my local and the remote pc. This inf file is available in my first post.
 
I have made an NI-SPY on my local pc with NI-VISA 3.5 and the inf file of my first post. Do you need the NI-SPY of 4.2 with the interchanged value or without the interchanged value? And for 3.2 ?
 
Regards,
 
 
François Cousineau
0 Kudos
Message 3 of 8
(4,033 Views)
Hi frank1,
 
If you could provide an NI-Spy capture without the interchanged values using VISA 4.2 and a NI-Spy capture using the same unchanged code using VISA 3.2 that would be great.  This will allow us to compare the driver calls and see what is different from VISA 3.2 and 4.2.  Thanks for your help. 
 
Regards,

 
 
Andy L.
Applications Engineer
National Instruments
0 Kudos
Message 4 of 8
(4,004 Views)

Here is the NI-spy with ni-visa 3.2 and 4.2. I have also included the ini file used.

0 Kudos
Message 5 of 8
(3,977 Views)

frank1,

Thanks, I have passed all the info to R&D and they're looking into it. 

Regards,

Andy L.
Applications Engineer
National Instruments
0 Kudos
Message 6 of 8
(3,933 Views)

frank1,

Thanks for the help; we apologize for any inconvenience this might have caused you.  The bug has been fixed with id 4DKBD6JW, and will ship in NI-VISA 4.3

Regards,

Andy L.
Applications Engineer
National Instruments
0 Kudos
Message 7 of 8
(3,837 Views)

frank1,

The bug fix included switching the mask and value back to the correct order.  So if or when you upgrade to NI-VISA 4.3, you will have to change them back to work properly. 

Regards

Andy L.
Applications Engineer
National Instruments
0 Kudos
Message 8 of 8
(3,793 Views)