]> git.zerfleddert.de Git - rigol/blobdiff - usbtmc.h
Request USBTMC capabilities from device
[rigol] / usbtmc.h
index 519012e04da9aeda12cd8a38cbd9286526be6dca..1fa1046009aa2f791e6019983b6e339a9d001966 100644 (file)
--- 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);
Impressum, Datenschutz