#ifndef USBTMCLIB_REQUESTS_H #define USBTMCLIB_REQUESTS_H #include #include #include "usbd_def.h" //---------------------------------------------------------------- // Refer to: // [1] USBTMC Standard, rev. 1.0, 14/04/2003 // "Universal Serial Bus Test and Measurement Class Specification (USBTMC)" // [2] USBTMC-USB488 Standard, rev. 1.0, 14/04/2003 // "Universal Serial Bus Test and Measurement Class, Subclass USB488 Specification (USBTMC-USB488) //---------------------------------------------------------------- // @eUSBTMCControlRequests_t // USBTMC specific requests via USB-Control protocol // see section 4.2.1 [1] typedef enum { // @eUSBTMC_INITIATE_ABORT_BULK_OUT // Macro: INITIATE_ABORT_BULK_OUT // Aborts a Bulk-OUT transfer. eUSBTMC_INITIATE_ABORT_BULK_OUT = 0x01, // @eUSBTMC_CHECK_ABORT_BULK_OUT_STATUS // Macro: CHECK_ABORT_BULK_OUT_STATUS // Returns the status of the previously sent INITIATE_ABORT_BULK_OUT request. eUSBTMC_CHECK_ABORT_BULK_OUT_STATUS = 0x02, // @eUSBTMC_INITIATE_ABORT_BULK_IN // Macro: INITIATE_ABORT_BULK_IN // Aborts a Bulk-IN transfer. eUSBTMC_INITIATE_ABORT_BULK_IN = 0x03, // @eUSBTMC_CHECK_ABORT_BULK_IN_STATUS // Macro: CHECK_ABORT_BULK_IN_STATUS // Returns the status of the previously sent INITIATE_ABORT_BULK_IN request. eUSBTMC_CHECK_ABORT_BULK_IN_STATUS = 0x04, // @eUSBTMC_INITIATE_CLEAR // Macro: INITIATE_CLEAR // Clears all previously sent pending and // unprocessed Bulk-OUT USBTMC message // content and clears all pending Bulk-IN transfers // from the USBTMC interface. eUSBTMC_INITIATE_CLEAR = 0x05, // @eUSBTMC_CHECK_CLEAR_STATUS // Macro: CHECK_CLEAR_STATUS // Returns the status of the previously sent INITIATE_CLEAR request. eUSBTMC_CHECK_CLEAR_STATUS = 0x06, // @eUSBTMC_GET_CAPABILITIES // Macro: GET_CAPABILITIES // Returns attributes and capabilities of the USBTMC interface. eUSBTMC_GET_CAPABILITIES = 0x07, // @eUSBTMC_INDICATOR_PULSE // Macro: INDICATOR_PULSE // A mechanism to turn on an activity indicator for // identification purposes. The device indicates // whether or not it supports this request in the // GET_CAPABILITIES response packet. eUSBTMC_INDICATOR_PULSE = 0x40, // @eUSBTMC_USB488_READ_STATUS_BYTE // Macro: READ_STATUS_BYTE // Allows to read the status byte using class request eUSBTMC_USB488_READ_STATUS_BYTE = 0x80, } eUSBTMCControlRequests_t; #endif