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