projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed minor issue with the RNDISEthernet demo DHCP protocol decoder routine using...
[pub/USBasp.git]
/
Demos
/
Host
/
GenericHIDHost
/
GenericHIDHost.c
diff --git
a/Demos/Host/GenericHIDHost/GenericHIDHost.c
b/Demos/Host/GenericHIDHost/GenericHIDHost.c
index
4d2fefb
..
716f1c3
100644
(file)
--- a/
Demos/Host/GenericHIDHost/GenericHIDHost.c
+++ b/
Demos/Host/GenericHIDHost/GenericHIDHost.c
@@
-219,9
+219,11
@@
void ReadNextReport(void)
/** Writes a report to the attached device.
\r
*
\r
* \param ReportOUTData Buffer containing the report to send to the device
\r
/** Writes a report to the attached device.
\r
*
\r
* \param ReportOUTData Buffer containing the report to send to the device
\r
+ * \param ReportIndex Index of the report in the device (zero if the device does not use multiple reports)
\r
+ * \param ReportType Type of report to send, either HID_REPORTTYPE_OUTPUT or HID_REPORTTYPE_FEATURE
\r
* \param ReportLength Length of the report to send
\r
*/
\r
* \param ReportLength Length of the report to send
\r
*/
\r
-void WriteNextReport(uint8_t* ReportOUTData, uint16_t ReportLength)
\r
+void WriteNextReport(uint8_t* ReportOUTData, uint
8_t ReportIndex, uint8_t ReportType, uint
16_t ReportLength)
\r
{
\r
/* Select and unfreeze HID data OUT pipe */
\r
Pipe_SelectPipe(HID_DATA_OUT_PIPE);
\r
{
\r
/* Select and unfreeze HID data OUT pipe */
\r
Pipe_SelectPipe(HID_DATA_OUT_PIPE);
\r
@@
-240,8
+242,12
@@
void WriteNextReport(uint8_t* ReportOUTData, uint16_t ReportLength)
\r
return;
\r
}
\r
\r
return;
\r
}
\r
+
\r
+ /* If the report index is used, send it before the report data */
\r
+ if (ReportIndex)
\r
+ Pipe_Write_Byte(ReportIndex);
\r
\r
\r
- /*
Read in
HID report data */
\r
+ /*
Write out
HID report data */
\r
Pipe_Write_Stream_LE(ReportOUTData, ReportLength);
\r
\r
/* Clear the OUT endpoint, send last data packet */
\r
Pipe_Write_Stream_LE(ReportOUTData, ReportLength);
\r
\r
/* Clear the OUT endpoint, send last data packet */
\r
@@
-257,7
+263,7
@@
void WriteNextReport(uint8_t* ReportOUTData, uint16_t ReportLength)
{
\r
bmRequestType: (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
\r
bRequest: REQ_SetReport,
\r
{
\r
bmRequestType: (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
\r
bRequest: REQ_SetReport,
\r
- wValue:
0
,
\r
+ wValue:
((ReportType << 8) | ReportIndex)
,
\r
wIndex: 0,
\r
wLength: ReportLength,
\r
};
\r
wIndex: 0,
\r
wLength: ReportLength,
\r
};
\r