From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

hp3458a_revision_query issue

We're using a NI driver for the HP3458A DMM from LabWindows/CVI. The source file is hp3458a.c. The function hp3458a_revision_query() throws an exception. The following line in this function appears to be the culprit:

 

checkErr( Ivi_GetAttributeViString (vi, "", HP3458A_ATTR_INSTRUMENT_FIRMWARE_REVISION, 0, 256, instrRev));

 

If we comment out this line and rebuild the driver, the issue goes away. The preceding line, which queries a different attribute using the same function, seems to work fine:

 

checkErr( Ivi_GetAttributeViString (vi, VI_NULL, HP3458A_ATTR_SPECIFIC_DRIVER_REVISION, 0, 256, driverRev));

 

So the issue seems to have something to do with the "firmware revision" attribute. Commenting out the offending line is an acceptable workaround, but we'd like to include the "firmware revision" information in our reporting process as well, if possible. Is there possibly a fix for this issue?

 

Note: Changing the second argument from "" to VI_NULL does not help.

 

Thanks!

 

0 Kudos
Message 1 of 5
(4,435 Views)

@Barry_Wealand wrote:

We're using a NI driver for the HP3458A DMM from LabWindows/CVI. The source file is hp3458a.c. The function hp3458a_revision_query() throws an exception. The following line in this function appears to be the culprit:

 

checkErr( Ivi_GetAttributeViString (vi, "", HP3458A_ATTR_INSTRUMENT_FIRMWARE_REVISION, 0, 256, instrRev));

 

If we comment out this line and rebuild the driver, the issue goes away. The preceding line, which queries a different attribute using the same function, seems to work fine:

 

checkErr( Ivi_GetAttributeViString (vi, VI_NULL, HP3458A_ATTR_SPECIFIC_DRIVER_REVISION, 0, 256, driverRev));

 

So the issue seems to have something to do with the "firmware revision" attribute. Commenting out the offending line is an acceptable workaround, but we'd like to include the "firmware revision" information in our reporting process as well, if possible. Is there possibly a fix for this issue?

 

Note: Changing the second argument from "" to VI_NULL does not help.

 

Thanks!

 


HP3458A_ATTR_INSTRUMENT_FIRMWARE_REVISION is a constant as is HP3458A_ATTR_SPECIFIC_DRIVER_REVISION

 

 

0 Kudos
Message 2 of 5
(4,427 Views)

Yes, understood. It is indeed a little puzzling as to why one constant would work fine and the other would throw an exception...

 

0 Kudos
Message 3 of 5
(4,419 Views)

Because your firmware is different.

 

May be possible to verify with front panel keystrokes.

0 Kudos
Message 4 of 5
(4,412 Views)

The difference is probably that HP3458A_ATTR_SPECIFIC_DRIVER_REVISION can be set internally by the driver but HP3458A_ATTR_INSTRUMENT_FIRMWARE_REVISION has to be queried from the instrument. Running  NI IO-Trace might give you an idea, what is going wrong.

0 Kudos
Message 5 of 5
(4,394 Views)