diff options
author | Christian Starkjohann <cs+github@obdev.at> | 2008-06-10 17:44:17 +0000 |
---|---|---|
committer | Christian Starkjohann <cs+github@obdev.at> | 2008-06-10 17:44:17 +0000 |
commit | dfb2c5fd5e27c6b82466a01ebc59a3ee00d125dc (patch) | |
tree | 0cb9d7efc98498debc9099479beacf8e7510cac6 /usbdrv/asmcommon.inc | |
parent | 72d295266837d4af7e67b3ffc5d0eed335438b13 (diff) | |
download | v-usb-dfb2c5fd5e27c6b82466a01ebc59a3ee00d125dc.tar.gz v-usb-dfb2c5fd5e27c6b82466a01ebc59a3ee00d125dc.tar.bz2 v-usb-dfb2c5fd5e27c6b82466a01ebc59a3ee00d125dc.zip |
- added usbconfig.h option USB_CFG_CHECK_DATA_TOGGLING
Diffstat (limited to 'usbdrv/asmcommon.inc')
-rw-r--r-- | usbdrv/asmcommon.inc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/usbdrv/asmcommon.inc b/usbdrv/asmcommon.inc index 819c0bd..febfeb0 100644 --- a/usbdrv/asmcommon.inc +++ b/usbdrv/asmcommon.inc @@ -103,8 +103,8 @@ sofError: reti handleData: - lds token, usbCurrentTok;[18] - tst token ;[20] + lds shift, usbCurrentTok;[18] + tst shift ;[20] breq doReturn ;[21] lds x2, usbRxLen ;[22] tst x2 ;[24] @@ -113,8 +113,11 @@ handleData: ; recognized if usbPoll() was called less frequently than once every 4 ms. cpi cnt, 4 ;[26] zero sized data packets are status phase only -- ignore and ack brmi sendAckAndReti ;[27] keep rx buffer clean -- we must not NAK next SETUP +#if USB_CFG_CHECK_DATA_TOGGLING + sts usbCurrentDataToken, token ; store for checking by C code +#endif sts usbRxLen, cnt ;[28] store received data, swap buffers - sts usbRxToken, token ;[30] + sts usbRxToken, shift ;[30] lds x2, usbInputBufOffset;[32] swap buffers ldi cnt, USB_BUFSIZE ;[34] sub cnt, x2 ;[35] |