From 6ad3acd15e9859ac9bc77c1eb04d67108dcc5a03 Mon Sep 17 00:00:00 2001 From: AJM Date: Sat, 24 Apr 2010 22:23:50 -0400 Subject: finally got TX working without any delay, there is some weird timing involved in what happens when the line state is toggled (host port disconnected) and theres still data waiting to go out, this will hang any while(txCount != 0) calls. similarly, sending data without checking txCount != 0 will hard fault the chip. This is all handled now by usbSendBytes, which returns -1 for unconnected, and 0 for simply 'waiting to send' --- core/usb/usb.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'core/usb/usb.h') diff --git a/core/usb/usb.h b/core/usb/usb.h index 087ca72..c6377ab 100644 --- a/core/usb/usb.h +++ b/core/usb/usb.h @@ -49,6 +49,11 @@ typedef enum /* overloaded ISR routine, this is the main usb ISR */ void usb_lpIRQHandler(void); + /* blocking functions for send/receive */ + int16 usbSendBytes(uint8* sendBuf,uint16 len); + uint8 usbBytesAvailable(void); + uint8 usbReceiveBytes(uint8* recvBuf, uint8 len); + void usbSendHello(void); #ifdef __cplusplus -- cgit v1.2.3