Clean up the Audio Device class driver control request Endpoint match logic.
[pub/USBasp.git] / Demos / Device / LowLevel / RNDISEthernet / RNDISEthernet.c
index cc5f9e3..a36ecf4 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
@@ -73,9 +73,9 @@ void SetupHardware(void)
        LEDs_Init();
        Serial_Init(9600, false);
        USB_Init();
        LEDs_Init();
        Serial_Init(9600, false);
        USB_Init();
-       
+
        /* Create a stdio stream for the serial port for stdin and stdout */
        /* Create a stdio stream for the serial port for stdin and stdout */
-       Serial_CreateStream(NULL);      
+       Serial_CreateStream(NULL);
 }
 
 /** Event handler for the USB_Connect event. This indicates that the device is enumerating via the status LEDs and
 }
 
 /** Event handler for the USB_Connect event. This indicates that the device is enumerating via the status LEDs and
@@ -204,7 +204,7 @@ void RNDIS_Task(void)
                Endpoint_SelectEndpoint(CDC_RX_EPNUM);
 
                /* Check if the data OUT endpoint contains data, and that the IN buffer is empty */
                Endpoint_SelectEndpoint(CDC_RX_EPNUM);
 
                /* Check if the data OUT endpoint contains data, and that the IN buffer is empty */
-               if (Endpoint_IsOUTReceived() && !(FrameIN.FrameInBuffer))
+               if (Endpoint_IsOUTReceived() && !(FrameIN.FrameLength))
                {
                        /* Read in the packet message header */
                        Endpoint_Read_Stream_LE(&RNDISPacketHeader, sizeof(RNDIS_Packet_Message_t), NULL);
                {
                        /* Read in the packet message header */
                        Endpoint_Read_Stream_LE(&RNDISPacketHeader, sizeof(RNDIS_Packet_Message_t), NULL);
@@ -224,16 +224,13 @@ void RNDIS_Task(void)
 
                        /* Store the size of the Ethernet frame */
                        FrameIN.FrameLength = RNDISPacketHeader.DataLength;
 
                        /* Store the size of the Ethernet frame */
                        FrameIN.FrameLength = RNDISPacketHeader.DataLength;
-
-                       /* Indicate Ethernet IN buffer full */
-                       FrameIN.FrameInBuffer = true;
                }
 
                /* Select the data IN endpoint */
                Endpoint_SelectEndpoint(CDC_TX_EPNUM);
 
                /* Check if the data IN endpoint is ready for more data, and that the IN buffer is full */
                }
 
                /* Select the data IN endpoint */
                Endpoint_SelectEndpoint(CDC_TX_EPNUM);
 
                /* Check if the data IN endpoint is ready for more data, and that the IN buffer is full */
-               if (Endpoint_IsINReady() && FrameOUT.FrameInBuffer)
+               if (Endpoint_IsINReady() && FrameOUT.FrameLength)
                {
                        /* Clear the packet header with all 0s so that the relevant fields can be filled */
                        memset(&RNDISPacketHeader, 0, sizeof(RNDIS_Packet_Message_t));
                {
                        /* Clear the packet header with all 0s so that the relevant fields can be filled */
                        memset(&RNDISPacketHeader, 0, sizeof(RNDIS_Packet_Message_t));
@@ -254,7 +251,7 @@ void RNDIS_Task(void)
                        Endpoint_ClearIN();
 
                        /* Indicate Ethernet OUT buffer no longer full */
                        Endpoint_ClearIN();
 
                        /* Indicate Ethernet OUT buffer no longer full */
-                       FrameOUT.FrameInBuffer = false;
+                       FrameOUT.FrameLength = 0;
                }
        }
 }
                }
        }
 }
@@ -273,7 +270,7 @@ void Ethernet_Task(void)
          return;
 
        /* Check if a frame has been written to the IN frame buffer */
          return;
 
        /* Check if a frame has been written to the IN frame buffer */
-       if (FrameIN.FrameInBuffer)
+       if (FrameIN.FrameLength)
        {
                /* Indicate packet processing started */
                LEDs_SetAllLEDs(LEDMASK_USB_BUSY);
        {
                /* Indicate packet processing started */
                LEDs_SetAllLEDs(LEDMASK_USB_BUSY);