Skip to content

Commit 0895ddb

Browse files
authored
Merge pull request #53 from fpoussin/feature-hid-report
[HID] Adding feature report methods
2 parents 661f1e8 + e506dcf commit 0895ddb

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

src/usb/qhiddevice.cpp

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,36 @@ qint32 QHidDevice::read(QByteArray *data, int len, int timeout)
9090
return res;
9191
}
9292

93+
/*!
94+
\brief Send a Feature report.
95+
*/
96+
qint32 QHidDevice::sendFeatureReport(const QByteArray *data, int len)
97+
{
98+
Q_CHECK_PTR(data);
99+
Q_D(QHidDevice);
100+
// Default is buffer size
101+
if (len == -1)
102+
len = data->size();
103+
104+
return hid_send_feature_report(d->m_devHandle, reinterpret_cast<const unsigned char *>(data->constData()), static_cast<size_t>(len));
105+
}
106+
107+
/*!
108+
\brief Get a feature report.
109+
*/
110+
qint32 QHidDevice::getFeatureReport(QByteArray *data, int len)
111+
{
112+
Q_CHECK_PTR(data);
113+
Q_D(QHidDevice);
114+
// Default is buffer size
115+
if (len == -1)
116+
len = data->size();
117+
// Allocate max read size
118+
data->fill(0, len);
119+
120+
return hid_get_feature_report(d->m_devHandle, reinterpret_cast<unsigned char *>(data->data()), static_cast<size_t>(len));
121+
}
122+
93123
/*!
94124
\brief Returns the serial number string.
95125
*/

src/usb/qhiddevice.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ class Q_USB_EXPORT QHidDevice : public QObject
2424
qint32 write(const QByteArray *data, int len = -1);
2525
qint32 read(QByteArray *data, int len = -1, int timeout = -1);
2626

27+
qint32 sendFeatureReport(const QByteArray *data, int len = -1);
28+
qint32 getFeatureReport(QByteArray *data, int len = -1);
29+
2730
QString serialNumber();
2831
QString manufacturer();
2932
QString product();

0 commit comments

Comments
 (0)