diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2011-05-18 14:33:34 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2011-05-18 14:33:34 +0000 |
commit | 9d733d44b402ce33c3c41e45b497c2f92be393f5 (patch) | |
tree | 2ddf8b9b25e696ec4a2ab30c181f253005036be7 /Demos/Device/LowLevel/RNDISEthernet | |
parent | 41de1d1dab863c7b769f6e492c36c115994c403d (diff) | |
download | lufa-9d733d44b402ce33c3c41e45b497c2f92be393f5.tar.gz lufa-9d733d44b402ce33c3c41e45b497c2f92be393f5.tar.bz2 lufa-9d733d44b402ce33c3c41e45b497c2f92be393f5.zip |
Add new RNDIS_Host_IsPacketReceived(), RNDIS_Device_ReadPacket() and RNDIS_Device_WritePacket() functions to the Device RNDIS Class Driver.
Modify RNDIS demos to suit the simplified Ethernet_Frame_Info_t structure.
Diffstat (limited to 'Demos/Device/LowLevel/RNDISEthernet')
-rw-r--r-- | Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.c | 3 | ||||
-rw-r--r-- | Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.c | 3 | ||||
-rw-r--r-- | Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c | 11 |
3 files changed, 6 insertions, 11 deletions
diff --git a/Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.c b/Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.c index 488db7688..1e66cf03f 100644 --- a/Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.c +++ b/Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.c @@ -100,7 +100,6 @@ void Ethernet_ProcessPacket(void) /* Set the response length in the buffer and indicate that a response is ready to be sent */ FrameOUT.FrameLength = (sizeof(Ethernet_Frame_Header_t) + RetSize); - FrameOUT.FrameInBuffer = true; } } @@ -108,7 +107,7 @@ void Ethernet_ProcessPacket(void) if (RetSize != NO_PROCESS) { /* Clear the frame buffer */ - FrameIN.FrameInBuffer = false; + FrameIN.FrameLength = 0; } } diff --git a/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.c b/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.c index c773a6444..97c1355b2 100644 --- a/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.c +++ b/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.c @@ -74,7 +74,7 @@ void TCP_Task(void) } /* Bail out early if there is already a frame waiting to be sent in the Ethernet OUT buffer */ - if (FrameOUT.FrameInBuffer) + if (FrameOUT.FrameLength) return; /* Send response packets from each application as the TCP packet buffers are filled by the applications */ @@ -144,7 +144,6 @@ void TCP_Task(void) /* Set the response length in the buffer and indicate that a response is ready to be sent */ FrameOUT.FrameLength = PacketSize; - FrameOUT.FrameInBuffer = true; ConnectionStateTable[CSTableEntry].Info.Buffer.Ready = false; diff --git a/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c b/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c index cc5f9e302..9ad26dd2f 100644 --- a/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c +++ b/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c @@ -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 */ - 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); @@ -224,16 +224,13 @@ void RNDIS_Task(void) /* 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 */ - 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)); @@ -254,7 +251,7 @@ void RNDIS_Task(void) 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 */ - if (FrameIN.FrameInBuffer) + if (FrameIN.FrameLength) { /* Indicate packet processing started */ LEDs_SetAllLEDs(LEDMASK_USB_BUSY); |