#include <LOW_portUsbDevice_Linux.h>
Inheritance diagram for LOW_portUsbDevice_Linux:
Public Types | |
typedef uint16_t | usbVendorID_t |
Type for USB vendor ID. More... | |
typedef uint16_t | usbProductID_t |
Type for USB product ID. More... | |
typedef uint8_t | usbConfig_t |
Type for USB configuration. More... | |
typedef uint8_t | usbInterface_t |
Type for USB interface. More... | |
typedef uint8_t | usbSetting_t |
Type for USB setting. More... | |
typedef uint8_t | bmRequestType_t |
Corresponds to type defined in USB 1.1 specification. More... | |
typedef uint8_t | bRequest_t |
Corresponds to type defined in USB 1.1 specification. More... | |
typedef uint16_t | wValue_t |
Corresponds to type defined in USB 1.1 specification. More... | |
typedef uint16_t | wIndex_t |
Corresponds to type defined in USB 1.1 specification. More... | |
typedef uint16_t | wLength_t |
Corresponds to type defined in USB 1.1 specification. More... | |
typedef uint8_t * | msgData_t |
Pointer type for I/O methods. More... | |
typedef uint16_t | usbTimeout_t |
Type for timeout on USB operations in ms. More... | |
typedef uint8_t | usbEndpoint_t |
Type for USB endpoint. More... | |
Public Methods | |
virtual | ~LOW_portUsbDevice_Linux () |
Destructor. More... | |
virtual usbVendorID_t | getVendorID () |
Get vendor ID of USB device. More... | |
virtual usbProductID_t | getProductID () |
Get product ID of USB device. More... | |
virtual void | setConfiguration (const usbConfig_t inConfig) |
Resets a device. More... | |
virtual void | claimInterface (const usbInterface_t inInterface) |
Claim an interface of a device. More... | |
virtual void | releaseInterface (const usbInterface_t inInterface) |
Releases a previously claimed interface. More... | |
virtual void | setIfaceAltSetting (const usbSetting_t inAltSetting) |
Sets the active alternate setting of the current interface. More... | |
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) |
Send a control message to a device. More... | |
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) |
Send a control message to a device. More... | |
virtual void | clearHalt (const usbEndpoint_t inEP) |
Clears any halt status on an endpoint. More... | |
virtual unsigned int | bulkWrite (const usbEndpoint_t inEP, const wLength_t inLength, const msgData_t inData, const usbTimeout_t inTimeout) |
Write data to a bulk endpoint. More... | |
virtual unsigned int | bulkWrite (const usbEndpoint_t inEP, const byteVec_t &inData, const usbTimeout_t inTimeout) |
Write data to a bulk endpoint. More... | |
virtual unsigned int | bulkRead (const usbEndpoint_t inEP, const wLength_t inLength, msgData_t outData, const usbTimeout_t inTimeout) |
Read data from a bulk endpoint. More... | |
virtual unsigned int | bulkRead (const usbEndpoint_t inEP, byteVec_t &outData, const usbTimeout_t inTimeout) |
Read data from a bulk endpoint. More... | |
class_DERIVE_FROM_EXCEPTION (portUsbDevice_error, LOW_exception) | |
Exception base class for all exceptions thrown by LOW_portUsbDevice. More... | |
class_DERIVE_FROM_EXCEPTION (noSuchDevice_error, portUsbDevice_error) | |
Exception class when a device could not be found. More... | |
Protected Methods | |
LOW_portUsbDevice_Linux (const LOW_portUsb_Factory::usbDeviceSpecifier_t inUsbDevSpec) | |
Constructor. More... | |
LOW_portUsbDevice_Linux (const usbVendorID_t inVendorID, const usbProductID_t inProductID) | |
Constructor. More... | |
Private Methods | |
virtual void | rescanBusses () |
Rescan all USB busses. More... | |
virtual std::string | libUsbErrMsg () |
Get libusb's error message as C++ string. More... | |
Static Private Methods | |
int | initialize () |
Static inizializer. More... | |
Private Attributes | |
usb_device * | usbLibDevice |
libusb's device structure. More... | |
usb_dev_handle * | usbLibDevHdl |
libusb's handle to USB device. More... | |
Static Private Attributes | |
int | initHelper = initialize() |
Needed for dirty little C++ hack to force static initialization on application start. More... | |
Friends | |
class | LOW_portUsb_Factory |
To allow construction. More... |
Requires libusb version 0.1.6a or higher.
Definition at line 41 of file LOW_portUsbDevice_Linux.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 bulkRead(), bulkWrite(), and 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 getProductID(), and LOW_portUsb_Factory::new_portUsbDevice(). |
|
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. Referenced by LOW_linkDS2490::waitUntilIdle(). |
|
Type for USB vendor ID.
Definition at line 73 of file LOW_portUsbDevice.h. Referenced by getVendorID(), and LOW_portUsb_Factory::new_portUsbDevice(). |
|
|
Corresponds to type defined in USB 1.1 specification.
Definition at line 82 of file LOW_portUsbDevice.h. Referenced by LOW_linkDS2490::comCmd_readStraight(). |
|
Corresponds to type defined in USB 1.1 specification.
Definition at line 80 of file LOW_portUsbDevice.h. Referenced by LOW_linkDS2490::comCmd_bitIO(), LOW_linkDS2490::comCmd_blockIO(), LOW_linkDS2490::comCmd_byteIO(), LOW_linkDS2490::comCmd_doAndRelease(), LOW_linkDS2490::comCmd_matchAccess(), LOW_linkDS2490::comCmd_oneWireReset(), LOW_linkDS2490::comCmd_pulse(), LOW_linkDS2490::comCmd_readCrcProtPage(), LOW_linkDS2490::comCmd_readRedirectPageCrc(), LOW_linkDS2490::comCmd_readStraight(), LOW_linkDS2490::comCmd_searchAccess(), LOW_linkDS2490::comCmd_setDuration(), LOW_linkDS2490::comCmd_setPath(), LOW_linkDS2490::comCmd_writeEprom(), LOW_linkDS2490::comCmd_writeSramPage(), and LOW_linkDS2490::handleCommonComCmdBits(). |
|
Destructor.
Definition at line 99 of file LOW_portUsbDevice_Linux.cpp. References libUsbErrMsg(), LOW_helper_msglog::printPerror(), and usbLibDevHdl. |
|
Constructor. Not publicly constructable. Use LOW_portUsb_Factory.
Definition at line 48 of file LOW_portUsbDevice_Linux.cpp. References libUsbErrMsg(), rescanBusses(), usbLibDevHdl, and usbLibDevice. |
|
Constructor. If more than one device with the same vendor/product id is present, the first device found is used. Not publicly constructable. Use appropriate LOW_portUsb_Factory.
Definition at line 75 of file LOW_portUsbDevice_Linux.cpp. References libUsbErrMsg(), rescanBusses(), usbLibDevHdl, and usbLibDevice. |
|
Read data from a bulk endpoint.
Reimplemented from LOW_portUsbDevice. Definition at line 289 of file LOW_portUsbDevice_Linux.cpp. References __LOW_SYNCHRONIZE_METHOD_WRITE__, bulkRead(), byteVec_t, and LOW_portUsbDevice::msgData_t. |
|
Read data from a bulk endpoint.
Reimplemented from LOW_portUsbDevice. Definition at line 277 of file LOW_portUsbDevice_Linux.cpp. References __LOW_SYNCHRONIZE_METHOD_WRITE_WEAK__, libUsbErrMsg(), and usbLibDevHdl. Referenced by bulkRead(). |
|
Write data to a bulk endpoint.
Reimplemented from LOW_portUsbDevice. Definition at line 257 of file LOW_portUsbDevice_Linux.cpp. References __LOW_SYNCHRONIZE_METHOD_WRITE__, bulkWrite(), byteVec_t, and LOW_portUsbDevice::msgData_t. |
|
Write data to a bulk endpoint.
Reimplemented from LOW_portUsbDevice. Definition at line 245 of file LOW_portUsbDevice_Linux.cpp. References __LOW_SYNCHRONIZE_METHOD_WRITE_WEAK__, libUsbErrMsg(), and usbLibDevHdl. Referenced by bulkWrite(). |
|
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).
Reimplemented from LOW_portUsbDevice. Definition at line 159 of file LOW_portUsbDevice_Linux.cpp. References __LOW_SYNCHRONIZE_METHOD_WRITE__, libUsbErrMsg(), and usbLibDevHdl. |
|
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.
Reimplemented from LOW_portUsbDevice. Definition at line 233 of file LOW_portUsbDevice_Linux.cpp. References __LOW_SYNCHRONIZE_METHOD_WRITE__, libUsbErrMsg(), and usbLibDevHdl. |
|
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. Reimplemented from LOW_portUsbDevice. Definition at line 208 of file LOW_portUsbDevice_Linux.cpp. References __LOW_SYNCHRONIZE_METHOD_WRITE__, byteVec_t, controlMsg(), and LOW_portUsbDevice::msgData_t. |
|
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. Reimplemented from LOW_portUsbDevice. Definition at line 192 of file LOW_portUsbDevice_Linux.cpp. References __LOW_SYNCHRONIZE_METHOD_WRITE__, libUsbErrMsg(), and usbLibDevHdl. Referenced by controlMsg(). |
|
Get product ID of USB device.
Reimplemented from LOW_portUsbDevice. Definition at line 122 of file LOW_portUsbDevice_Linux.cpp. References __LOW_SYNCHRONIZE_METHOD_READ__, usbLibDevice, and LOW_portUsbDevice::usbProductID_t. |
|
Get vendor ID of USB device.
Reimplemented from LOW_portUsbDevice. Definition at line 114 of file LOW_portUsbDevice_Linux.cpp. References __LOW_SYNCHRONIZE_METHOD_READ__, usbLibDevice, and LOW_portUsbDevice::usbVendorID_t. |
|
Static inizializer.
Definition at line 30 of file LOW_portUsbDevice_Linux.cpp. |
|
Get libusb's error message as C++ string.
Definition at line 326 of file LOW_portUsbDevice_Linux.cpp. Referenced by bulkRead(), bulkWrite(), claimInterface(), clearHalt(), controlMsg(), LOW_portUsbDevice_Linux(), releaseInterface(), setConfiguration(), setIfaceAltSetting(), and ~LOW_portUsbDevice_Linux(). |
|
Releases a previously claimed interface. Releases an interface previously claimed with claimInterface().
Reimplemented from LOW_portUsbDevice. Definition at line 170 of file LOW_portUsbDevice_Linux.cpp. References __LOW_SYNCHRONIZE_METHOD_WRITE__, libUsbErrMsg(), and usbLibDevHdl. |
|
Rescan all USB busses.
Definition at line 316 of file LOW_portUsbDevice_Linux.cpp. Referenced by LOW_portUsbDevice_Linux(). |
|
Resets a device. Resets the specified device by sending a RESET down the port it is connected to. Reimplemented from LOW_portUsbDevice. Definition at line 147 of file LOW_portUsbDevice_Linux.cpp. References __LOW_SYNCHRONIZE_METHOD_WRITE__, libUsbErrMsg(), and usbLibDevHdl. |
|
Sets the active alternate setting of the current interface.
Reimplemented from LOW_portUsbDevice. Definition at line 180 of file LOW_portUsbDevice_Linux.cpp. References __LOW_SYNCHRONIZE_METHOD_WRITE__, libUsbErrMsg(), and usbLibDevHdl. |
|
To allow construction.
Definition at line 114 of file LOW_portUsbDevice_Linux.h. |
|
Needed for dirty little C++ hack to force static initialization on application start.
Definition at line 29 of file LOW_portUsbDevice_Linux.cpp. |
|
libusb's handle to USB device.
Definition at line 153 of file LOW_portUsbDevice_Linux.h. Referenced by bulkRead(), bulkWrite(), claimInterface(), clearHalt(), controlMsg(), LOW_portUsbDevice_Linux(), releaseInterface(), setConfiguration(), setIfaceAltSetting(), and ~LOW_portUsbDevice_Linux(). |
|
libusb's device structure.
Definition at line 152 of file LOW_portUsbDevice_Linux.h. Referenced by getProductID(), getVendorID(), and LOW_portUsbDevice_Linux(). |