Implements the HID radio interface using libusb.
More...
#include <hid_libusb.hh>
|
|
| HIDevice (int vid, int pid, QObject *parent=nullptr) |
| | Connects to the device with given vendor and product ID.
|
| |
|
virtual | ~HIDevice () |
| | Destructor.
|
| |
|
bool | isOpen () const |
| | Returns true if the connection is established.
|
| |
| bool | hid_send_recv (const unsigned char *data, unsigned nbytes, unsigned char *rdata, unsigned rlength) |
| | Send command/data to the device and store response in rdata. More...
|
| |
|
void | close () |
| | Close connection to device.
|
| |
|
const QString & | errorMessage () const |
| | Returns the last error message.
|
| |
|
| HIDevice (int vid, int pid, QObject *parent=nullptr) |
| | Opens a connection to the device with given vendor and product ID.
|
| |
|
virtual | ~HIDevice () |
| | Destrutor.
|
| |
|
bool | isOpen () const |
| | Returns true if the connection was established.
|
| |
| bool | hid_send_recv (const unsigned char *data, unsigned nbytes, unsigned char *rdata, unsigned rlength) |
| | Send command/data to the device and store response in rdata. More...
|
| |
|
void | close () |
| | Close connection to device.
|
| |
|
|
int | write_read (const unsigned char *data, unsigned length, unsigned char *reply, unsigned rlength) |
| | Internal used implementation of send_recv().
|
| |
|
|
static void | read_callback (struct libusb_transfer *t) |
| | Callback for response data.
|
| |
|
static void | callback_input (void *context, IOReturn result, void *sender, IOHIDReportType type, uint32_t reportID, uint8_t *data, CFIndex nbytes) |
| | Internal callback for response data.
|
| |
|
static void | callback_open (void *context, IOReturn result, void *sender, IOHIDDeviceRef deviceRef) |
| | Internal callback for device opend.
|
| |
|
static void | callback_close (void *ontext, IOReturn result, void *sender, IOHIDDeviceRef deviceRef) |
| | Internal callback for device closed.
|
| |
|
|
libusb_context * | _ctx |
| | libusb context.
|
| |
|
libusb_device_handle * | _dev |
| | libusb device.
|
| |
|
struct libusb_transfer * | _transfer |
| | libusb async transfer descriptor.
|
| |
|
unsigned char | _receive_buf [42] |
| | Receive buffer.
|
| |
|
volatile int | _nbytes_received = 0 |
| | Receive result.
|
| |
|
QString | _errorMessage |
| | Holds the error message.
|
| |
|
IOHIDManagerRef | _HIDManager |
| | Device manager.
|
| |
|
volatile IOHIDDeviceRef | _dev |
| | Device handle.
|
| |
|
unsigned char | _transfer_buf [42] |
| | Device buffer.
|
| |
Implements the HID radio interface using libusb.
Implements the HID radio interface MacOS X API.
◆ hid_send_recv() [1/2]
| bool HIDevice::hid_send_recv |
( |
const unsigned char * |
data, |
|
|
unsigned |
nbytes, |
|
|
unsigned char * |
rdata, |
|
|
unsigned |
rlength |
|
) |
| |
Send command/data to the device and store response in rdata.
- Parameters
-
| data | Pointer to the command/data to send. |
| nbytes | The number of bytes to send. |
| rdata | Pointer to receive buffer. |
| rlength | Size of receive buffer. |
◆ hid_send_recv() [2/2]
| bool HIDevice::hid_send_recv |
( |
const unsigned char * |
data, |
|
|
unsigned |
nbytes, |
|
|
unsigned char * |
rdata, |
|
|
unsigned |
rlength |
|
) |
| |
Send command/data to the device and store response in rdata.
- Parameters
-
| data | Pointer to the command/data to send. |
| nbytes | The number of bytes to send. |
| rdata | Pointer to receive buffer. |
| rlength | Size of receive buffer. |
The documentation for this class was generated from the following files:
- /home/hannes/Software/qdmr/lib/hid_libusb.hh
- /home/hannes/Software/qdmr/lib/hid_macos.hh
- /home/hannes/Software/qdmr/lib/hid_libusb.cc
- /home/hannes/Software/qdmr/lib/hid_macos.cc