/* devSkidel.c */
/*
* Author: Makoto Tobiyama
* Date: 28/Jul/2017
*/
#include <epicsStdio.h>
#include <devCommonGpib.h>
#include <string.h>
#include <strings.h>
/***********************************************************************
* asynDriver is distributed subject to a Software License Agreement
* found in file LICENSE that is included with this distribution.
***********************************************************************/
| #define | DSET_AI | | devAiSKIDEL |
| #define | DSET_AO | | devAoSKIDEL |
| #define | DSET_BI | | devBiSKIDEL |
| #define | DSET_BO | | devBoSKIDEL |
| #define | DSET_LI | | devLiSKIDEL |
| #define | DSET_LO | | devLoSKIDEL |
| #define | DSET_MBBO | devMbboSKIDEL |
| #define | DSET_MBBI | devMbbiSKIDEL |
| #define | DSET_MBBOD | devMbbodSKIDEL |
| #define | DSET_MBBID | devMbbidSKIDEL |
| #define | DSET_SI | | devSiSKIDEL |
| #define | DSET_SO | | devSoSKIDEL |
#include <devGpib.h> /* must be included after DSET defines */
#define TIMEOUT 0.01 /* I/O must complete within this time */
#define TIMEWINDOW 0.001 /* Wait this long after device timeout */
/*
* Define end-of-string character(s) here to allow
* easier changes when testing the driver.
*/
static char *OnOffList[]={"ON","OFF"};
static struct devGpibNames OnOffState={2, OnOffList,0,1};
static char *(CH01OnOffState[])={"CH01:ON\n","CH01:OFF\n",0};
static char *(CH02OnOffState[])={"CH02:ON\n","CH02:OFF\n",0};
static char *(CH03OnOffState[])={"CH03:ON\n","CH03:OFF\n",0};
static char *(CH04OnOffState[])={"CH04:ON\n","CH04:OFF\n",0};
static char *(CH05OnOffState[])={"CH05:ON\n","CH05:OFF\n",0};
static char *(CH06OnOffState[])={"CH06:ON\n","CH06:OFF\n",0};
static char *(CH07OnOffState[])={"CH07:ON\n","CH07:OFF\n",0};
static char *(CH08OnOffState[])={"CH08:ON\n","CH08:OFF\n",0};
static char *(CH09OnOffState[])={"CH09:ON\n","CH09:OFF\n",0};
static char *(CH10OnOffState[])={"CH10:ON\n","CH10:OFF\n",0};
static char *(CH11OnOffState[])={"CH11:ON\n","CH11:OFF\n",0};
static char *(CH12OnOffState[])={"CH12:ON\n","CH12:OFF\n",0};
static char *(CH13OnOffState[])={"CH13:ON\n","CH13:OFF\n",0};
static char *(CH14OnOffState[])={"CH14:ON\n","CH14:OFF\n",0};
static char *(CH15OnOffState[])={"CH15:ON\n","CH15:OFF\n",0};
static char *(CH16OnOffState[])={"CH16:ON\n","CH16:OFF\n",0};
static char *(CH17OnOffState[])={"CH17:ON\n","CH17OFF\n",0};
static char *(CH18OnOffState[])={"CH18:ON\n","CH18:OFF\n",0};
static char *(CH19OnOffState[])={"CH19:ON\n","CH19:OFF\n",0};
static char *(CH20OnOffState[])={"CH20:ON\n","CH20:OFF\n",0};
static char *(CH21OnOffState[])={"CH21:ON\n","CH21:OFF\n",0};
static char *(CH22OnOffState[])={"CH22:ON\n","CH22:OFF\n",0};
static char *(CH23OnOffState[])={"CH23:ON\n","CH23:OFF\n",0};
static char *(CH24OnOffState[])={"CH24:ON\n","CH24:OFF\n",0};
static char *(CH25OnOffState[])={"CH25:ON\n","CH25:OFF\n",0};
static char *(CH26OnOffState[])={"CH26:ON\n","CH26:OFF\n",0};
static char *(CH27OnOffState[])={"CH27:ON\n","CH27:OFF\n",0};
static char *(CH28OnOffState[])={"CH28:ON\n","CH28OFF\n",0};
static char *(CH29OnOffState[])={"CH29:ON\n","CH29:OFF\n",0};
static char *(CH30OnOffState[])={"CH30:ON\n","CH30:OFF\n",0};
static char *(CH31OnOffState[])={"CH31:ON\n","CH31:OFF\n",0};
static char *(CH32OnOffState[])={"CH32:ON\n","CH32:OFF\n",0};
static char *(ROnOffState[])={"ON","OFF",0};
#define EOSNL NULL
static struct gpibCmd gpibCmds[] = {
/* Command 0 ch1 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH01:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 1 ch1 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH01:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 2 ch1 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH01:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 3 ch1 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH01:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 4 ch1 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH01OnOffState, &OnOffState, EOSNL},
/* Command 5 ch1 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH01?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 6 ch2 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH02:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 7 ch2 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH02:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 8 ch2 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH02:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 9 ch2 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH02:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 10 ch2 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH02OnOffState, &OnOffState, EOSNL},
/* Command 11 ch2 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH02?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 12 ch3 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH03:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 13 ch3 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH03:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 14 ch3 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH03:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 15 ch3 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH03:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 16 ch3 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH03OnOffState, &OnOffState, EOSNL},
/* Command 17 ch3 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH03?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 18 ch4 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH04:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 19 ch4 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH04:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 20 ch4 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH04:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 21 ch4 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH04:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 22 ch4 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH04OnOffState, &OnOffState, EOSNL},
/* Command 23 ch4 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH04?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 24 ch5 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH05:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 25 ch5 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH05:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 26 ch5 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH05:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 27 ch5 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH05:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 28 ch5 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH05OnOffState, &OnOffState, EOSNL},
/* Command 29 ch5 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH05?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 30 ch6 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH06:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 31 ch6 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH06:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 32 ch6 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH06:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 33 ch6 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH06:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 34 ch6 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH06OnOffState, &OnOffState, EOSNL},
/* Command 35 ch6 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH06?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 36 CH07 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH07:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 37 CH07 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH07:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 38 CH07 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH07:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 39 CH07 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH07:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 40 CH07 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH07OnOffState, &OnOffState, EOSNL},
/* Command 41 CH07 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH07?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 42 CH08 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH08:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 43 CH08 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH08:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 44 CH08 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH08:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 45 CH08 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH08:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 46 CH08 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH08OnOffState, &OnOffState, EOSNL},
/* Command 47 CH08 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH08?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 48 CH09 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH09:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 49 CH09 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH09:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 50 CH09 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH09:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 51 CH09 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH09:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 52 CH09 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH09OnOffState, &OnOffState, EOSNL},
/* Command 53 CH09 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH09?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 54 CH10 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH10:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 55 CH10 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH10:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 56 CH10 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH10:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 57 CH10 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH10:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 58 CH10 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH10OnOffState, &OnOffState, EOSNL},
/* Command 59 CH10 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH10?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 60 CH11 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH11:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 61 CH11 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH11:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 62 CH11 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH11:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 63 CH11 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH11:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 64 CH11 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH11OnOffState, &OnOffState, EOSNL},
/* Command 65 CH11 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH11?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 66 CH12 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH12:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 67 CH12 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH12:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 68 CH12 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH12:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 69 CH12 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH12:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 70 CH12 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH12OnOffState, &OnOffState, EOSNL},
/* Command 71 CH12 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH12?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 72 CH13 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH13:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 73 CH13 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH13:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 74 CH13 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH13:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 75 CH13 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH13:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 76 CH13 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH13OnOffState, &OnOffState, EOSNL},
/* Command 77 CH13 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH13?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 78 CH14 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH14:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 79 CH14 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH14:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 80 CH14 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH14:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 81 CH14 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH14:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 82 CH14 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH14OnOffState, &OnOffState, EOSNL},
/* Command 83 CH14 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH14?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 84 CH15 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH15:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 85 CH15 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH15:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 86 CH15 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH15:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 87 CH15 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH15:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 88 CH15 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH15OnOffState, &OnOffState, EOSNL},
/* Command 89 CH15 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH15?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 90 CH16 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH16:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 91 CH16 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH16:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 92 CH16 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH16:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 93 CH16 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH16:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 94 CH16 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH16OnOffState, &OnOffState, EOSNL},
/* Command 95 CH16 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH16?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 96 CH17 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH17:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 97 CH17 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH17:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 98 CH17 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH17:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 99 CH17 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH17:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 100 CH17 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH17OnOffState, &OnOffState, EOSNL},
/* Command 101 CH17 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH17?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 102 CH18 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH18:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 103 CH18 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH18:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 104 CH18 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH18:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 105 CH18 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH18:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 106 CH18 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH18OnOffState, &OnOffState, EOSNL},
/* Command 107 CH18 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH18?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 108 CH19 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH19:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 109 CH19 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH19:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 110 CH19 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH19:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 111 CH19 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH19:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 112 CH19 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH19OnOffState, &OnOffState, EOSNL},
/* Command 113 CH19 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH19?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 114 CH20 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH20:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 115 CH20 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH20:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 116 CH20 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH20:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 117 CH20 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH20:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 118 CH20 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH20OnOffState, &OnOffState, EOSNL},
/* Command 119 CH20 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH20?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 120 CH21 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH21:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 121 CH21 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH21:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 122 CH21 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH21:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 123 CH21 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH21:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 124 CH21 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH21OnOffState, &OnOffState, EOSNL},
/* Command 125 CH21 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH21?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 126 CH22 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH22:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 127 CH22 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH22:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 128 CH22 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH22:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 129 CH22 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH22:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 130 CH22 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH22OnOffState, &OnOffState, EOSNL},
/* Command 131 CH22 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH22?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 132 CH23 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH23:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 133 CH23 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH23:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 134 CH23 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH23:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 135 CH23 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH23:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 136 CH23 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH23OnOffState, &OnOffState, EOSNL},
/* Command 137 CH23 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH23?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 138 CH24 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH24:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 139 CH24 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH24:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 140 CH24 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH24:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 141 CH24 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH24:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 142 CH24 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH24OnOffState, &OnOffState, EOSNL},
/* Command 143 CH24 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH24?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 144 CH25 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH25:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 145 CH25 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH25:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 146 CH25 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH25:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 147 CH25 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH25:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 148 CH25 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH25OnOffState, &OnOffState, EOSNL},
/* Command 149 CH25 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH25?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 150 CH26 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH26:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 151 CH26 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH26:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 152 CH26 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH26:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 153 CH26 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH26:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 154 CH26 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH26OnOffState, &OnOffState, EOSNL},
/* Command 155 CH26 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH26?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 156 CH27 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH27:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 157 CH27 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH27:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 158 CH27 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH27:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 159 CH27 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH27:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 160 CH27 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH27OnOffState, &OnOffState, EOSNL},
/* Command 161 CH27 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH27?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 162 CH28 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH28:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 163 CH28 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH28:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 164 CH28 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH28:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 165 CH28 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH28:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 166 CH28 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH28OnOffState, &OnOffState, EOSNL},
/* Command 167 CH28 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH28?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 168 CH29 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH29:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 169 CH29 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH29:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 170 CH29 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH29:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 171 CH29 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH29:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 172 CH29 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH29OnOffState, &OnOffState, EOSNL},
/* Command 173 CH29 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH29?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 174 CH30 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH30:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 175 CH30 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH30:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 176 CH30 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH30:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 177 CH30 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH30:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 178 CH30 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH30OnOffState, &OnOffState, EOSNL},
/* Command 179 CH30 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH30?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 180 CH31 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH31:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 181 CH31 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH31:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 182 CH31 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH31:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 183 CH31 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH31:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 184 CH31 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH31OnOffState, &OnOffState, EOSNL},
/* Command 185 CH31 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH31?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 186 CH32 delay set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH32:DEL %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 187 CH32 delay read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH32:DEL?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 188 CH32 width set */
{&DSET_LO, GPIBWRITE, IB_Q_LOW, NULL, "CH32:WID %ld\n", 0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 189 CH32 width read */
{&DSET_LI, GPIBREAD, IB_Q_LOW, "CH32:WID?\n","%ld\n", 0, 2047, NULL, 0, 0, NULL,NULL, EOSNL},
/* Command 190 CH32 enable/disable set */
{&DSET_BO, GPIBEFASTO, IB_Q_LOW, NULL, NULL, 0, 2047, NULL, 0, 0,CH32OnOffState, &OnOffState, EOSNL},
/* Command 191 CH32 on/off read */
{&DSET_BI, GPIBEFASTI, IB_Q_LOW,"CH32?\n",NULL, 0, 2047, NULL, 0, 0, ROnOffState, &OnOffState, EOSNL},
/* Command 192 EP195 set */
{&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"EXTD %ld\n",0, 2047, NULL, 0,0, NULL, NULL, EOSNL},
/* Command 193 EP195 read */
{&DSET_LI,GPIBREAD,IB_Q_LOW,"EXTD?\n","%ld\n",0, 2047, NULL, 0, 0, NULL, NULL, EOSNL},
/* Command 194 save */
{&DSET_LO,GPIBWRITE,IB_Q_LOW,NULL,"SAV\n",0,2047,NULL, 0, 0, NULL, NULL, EOSNL}
};
/* The following is the number of elements in the command array above. */
| #define NUMPARAMS | sizeof(gpibCmds)/sizeof(struct gpibCmd) |
/******************************************************************************
*
* Initialization for device support
* This is called one time before any records are initialized with a parm
* value of 0. And then again AFTER all record-level init is complete
* with a param value of 1.
*
******************************************************************************/
static long init_ai(int parm)
{
if(parm==0) {
devSupParms.name = "devSKIDEL";
devSupParms.gpibCmds = gpibCmds;
devSupParms.numparams = NUMPARAMS;
devSupParms.timeout = TIMEOUT;
devSupParms.timeWindow = TIMEWINDOW;
devSupParms.respond2Writes = -1.0;
}
return(0);
}