From fd8b38a16e455867941a46a68ce9f421fe69b59f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eckhart=20K=C5=91ppen?= Date: Mon, 10 Jun 2013 22:39:56 +0300 Subject: [PATCH] Reset remaining TX# to zero if needed --- olimexino-stm32/olimexino_stm32.ft | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/olimexino-stm32/olimexino_stm32.ft b/olimexino-stm32/olimexino_stm32.ft index fa4697b..5abde9b 100644 --- a/olimexino-stm32/olimexino_stm32.ft +++ b/olimexino-stm32/olimexino_stm32.ft @@ -396,15 +396,18 @@ VARIABLE EP0-REQ-LENGTH : IN-HANDLER ( ep dir -- ) DROP DUP EP-CLEAR-CTR-TX - CON-TX# IF DUP CON-TX>PMA 3 SWAP EP-TX-STATE! ELSE DROP THEN + CON-TX# IF DUP CON-TX>PMA 3 SWAP EP-TX-STATE! ELSE USB-BTABLE-TX# 0 SWAP ! THEN ; : USB-TX ( c-addr n -- ) BEGIN ?DUP WHILE OVER C@ CON-TX! 1- SWAP 1+ SWAP REPEAT DROP - 3 1 EP-TX-STATE! + USB-EP1R @ 0030 AND 3 <> IF 3 1 EP-TX-STATE! THEN ; -: USB-EMIT ( c -- ) CON-TX! 3 1 EP-TX-STATE! ; +: USB-EMIT ( c -- ) + CON-TX! + USB-EP1R @ 0030 AND 3 <> IF 3 1 EP-TX-STATE! THEN + ; : USB 1 USB-DISC! USB-INIT