I created an IVI Spectrum Analyzer driver using the Instrument Driver Development Wizard. When it uses the viQueryf function, I get a NULL value returned.
For example:
static ViStatus _VI_FUNC hp856xEAttrMarkerAmplitude_ReadCallback (ViSession vi,
ViSession io,
ViConstString channelName,
ViAttr attributeId,
ViReal64 *value)
{
ViStatus error = VI_SUCCESS;
ViChar rdBuffer[BUFFER_SIZE];
ViUInt32 retCnt;
viCheckErr( viPrintf (io, "MKA?"));
viCheckErr( viRead (io, rdBuffer, BUFFER_SIZE-1, &retCnt)); // This works!!
viCheckErr (viQueryf (io, "MKA?", "%lf", &value)); // This doesn't
Error:
return error;
}
If I use the NI-488.2 Communicator, the query function works fine. I have LabWindows 7.1.1 and NI-Visa 3.3.1. Does anyone have any ideas why the viQueryf function might not be working?
Thanks for your help!