#ifndef USBTMCLIB_ERRORS_H #define USBTMCLIB_ERRORS_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) //---------------------------------------------------------------- // @eUSBTMCStatusCodes_t // USBTMC specific requests via USB-Control protocol // see section 4.2.1 [1] typedef enum { // @eUSBTMC_STATUS_SUCCESS // Macro: STATUS_SUCCESS // A success status code. eUSBTMC_STATUS_SUCCESS = 0x01, // @eUSBTMC_STATUS_PENDING // Macro: STATUS_PENDING // This status is valid if a device has received a // USBTMC split transaction CHECK_STATUS // request and the request is still being processed. // See 4.2.1.1. [1] eUSBTMC_STATUS_PENDING = 0x02, // @eUSBTMC_STATUS_FAILED // Macro: STATUS_FAILED // Failure, unspecified reason, and a more specific // USBTMC_status is not defined. eUSBTMC_STATUS_FAILED = 0x80, // @eUSBTMC_STATUS_TRANSFER_NOT_IN_PROGRESS // Macro: STATUS_TRANSFER_NOT_IN_PROGRESS // This status is only valid if a device has received // an INITIATE_ABORT_BULK_OUT or INITIATE_ABORT_BULK_IN // request and the specified transfer to abort is not in progress. eUSBTMC_STATUS_TRANSFER_NOT_IN_PROGRESS = 0x81, // @eUSBTMC_STATUS_SPLIT_NOT_IN_PROGRESS // Macro: STATUS_SPLIT_NOT_IN_PROGRESS // This status is valid if the device received a // CHECK_STATUS request and the device is not // processing an INITIATE request. eUSBTMC_STATUS_SPLIT_NOT_IN_PROGRESS = 0x82, // @eUSBTMC_STATUS_SPLIT_IN_PROGRESS // Macro: STATUS_SPLIT_IN_PROGRESS // This status is valid if the device received a new // class-specific request and the device is still // processing an INITIATE. eUSBTMC_STATUS_SPLIT_IN_PROGRESS = 0x83, } eUSBTMCStatusCodes_t; #endif