diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2009-04-22 13:03:11 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2009-04-22 13:03:11 +0000 |
commit | d860e9e842c05e759214f5170f78783decae9956 (patch) | |
tree | 688f408e32d6f4d205fce4bd33e953199c9ea7dc /Demos/Device/CDC | |
parent | e5e7eaee7af719cee00a8c2cb6fb4649dde0aa05 (diff) | |
download | lufa-d860e9e842c05e759214f5170f78783decae9956.tar.gz lufa-d860e9e842c05e759214f5170f78783decae9956.tar.bz2 lufa-d860e9e842c05e759214f5170f78783decae9956.zip |
USB_HostRequest renamed to USB_ControlRequest, entire control request header is now read into USB_ControlRequest in Device mode rather than having the library pass only partially read header data to the application.
The USB_UnhandledControlPacket event has had its parameters removed, in favour of accessing the new USB_ControlRequest structure.
The Endpoint control stream functions now correctly send a ZLP to the host when less data than requested is sent.
Diffstat (limited to 'Demos/Device/CDC')
-rw-r--r-- | Demos/Device/CDC/CDC.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/Demos/Device/CDC/CDC.c b/Demos/Device/CDC/CDC.c index fb7d74b07..28bce1ebc 100644 --- a/Demos/Device/CDC/CDC.c +++ b/Demos/Device/CDC/CDC.c @@ -160,10 +160,10 @@ EVENT_HANDLER(USB_UnhandledControlPacket) uint8_t* LineCodingData = (uint8_t*)&LineCoding;
/* Process CDC specific control requests */
- switch (bRequest)
+ switch (USB_ControlRequest.bRequest)
{
case REQ_GetLineEncoding:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
/* Acknowledge the SETUP packet, ready for data transfer */
Endpoint_ClearSETUP();
@@ -177,7 +177,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket) break;
case REQ_SetLineEncoding:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
/* Acknowledge the SETUP packet, ready for data transfer */
Endpoint_ClearSETUP();
@@ -191,18 +191,12 @@ EVENT_HANDLER(USB_UnhandledControlPacket) break;
case REQ_SetControlLineState:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
-#if 0
/* NOTE: Here you can read in the line state mask from the host, to get the current state of the output handshake
- lines. The mask is read in from the wValue parameter, and can be masked against the CONTROL_LINE_OUT_* masks
- to determine the RTS and DTR line states using the following code:
+ lines. The mask is read in from the wValue parameter in USB_ControlRequest, and can be masked against the
+ CONTROL_LINE_OUT_* masks to determine the RTS and DTR line states using the following code:
*/
-
- uint16_t wIndex = Endpoint_Read_Word_LE();
-
- // Do something with the given line states in wIndex
-#endif
/* Acknowledge the SETUP packet, ready for data transfer */
Endpoint_ClearSETUP();
|