Technical data

Sample Programs 35
Agilent Infiniium 90000 Series Oscilloscopes Programmer's Reference 987
printf("IEEE block buffer full: ");
printf("May not have received all data.\n");
}
check_instrument_errors();
return(data_length);
}
/* Query for an IEEE definite-length word block result.
* --------------------------------------------------------------- */
int do_query_ieeeblock_words(query)
char *query;
{
char message[80];
int data_length;
strcpy(message, query);
strcat(message, "\n");
err = viPrintf(vi, message);
if (err != VI_SUCCESS) error_handler();
data_length = IEEEBLOCK_SPACE;
err = viScanf(vi, "%#hb\n", &data_length, ieeeblock_data_words);
if (err != VI_SUCCESS) error_handler();
if (data_length == IEEEBLOCK_SPACE )
{
printf("IEEE block buffer full: ");
printf("May not have received all data.\n");
}
check_instrument_errors();
return(data_length);
}
/* Check for instrument errors.
* --------------------------------------------------------------- */
void check_instrument_errors()
{
char str_err_val[256] = {0};
char str_out[800] = "";
err = viQueryf(vi, ":SYSTem:ERRor? STRing\n", "%t", str_err_val);
if (err != VI_SUCCESS) error_handler();
while(strncmp(str_err_val, "0,", 2) != 0 )
{
strcat(str_out, ", ");
strcat(str_out, str_err_val);
err = viQueryf(vi, ":SYSTem:ERRor? STRing\n", "%t", str_err_val);
if (err != VI_SUCCESS) error_handler();
}
if (strcmp(str_out, "") != 0)
{
printf("INST Error%s\n", str_out);