//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)

{

/* query instrument error */

hpe1563_dcl(vi);/* send a device clear */ hpe1563_error_query(vi, &inst_err, err_message); /* display the error */

printf("Instrument Error : %ld, %s\n", inst_err, err_message);

}

else

{

/* get driver error message */

hpe1563_error_message(vi, errStatus, err_message); /* display the error */

printf("HP E1563 Driver Error : %ld, %s\n", errStatus, err_message);

}

hpe1563_reset(vi);/* reset the digitizer */ hpe1563_close(vi);/* close the digitizer handle */

exit(1);

}

return;

}

Comments

1.The maximum block transfer size allowed by the HP E1563A hpe1563_fetchAll_Q function is 2,000 bytes.

2.This manual is included on the HP I_O Libraries CD. By viewing the manual from the CD, you can cut and paste this program into your development environment.

3.The section “Using HP E8491A Shared Memory” contains an example of block data transfers using HP SICL.

Chapter 3

VXI Programming Using the IEEE 1394 Serial Bus 39