*/\r
void EVENT_USB_ConfigurationChanged(void)\r
{\r
- /* Setup CDC Notification, Rx and Tx Endpoints */\r
- Endpoint_ConfigureEndpoint(CDC_TX_EPNUM, EP_TYPE_BULK,\r
- ENDPOINT_DIR_IN, CDC_TXRX_EPSIZE,\r
- ENDPOINT_BANK_SINGLE);\r
+ /* Indicate USB connected and ready */\r
+ LEDs_SetAllLEDs(LEDMASK_USB_READY);\r
\r
- Endpoint_ConfigureEndpoint(CDC_RX_EPNUM, EP_TYPE_BULK,\r
- ENDPOINT_DIR_OUT, CDC_TXRX_EPSIZE,\r
- ENDPOINT_BANK_SINGLE);\r
+ /* Setup CDC Notification, Rx and Tx Endpoints */\r
+ if (!(Endpoint_ConfigureEndpoint(CDC_TX_EPNUM, EP_TYPE_BULK,\r
+ ENDPOINT_DIR_IN, CDC_TXRX_EPSIZE,\r
+ ENDPOINT_BANK_SINGLE)))\r
+ {\r
+ LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
+ } \r
\r
- Endpoint_ConfigureEndpoint(CDC_NOTIFICATION_EPNUM, EP_TYPE_INTERRUPT,\r
- ENDPOINT_DIR_IN, CDC_NOTIFICATION_EPSIZE,\r
- ENDPOINT_BANK_SINGLE);\r
+ if (!(Endpoint_ConfigureEndpoint(CDC_RX_EPNUM, EP_TYPE_BULK,\r
+ ENDPOINT_DIR_OUT, CDC_TXRX_EPSIZE,\r
+ ENDPOINT_BANK_SINGLE)))\r
+ {\r
+ LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
+ }\r
\r
- /* Indicate USB connected and ready */\r
- LEDs_SetAllLEDs(LEDMASK_USB_READY);\r
+ if (!(Endpoint_ConfigureEndpoint(CDC_NOTIFICATION_EPNUM, EP_TYPE_INTERRUPT,\r
+ ENDPOINT_DIR_IN, CDC_NOTIFICATION_EPSIZE,\r
+ ENDPOINT_BANK_SINGLE)))\r
+ {\r
+ LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
+ }\r
}\r
\r
/** Event handler for the USB_UnhandledControlPacket event. This is used to catch standard and class specific\r
if ((CurrRNDISState == RNDIS_Data_Initialized) && !(MessageHeader->MessageLength))\r
{\r
/* Create a new packet header for reading/writing */\r
- RNDIS_PACKET_MSG_t RNDISPacketHeader;\r
+ RNDIS_Packet_Message_t RNDISPacketHeader;\r
\r
/* Select the data OUT endpoint */\r
Endpoint_SelectEndpoint(CDC_RX_EPNUM);\r
if (Endpoint_IsOUTReceived() && !(FrameIN.FrameInBuffer))\r
{\r
/* Read in the packet message header */\r
- Endpoint_Read_Stream_LE(&RNDISPacketHeader, sizeof(RNDIS_PACKET_MSG_t));\r
+ Endpoint_Read_Stream_LE(&RNDISPacketHeader, sizeof(RNDIS_Packet_Message_t));\r
\r
/* Stall the request if the data is too large */\r
if (RNDISPacketHeader.DataLength > ETHERNET_FRAME_SIZE_MAX)\r
if (Endpoint_IsINReady() && FrameOUT.FrameInBuffer)\r
{\r
/* Clear the packet header with all 0s so that the relevant fields can be filled */\r
- memset(&RNDISPacketHeader, 0, sizeof(RNDIS_PACKET_MSG_t));\r
+ memset(&RNDISPacketHeader, 0, sizeof(RNDIS_Packet_Message_t));\r
\r
/* Construct the required packet header fields in the buffer */\r
RNDISPacketHeader.MessageType = REMOTE_NDIS_PACKET_MSG;\r
- RNDISPacketHeader.MessageLength = (sizeof(RNDIS_PACKET_MSG_t) + FrameOUT.FrameLength);\r
- RNDISPacketHeader.DataOffset = (sizeof(RNDIS_PACKET_MSG_t) - sizeof(RNDIS_Message_Header_t));\r
+ RNDISPacketHeader.MessageLength = (sizeof(RNDIS_Packet_Message_t) + FrameOUT.FrameLength);\r
+ RNDISPacketHeader.DataOffset = (sizeof(RNDIS_Packet_Message_t) - sizeof(RNDIS_Message_Header_t));\r
RNDISPacketHeader.DataLength = FrameOUT.FrameLength;\r
\r
/* Send the packet header to the host */\r
- Endpoint_Write_Stream_LE(&RNDISPacketHeader, sizeof(RNDIS_PACKET_MSG_t));\r
+ Endpoint_Write_Stream_LE(&RNDISPacketHeader, sizeof(RNDIS_Packet_Message_t));\r
\r
/* Send the Ethernet frame data to the host */\r
Endpoint_Write_Stream_LE(FrameOUT.FrameData, RNDISPacketHeader.DataLength);\r