#include <LOW_portUsbDevice.h>
Inheritance diagram for LOW_portUsbDevice:
Public Types | |
typedef uint16_t | usbVendorID_t |
Type for USB vendor ID. | |
typedef uint16_t | usbProductID_t |
Type for USB product ID. | |
typedef uint8_t | usbConfig_t |
Type for USB configuration. | |
typedef uint8_t | usbInterface_t |
Type for USB interface. | |
typedef uint8_t | usbSetting_t |
Type for USB setting. | |
typedef uint8_t | bmRequestType_t |
Corresponds to type defined in USB 1.1 specification. | |
typedef uint8_t | bRequest_t |
Corresponds to type defined in USB 1.1 specification. | |
typedef uint16_t | wValue_t |
Corresponds to type defined in USB 1.1 specification. | |
typedef uint16_t | wIndex_t |
Corresponds to type defined in USB 1.1 specification. | |
typedef uint16_t | wLength_t |
Corresponds to type defined in USB 1.1 specification. | |
typedef uint8_t * | msgData_t |
Pointer type for I/O methods. | |
typedef uint16_t | usbTimeout_t |
Type for timeout on USB operations in ms. | |
typedef uint8_t | usbEndpoint_t |
Type for USB endpoint. | |
Public Member Functions | |
class_DERIVE_FROM_EXCEPTION (portUsbDevice_error, LOW_exception) | |
Exception base class for all exceptions thrown by LOW_portUsbDevice. | |
class_DERIVE_FROM_EXCEPTION (noSuchDevice_error, portUsbDevice_error) | |
Exception class when a device could not be found. | |
virtual | ~LOW_portUsbDevice () |
Destructor. | |
virtual usbVendorID_t | getVendorID ()=0 |
Get vendor ID of USB device. | |
virtual usbProductID_t | getProductID ()=0 |
Get product ID of USB device. | |
virtual void | setConfiguration (const usbConfig_t inConfig)=0 |
Sets the active configuration of a device. | |
virtual void | claimInterface (const usbInterface_t inInterface)=0 |
Claim an interface of a device. | |
virtual void | releaseInterface (const usbInterface_t inInterface)=0 |
Releases a previously claimed interface. | |
virtual void | setIfaceAltSetting (const usbSetting_t inAltSetting)=0 |
Sets the active alternate setting of the current interface. | |
virtual void | controlMsg (const bmRequestType_t inReqType, const bRequest_t inRequest, const wValue_t inValue, const wIndex_t inIndex, const wLength_t inLength, msgData_t inOutData, const usbTimeout_t inTimeout)=0 |
Send a control message to a device. | |
virtual void | controlMsg (const bmRequestType_t inReqType, const bRequest_t inRequest, const wValue_t inValue, const wIndex_t inIndex, byteVec_t &inOutData, const usbTimeout_t inTimeout)=0 |
Send a control message to a device. | |
virtual void | clearHalt (const usbEndpoint_t inEP)=0 |
Clears any halt status on an endpoint. | |
virtual unsigned int | bulkWrite (const usbEndpoint_t inEP, const wLength_t inLength, const msgData_t inData, const usbTimeout_t inTimeout)=0 |
Write data to a bulk endpoint. | |
virtual unsigned int | bulkWrite (const usbEndpoint_t inEP, const byteVec_t &inData, const usbTimeout_t inTimeout)=0 |
Write data to a bulk endpoint. | |
virtual unsigned int | bulkRead (const usbEndpoint_t inEP, const wLength_t inLength, msgData_t outData, const usbTimeout_t inTimeout)=0 |
Read data from a bulk endpoint. | |
virtual unsigned int | bulkRead (const usbEndpoint_t inEP, byteVec_t &outData, const usbTimeout_t inTimeout)=0 |
Read data from a bulk endpoint. |
Each instance represents one USB device.
Specific platforms dereive their implementation classes from this class.
The instances are created by LOW_portUsb_Factory, following the factory design pattern.
Note: There is no prescribed constructor. A class deriving from this one should have two constructors. One which requires to specify some kind of address identifying the device, the other a USB vendor/product ID pair returning the first device of that kind found.
This class is far away from beeing generic, it just contains stuff needed for the DS2490.
This class is thread-safe.
USB Specification Version 1.1
Parts of the documentation taken from libusb.
Definition at line 50 of file LOW_portUsbDevice.h.
|
Corresponds to type defined in USB 1.1 specification.
Definition at line 78 of file LOW_portUsbDevice.h. |
|
Corresponds to type defined in USB 1.1 specification.
Definition at line 79 of file LOW_portUsbDevice.h. |
|
Pointer type for I/O methods.
Definition at line 83 of file LOW_portUsbDevice.h. Referenced by LOW_portUsbDevice_Linux::bulkRead(), LOW_portUsbDevice_Linux::bulkWrite(), and LOW_portUsbDevice_Linux::controlMsg(). |
|
Type for USB configuration.
Definition at line 75 of file LOW_portUsbDevice.h. |
|
Type for USB endpoint.
Definition at line 85 of file LOW_portUsbDevice.h. |
|
Type for USB interface.
Definition at line 76 of file LOW_portUsbDevice.h. |
|
Type for USB product ID.
Definition at line 74 of file LOW_portUsbDevice.h. Referenced by LOW_portUsbDevice_Linux::getProductID(). |
|
Type for USB setting.
Definition at line 77 of file LOW_portUsbDevice.h. |
|
Type for timeout on USB operations in ms.
Definition at line 84 of file LOW_portUsbDevice.h. |
|
Type for USB vendor ID.
Definition at line 73 of file LOW_portUsbDevice.h. Referenced by LOW_portUsbDevice_Linux::getVendorID(). |
|
|
Corresponds to type defined in USB 1.1 specification.
Definition at line 82 of file LOW_portUsbDevice.h. Referenced by LOW_linkDS2490::comCmd_readStraight(). |
|
|
Destructor.
Definition at line 28 of file LOW_portUsbDevice.cpp. |
|
Read data from a bulk endpoint.
Implemented in LOW_portUsbDevice_Linux. |
|
Read data from a bulk endpoint.
Implemented in LOW_portUsbDevice_Linux. Referenced by LOW_linkDS2490::readDeviceStatus(), LOW_linkDS2490::searchDevices(), LOW_linkDS2490::touchBit(), LOW_linkDS2490::touchBlock(), and LOW_linkDS2490::touchByte(). |
|
Write data to a bulk endpoint.
Implemented in LOW_portUsbDevice_Linux. |
|
Write data to a bulk endpoint.
Implemented in LOW_portUsbDevice_Linux. Referenced by LOW_linkDS2490::searchDevices(), and LOW_linkDS2490::touchBlock(). |
|
Claim an interface of a device. Claims the interface with the Operating System. Note: The method must be called before you perform any operations related to this interface (like setIfaceAltSetting(), bulkWrite(), etc).
Implemented in LOW_portUsbDevice_Linux. Referenced by LOW_linkDS2490::commonConstructorActions(). |
|
Exception class when a device could not be found.
|
|
Exception base class for all exceptions thrown by LOW_portUsbDevice.
|
|
Clears any halt status on an endpoint.
Implemented in LOW_portUsbDevice_Linux. |
|
Send a control message to a device. Performs a control request to the default control pipe on a device. The parameters mirror the types of the same name in the USB specification. Implemented in LOW_portUsbDevice_Linux. |
|
|
Get product ID of USB device.
Implemented in LOW_portUsbDevice_Linux. Referenced by LOW_linkDS2490::LOW_linkDS2490(). |
|
Get vendor ID of USB device.
Implemented in LOW_portUsbDevice_Linux. Referenced by LOW_linkDS2490::LOW_linkDS2490(). |
|
Releases a previously claimed interface. Releases an interface previously claimed with claimInterface().
Implemented in LOW_portUsbDevice_Linux. Referenced by LOW_linkDS2490::~LOW_linkDS2490(). |
|
Sets the active configuration of a device.
Implemented in LOW_portUsbDevice_Linux. |
|
Sets the active alternate setting of the current interface.
Implemented in LOW_portUsbDevice_Linux. |