/*
 * Matsusada ET-32 HVPS device support
 */

#include <epicsStdio.h>
#include <devCommonGpib.h>
#include <string.h>
#include <strings.h>

/******************************************************************************
 *
 * The following define statements are used to declare the names to be used
 * for the dset tables.   
 *
 * A DSET_AI entry must be declared here and referenced in an application
 * database description file even if the device provides no AI records.
 *
 ******************************************************************************/
#define DSET_AI     devAiET32
#define DSET_AO     devAoET32
#define DSET_BI     devBiET32
#define DSET_BO     devBoET32
#define DSET_EV     devEvET32
#define DSET_LI     devLiET32
#define DSET_LO     devLoET32
#define DSET_MBBI   devMbbiET32
#define DSET_MBBID  devMbbidET32
#define DSET_MBBO   devMbboET32
#define DSET_MBBOD  devMbbodET32
#define DSET_SI     devSiET32
#define DSET_SO     devSoET32
#define DSET_WF     devWfET32

#include <devGpib.h> /* must be included after DSET defines */

#define TIMEOUT     1.0    /* I/O must complete within this time */
#define TIMEWINDOW  2.0    /* Wait this long after device timeout */

# line 2 "devET32.gt"

/* static short get_onedata(char wa1[]);
static int rd_data(char wav[], short temp[]);
static int rd_wf_data(struct gpibDpvt *pdpvt,  int p1, int p2, char **p3);
*/
/*static int rd_efast_data(struct gpibDpvt *pdpvt,  int p1, int p2, char **p3);
 */

/******************************************************************************
 * Strings used by the init routines to fill in the znam,onam,...
 * fields in BI and BO record types.
 ******************************************************************************/
/*static char                *AcqStateList[] = { "STOP", "RUN" };
static struct devGpibNames AcqState = { 2, AcqStateList, 0, 1 };
*/
static char  *OnOffList[]={"Off","On"};   
static struct devGpibNames OnOffState ={2, OnOffList,0, 1};


/******************************************************************************
 * Structures used by the init routines to fill in the onst,twst,... and the
 * onvl,twvl,... fields in MBBI and MBBO record types.
 *
 * Note that the intExtSsBm and intExtSsBmStop structures use the same
 * intExtSsBmStopList and intExtSsBmStopVal lists but have a different number
 * of elements in them that they use... The intExtSsBm structure only represents
 * 4 elements,while the intExtSsBmStop structure represents 5.
 ******************************************************************************/


/******************************************************************************
 * String arrays for EFAST operations. The last entry must be 0.
 *
 * On input operations,only as many bytes as are found in the string array
 * elements are compared.  Additional bytes are ignored.
 * The first matching string  will be used as a match.
 *
 * For the input operations,the strings are compared literally!  This
 * can cause problems if the instrument is returning things like \r and \n
 * characters.  When defining input strings so you include them as well.
 ******************************************************************************/
static char *(OnOffout[])={"SW0\r","SW1\r,0"};

/******************************************************************************
 * Array of structures that define all GPIB messages
 * supported for this type of instrument.
 ******************************************************************************/

static struct gpibCmd gpibCmds[] = { 
  /* Command 0 All Remote */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#AL REN\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 1 All Local */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#AL GTL\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 2 All SW ON */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#AL SW1\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 3 All SW OFF */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#AL SW0\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 4 #0 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#0 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 5 #1 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#1 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 6 #2 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#2 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 7 #3 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#3 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 8 #4 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#4 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 9 #5 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#5 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 10 #6 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#6 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 11 #7 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#7 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 12 #8 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#8 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 13 #9 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#9 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 14 #10 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#10 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 15 #11 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#11 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 16 #12 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#12 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 17 #13 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#13 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 18 #14 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#14 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 19 #15 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#15 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 20 #16 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#16 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 21 #17 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#17 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 22 #18 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#18 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 23 #19 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#19 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 24 #20 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#20 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 25 #21 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#21 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 26 #22 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#22 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 27 #23 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#23 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 28 #24 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#24 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 29 #25 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#25 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 30 #26 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#26 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 31 #27 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#27 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
 /* Command 32 #28 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#28 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 33 #29 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#29 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 34 #30 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#30 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 35 #31 Voltage set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#31 VCN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 36 #0 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#0 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 37 #1 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#1 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 38 #2 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#2 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 39 #3 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#3 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 40 #4 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#4 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 41 #5 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#5 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 42 #6 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#6 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 43 #7 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#7 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 44 #8 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#8 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 45 #9 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#9 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 46 #10 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#10 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 47 #11 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#11 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 48 #12 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#12 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 49 #13 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#13 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 50 #14 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#14 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 51 #15 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#15 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 52 #16 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#16 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 53 #17 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#17 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 54 #18 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#18 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 55 #19 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#19 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 56 #20 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#20 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 57 #21 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#21 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 58 #22 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#22 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 59 #23 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#23 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 60 #24 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#24 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 61 #25 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#25 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 62 #26 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#26 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 63 #27 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#27 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 64 #28 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#28 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 65 #29 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#29 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 66 #30 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#30 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 67 #31 Voltage Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#31 VM\r","VM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 68 #0 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#0 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 69 #1 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#1 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 70 #2 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#2 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 71 #3 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#3 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 72 #4 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#4 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 73 #5 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#5 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 74 #6 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#6 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 75 #7 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#7 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 76 #8 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#8 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 77 #9 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#9 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 78 #10 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#10 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 79 #11 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#11 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 80 #12 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#12 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 81 #13 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#13 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 82 #14 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#14 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 83 #15 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#15 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 84 #16 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#16 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 85 #17 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#17 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 86 #18 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#18 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 87 #19 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#19 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 88 #20 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#20 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 89 #21 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#21 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 90 #22 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#22 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 91 #23 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#23 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 92 #24 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#24 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 93 #25 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#25 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 94 #26 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#26 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 95 #27 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#27 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 96 #28 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#28 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 97 #29 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#29 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 98 #30 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#30 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 99 #31 Current set */
  {&DSET_AO,GPIBWRITE,IB_Q_LOW,NULL,"#31 ICN %lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 100 #0 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#0 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 101 #1 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#1 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 102 #2 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#2 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 103 #3 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#3 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 104 #4 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#4 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 105 #5 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#5 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 106 #6 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#6 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 107 #7 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#7 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 108 #8 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#8 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 109 #9 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#9 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 110 #10 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#10 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 111 #11 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#11 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 112 #12 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#12 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 113 #13 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#13 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 114 #14 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#14 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 115 #15 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#15 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 116 #16 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#16 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 117 #17 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#17 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 118 #18 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#18 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 119 #19 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#19 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 120 #20 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#20 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 121 #21 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#21 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 122 #22 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#22 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 123 #23 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#23 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 124 #24 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#24 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 125 #25 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#25 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 126 #26 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#26 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 127 #27 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#27 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 128 #28 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#28 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 129 #29 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#29 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 130 #30 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#30 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 131 #31 Current Read */
  {&DSET_AI,GPIBREAD,IB_Q_LOW,"#31 IM\r","IM=%lf\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 132 #0 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#0 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 133 #1 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#1 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 134 #2 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#2 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 135 #3 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#3 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 136 #4 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#4 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 137 #5 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#5 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 138 #6 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#6 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 139 #7 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#7 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 140 #8 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#8 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 141 #9 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#9 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 142 #10 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#10 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 143 #11 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#11 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 144 #12 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#12 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 145 #13 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#13 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 146 #14 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#14 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 147 #15 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#15 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 148 #16 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#16 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 149 #17 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#17 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 150 #18 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#18 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 151 #19 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#19 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 152 #20 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#20 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 153 #21 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#21 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 154 #22 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#22 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 155 #23 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#23 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 156 #24 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#24 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 157 #25 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#25 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 158 #26 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#26 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 159 #27 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#27 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 160 #28 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#28 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 161 #29 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#29 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 162 #30 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#30 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 163 #31 SW On/Off */
  {&DSET_BO,GPIBWRITE,IB_Q_LOW,NULL,"#31 SW%ld\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 164 #0 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#0 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 165 #1 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#1 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 166 #2 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#2 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 167 #3 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#3 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 168 #4 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#4 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 169 #5 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#5 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 170 #6 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#6 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 171 #7 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#7 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 172 #8 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#8 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 173 #9 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#9 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 174 #10 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#10 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 175 #11 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#11 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 176 #12 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#12 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 177 #13 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#13 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 178 #14 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#14 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 179 #15 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#15 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 180 #16 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#16 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 181 #17 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#17 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 182 #18 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#18 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 183 #19 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#19 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 184 #20 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#20 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 185 #21 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#21 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 186 #22 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#22 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 187 #23 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#23 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 188 #24 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#24 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 189 #25 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#25 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 190 #26 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#26 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 191 #27 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#27 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 192 #28 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#28 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 193 #29 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#29 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 194 #30 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#30 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 195 #31 SW read */
  {&DSET_BI,GPIBREAD,IB_Q_LOW,"#31 SW?\r","SW%d\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 196 #0 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#0 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 197 #1 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#1 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 198 #2 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#2 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 199 #3 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#3 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 200 #4 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#4 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 201 #5 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#5 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 202 #6 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#6 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 203 #7 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#7 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 204 #8 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#8 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 205 #9 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#9 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 206 #10 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#10 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 207 #11 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#11 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 208 #12 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#12 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 209 #13 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#13 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 210 #14 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#14 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 211 #15 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#15 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 212 #16 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#16 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 213 #17 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#17 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 214 #18 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#18 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 215 #19 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#19 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 216 #20 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#20 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 217 #21 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#21 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 218 #22 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#22 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 219 #23 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#23 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 220 #24 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#24 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 221 #25 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#25 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 222 #26 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#26 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 223 #27 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#27 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 224 #28 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#28 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 225 #29 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#29 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 226 #30 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#30 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 227 #31 Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#31 RST\r",0,127,NULL,0,0,NULL,NULL,NULL},
  /* Command 228 ALL Reset */
  {&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"#AL RST\r",0,127,NULL,0,0,NULL,NULL,NULL},

  
};




/* The following is the number of elements in the command array above.  */
#define NUMPARAMS sizeof(gpibCmds)/sizeof(struct gpibCmd)

/******************************************************************************
 * Initialize device support parameters
 *
 *****************************************************************************/
static long init_ai(int parm)
{
    if(parm==0) {
        devSupParms.name = "devET32";
        devSupParms.gpibCmds = gpibCmds;
        devSupParms.numparams = NUMPARAMS;
        devSupParms.timeout = TIMEOUT;
        devSupParms.timeWindow = TIMEWINDOW;
        devSupParms.respond2Writes = -1;
    }
    return(0);
}

/******************************************************************************
 *
 * c code
 *
 *****************************************************************************/
# line 60 "devET32.gt"