34 #define USB_CLASS_TMC 0xFE 35 #define USB_TMC_SUBCLASS_TMC 0x03 36 #define USB_TMC_PROTO_NONE 0x00 37 #define USB_TMC_PROTO_USB488 0x01 42 #define USB_TMC_REQ_INITIATE_ABORT_BULK_OUT 1 43 #define USB_TMC_REQ_CHECK_ABORT_BULK_OUT_STATUS 2 44 #define USB_TMC_REQ_INITIATE_ABORT_BULK_IN 3 45 #define USB_TMC_REQ_CHECK_ABORT_BULK_IN_STATUS 4 46 #define USB_TMC_REQ_INITIATE_CLEAR 5 47 #define USB_TMC_REQ_CHECK_CLEAR_STATUS 6 48 #define USB_TMC_REQ_GET_CAPABILITIES 7 49 #define USB_TMC_REQ_INDICATOR_PULSE 64 54 #define USB_TMC_STATUS_SUCCESS 0x01 55 #define USB_TMC_STATUS_PENDING 0x02 56 #define USB_TMC_STATUS_FAILED 0x80 57 #define USB_TMC_STATUS_TRANSFER_NOT_IN_PROGRESS 0x81 58 #define USB_TMC_STATUS_SPLIT_NOT_IN_PROGRESS 0x82 59 #define USB_TMC_STATUS_SPLIT_IN_PROGRESS 0x83 64 uint8_t USBTMC_status;
67 uint8_t InterfaceCapabilities;
68 uint8_t DeviceCapabilities;
69 uint8_t Reserved1[18];
70 } __attribute__((packed));
74 #define USB_TMC_DEV_DEP_MSG_OUT 1 75 #define USB_TMC_REQUEST_DEV_DEP_MSG_IN 2 76 #define USB_TMC_DEV_DEP_MSG_IN 2 77 #define USB_TMC_VENDOR_SPECIFIC_OUT 126 78 #define USB_TMC_REQUEST_VENDOR_SPECIFIC_IN 127 79 #define USB_TMC_VENDOR_SPECIFIC_IN 127 86 #define USB_TMC_TRANSFER_ATTR_EOM 0x01 90 #define USB_TMC_TRANSFER_ATTR_TERM_CHAR 0x02 96 uint32_t TransferSize;
97 uint8_t bmTransferAttributes;
102 uint32_t TransferSize;
103 uint8_t bmTransferAttributes;
106 } request_dev_dep_msg_in;
109 uint32_t TransferSize;
110 uint8_t bmTransferAttributes;
115 uint32_t TransferSize;
117 } vendor_specific_out;
120 uint32_t TransferSize;
122 } request_vendor_specific_in;
125 uint32_t TransferSize;
127 } vendor_specific_in;
144 } __attribute__((packed));
148 #if defined(__cplusplus)