X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/rigol/blobdiff_plain/c399a4575976d9f60f2fa8b70939413c9afdf3ae..483a564bf0578b64b25c68ffabdfdc0fb9f0f2b7:/usbtmc.h diff --git a/usbtmc.h b/usbtmc.h index 519012e..1fa1046 100644 --- a/usbtmc.h +++ b/usbtmc.h @@ -11,6 +11,19 @@ struct usbtmc_header { unsigned char msg[]; } __attribute__ ((__packed__)); +struct usbtmc_capabilities { + unsigned char USBTMC_status; + unsigned char Reserved1; + unsigned char bcdUSBTMC[2]; + unsigned char USBTMCIFcapabilities; + unsigned char USBTMCDEVcapabilities; + unsigned char Reserved6[6]; + unsigned char bcdUSB488[2]; + unsigned char USB488IFcapabilities; + unsigned char USB488DEVcapabilities; + unsigned char Reserved16[8]; +} __attribute__ ((__packed__)); + #define USBTMC_DEV_DEP_MSG_OUT 0x1 #define USBTMC_REQUEST_DEV_DEP_MSG_IN 0x2 #define USBTMC_DEV_DEP_MSG_IN 0x2 @@ -18,6 +31,31 @@ struct usbtmc_header { #define USBTMC_TRANSFERATTRIB_EOM (1<<0) #define USBTMC_TRANSFERATTRIB_TERMCHAR (1<<1) +#define USBTMC_CTL_INITIATE_ABORT_BO 0x01 +#define USBTMC_CTL_CHECK_ABORT_BO_STAT 0x02 +#define USBTMC_CTL_INITIATE_ABORT_BI 0x03 +#define USBTMC_CTL_CHECK_ABORT_BI_STAT 0x04 +#define USBTMC_CTL_INITIATE_CLEAR 0x05 +#define USBTMC_CTL_CHECK_CLEAR_STAT 0x06 +#define USBTMC_CTL_GET_CAPABILITIES 0x07 +#define USBTMC_CTL_INDICATOR_PULSE 0x40 +#define USB488_CTL_READ_STATUS_BYTE 0x80 +#define USB488_CTL_REN_CONTROL 0xa0 +#define USB488_CTL_GO_TO_LOCAL 0xa1 +#define USB488_CTL_LOCAL_LOCKOUT 0xa2 + +#define USBTMC_CAP_IF_INDICATOR_PULSE (1<<2) +#define USBTMC_CAP_IF_TALKONLY (1<<1) +#define USBTMC_CAP_IF_LISTENONLY (1<<0) +#define USBTMC_CAP_DEV_TERMCHAR_SUPP (1<<0) +#define USB488_CAP_IF_4882 (1<<2) +#define USB488_CAP_IF_LOCKOUT (1<<1) +#define USB488_CAP_IF_TRIGGER (1<<0) +#define USB488_CAP_DEV_SCPI (1<<3) +#define USB488_CAP_DEV_SR1 (1<<2) +#define USB488_CAP_DEV_RL1 (1<<1) +#define USB488_CAP_DEV_DT1 (1<<0) + int usbtmc_sendscpi(struct scope *sc, char* cmd, unsigned char *resp, int resplen); struct scope * usbtmc_initscope(void); void usbtmc_close(struct scope *sc);