HP (Hewlett-Packard) AHA-8940 Network Router User Manual


 
VXI Programming Using the IEEE 1394 Serial Bus 41Chapter 3
// set an immediate trigger
errStatus = hpe1563_trigEvent(vi, 1, hpe1563_TRIG_IMM, 0.0);
check(vi, errStatus);
// set the minimum sample period
errStatus = hpe1563_sampTim(vi, hpe1563_SAMP_TIM_MIN);
check(vi, errStatus);
// disable digitizer error detection
hpe1563_errorQueryDetect(vi, 0);
// initiate the digitizer
errStatus = hpe1563_initImm(vi);
// pause 78 ms (1.3e-6 * 60000) to allow readings to complete
Sleep (78);
// transfer the (60,000) readings from the digitizer using the VISA
// function viMoveIn32 - use the same session name (vi) opened for
// VXIplug&play
err = viMoveIn32(vi, VI_A16_SPACE, 0x08, 60000, (ViPUInt32)rdgs);
if(err < VI_SUCCESS) err_handler(vi, err);
// confirm readings transferred are valid
dataPtr = (ViInt16 *)rdgs;
// query digitizer reading range
errStatus = hpe1563_range_Q(vi, 1, &range);
printf("Reading samples are:\n\n");
for (i=0; i<10; i+=2)
{
printf("%lf\n\n",dataPtr[i]*range/32768);
}
// reset digitizer following the transfer
errStatus = hpe1563_reset(vi);
// close the device session
hpe1563_close(vi);// HP VXIplug&play session
}
//************************************************************
// error checking routine
void check (ViSession vi, ViStatus errStatus)
{
ViInt32 inst_err;
ViChar err_message[256];
if(VI_SUCCESS > errStatus)
{
if(hpe1563_INSTR_ERROR_DETECTED == errStatus)
{