diff options
author | Christian Starkjohann <cs+github@obdev.at> | 2008-05-03 20:21:19 +0000 |
---|---|---|
committer | Christian Starkjohann <cs+github@obdev.at> | 2008-05-03 20:21:19 +0000 |
commit | b730907357a33a47e4691977a0229172e6c2d3b3 (patch) | |
tree | 6fdae8a88e50bec3e71eee45d45868122937d6da /usbdrv | |
parent | ae639b82d163b19ee2bf51cce9e140f971702d2d (diff) | |
download | v-usb-b730907357a33a47e4691977a0229172e6c2d3b3.tar.gz v-usb-b730907357a33a47e4691977a0229172e6c2d3b3.tar.bz2 v-usb-b730907357a33a47e4691977a0229172e6c2d3b3.zip |
- documentation update
Diffstat (limited to 'usbdrv')
-rw-r--r-- | usbdrv/usbdrv.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/usbdrv/usbdrv.c b/usbdrv/usbdrv.c index c4141a1..20e9ad8 100644 --- a/usbdrv/usbdrv.c +++ b/usbdrv/usbdrv.c @@ -429,13 +429,14 @@ skipMsgPtrAssignment: */ static inline void usbProcessRx(uchar *data, uchar len) { -usbRequest_t *rq = (void *)data; +usbRequest_t *rq = (void *)data; /* usbRxToken can be: - * 0x2d 00101101 (USBPID_SETUP for any endpoint) - * 0...0x10 for OUT on endpoint X + * 0x2d 00101101 (USBPID_SETUP for setup data) + * 0xe1 11100001 (USBPID_OUT: data phase of setup transfer) + * 0...0x0f for OUT on endpoint X */ - DBG2(0x10 + (usbRxToken & 0xf), data, len); /* SETUP0=1d */ + DBG2(0x10 + (usbRxToken & 0xf), data, len); /* SETUP=1d, SETUP-DATA=11, OUTx=1x */ USB_RX_USER_HOOK(data, len) #if USB_CFG_IMPLEMENT_FN_WRITEOUT if(usbRxToken < 0x10){ /* OUT to endpoint != 0: endpoint number in usbRxToken */ @@ -473,7 +474,7 @@ usbRequest_t *rq = (void *)data; replyLen = rq->wLength.word; } usbMsgLen = replyLen; - }else{ /* token is not SETUP our OUT to other endpoint, must be OUT */ + }else{ /* usbRxToken must be USBPID_OUT, which means data phase of setup (control-out) */ #if USB_CFG_IMPLEMENT_FN_WRITE if(usbMsgFlags & USB_FLG_USE_USER_RW){ uchar rval = usbFunctionWrite(data, len); |