From 958d28d05dcf29530cc552ba75b53fc41bd89c7e Mon Sep 17 00:00:00 2001 From: Dean Camera <dean@fourwalledcubicle.com> Date: Fri, 27 Nov 2009 06:32:26 +0000 Subject: [PATCH] Better checking of whether a packet is received in the RNDISEthernetHost Class driver demo - show busy LED status while packets are being printed out. --- .../RNDISEthernetHost/RNDISEthernetHost.c | 15 +++++++++------ .../RNDISEthernetHost/RNDISEthernetHost.h | 3 +++ LUFA/Drivers/USB/USB.h | 8 ++++---- LUFA/ManPages/FutureChanges.txt | 3 --- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.c b/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.c index 28d7b172d..02dd46a5d 100644 --- a/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.c +++ b/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.c @@ -159,18 +159,21 @@ int main(void) /** Prints incomming packets from the attached RNDIS device to the serial port. */ void PrintIncommingPackets(void) { - uint16_t PacketLength; - - RNDIS_Host_ReadPacket(&Ethernet_RNDIS_Interface, &PacketBuffer, &PacketLength); - - if (PacketLength) + if (RNDIS_Host_IsPacketReceived(&Ethernet_RNDIS_Interface)) { + LEDs_SetAllLEDs(LEDMASK_USB_BUSY); + + uint16_t PacketLength; + RNDIS_Host_ReadPacket(&Ethernet_RNDIS_Interface, &PacketBuffer, &PacketLength); + printf("***PACKET (Size %d)***\r\n", PacketLength); for (uint16_t i = 0; i < PacketLength; i++) printf("%02x ", PacketBuffer[i]); - printf("\r\n\r\n"); + printf("\r\n\r\n"); + + LEDs_SetAllLEDs(LEDMASK_USB_READY); } } diff --git a/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h b/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h index 5f8498024..ea87648c0 100644 --- a/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h +++ b/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h @@ -63,6 +63,9 @@ /** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) + /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ + #define LEDMASK_USB_BUSY (LEDS_LED2) + /* Function Prototypes: */ void SetupHardware(void); void PrintIncommingPackets(void); diff --git a/LUFA/Drivers/USB/USB.h b/LUFA/Drivers/USB/USB.h index f1d7d5be5..b40d6ab44 100644 --- a/LUFA/Drivers/USB/USB.h +++ b/LUFA/Drivers/USB/USB.h @@ -83,8 +83,8 @@ * <table> * <tr> * <th width="100px">USB Class</th> - * <th width="80px">Device</th> - * <th width="80px">Host</th> + * <th width="90px">Device Mode</th> + * <th width="90px">Host Mode</th> * </tr> * <tr> * <td>Audio</td> @@ -113,13 +113,13 @@ * </tr> * <tr> * <td>Printer</td> - * <td bgcolor="#00EE00">No</td> + * <td bgcolor="#EE0000">No</td> * <td bgcolor="#00EE00">Yes</td> * </tr> * <tr> * <td>RNDIS</td> * <td bgcolor="#00EE00">Yes</td> - * <td bgcolor="#EE0000">Yes</td> + * <td bgcolor="#00EE00">Yes</td> * </tr> * <tr> * <td>Still Image</td> diff --git a/LUFA/ManPages/FutureChanges.txt b/LUFA/ManPages/FutureChanges.txt index 112c98020..12e972cf4 100644 --- a/LUFA/ManPages/FutureChanges.txt +++ b/LUFA/ManPages/FutureChanges.txt @@ -11,14 +11,11 @@ * If you have an item to add to this list, please contact the library author via email, the LUFA mailing list, * or post your suggestion as an enhancement request to the project bug tracker. * - * <b>Targeted for the Next Release (SVN Development Only):</b> - * * <b>Targeted for Future Releases:</b> * - Code Features * -# Add hub support when in Host mode for multiple devices * -# Add ability to get number of bytes not written with pipe/endpoint write routines after an error * -# Add standardized descriptor names to class driver structures - * -# Finish RNDIS Host Class driver * -# Correct mishandling of error cases in Mass Storage demos * - Documentation/Support * -# Remake AVRStudio project files -- GitLab