DataOUTEndpoint = EndpointData;\r
}\r
\r
- for (uint8_t PipeNum = 1; PipeNum < PIPE_TOTAL_PIPES; PipeNum++)\r
- {\r
- uint16_t Size;\r
- uint8_t Type;\r
- uint8_t Token;\r
- uint8_t EndpointAddress;\r
- bool DoubleBanked;\r
-\r
- if (PipeNum == AOAInterfaceInfo->Config.DataINPipeNumber)\r
- {\r
- Size = le16_to_cpu(DataINEndpoint->EndpointSize);\r
- EndpointAddress = DataINEndpoint->EndpointAddress;\r
- Token = PIPE_TOKEN_IN;\r
- Type = EP_TYPE_BULK;\r
- DoubleBanked = AOAInterfaceInfo->Config.DataINPipeDoubleBank;\r
-\r
- AOAInterfaceInfo->State.DataINPipeSize = DataINEndpoint->EndpointSize;\r
- }\r
- else if (PipeNum == AOAInterfaceInfo->Config.DataOUTPipeNumber)\r
- {\r
- Size = le16_to_cpu(DataOUTEndpoint->EndpointSize);\r
- EndpointAddress = DataOUTEndpoint->EndpointAddress;\r
- Token = PIPE_TOKEN_OUT;\r
- Type = EP_TYPE_BULK;\r
- DoubleBanked = AOAInterfaceInfo->Config.DataOUTPipeDoubleBank;\r
-\r
- AOAInterfaceInfo->State.DataOUTPipeSize = DataOUTEndpoint->EndpointSize;\r
- }\r
- else\r
- {\r
- continue;\r
- }\r
- \r
- if (!(Pipe_ConfigurePipe(PipeNum, Type, Token, EndpointAddress, Size,\r
- DoubleBanked ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE)))\r
- {\r
- return AOA_ENUMERROR_PipeConfigurationFailed;\r
- }\r
- }\r
+ AOAInterfaceInfo->Config.DataINPipe.Size = le16_to_cpu(DataINEndpoint->EndpointSize);\r
+ AOAInterfaceInfo->Config.DataINPipe.EndpointAddress = DataINEndpoint->EndpointAddress;\r
+ AOAInterfaceInfo->Config.DataINPipe.Type = EP_TYPE_BULK;\r
+ \r
+ AOAInterfaceInfo->Config.DataOUTPipe.Size = le16_to_cpu(DataOUTEndpoint->EndpointSize);\r
+ AOAInterfaceInfo->Config.DataOUTPipe.EndpointAddress = DataOUTEndpoint->EndpointAddress;\r
+ AOAInterfaceInfo->Config.DataOUTPipe.Type = EP_TYPE_BULK;\r
+ \r
+ if (!(Pipe_ConfigurePipeTable(&AOAInterfaceInfo->Config.DataINPipe, 1)))\r
+ return false;\r
+ \r
+ if (!(Pipe_ConfigurePipeTable(&AOAInterfaceInfo->Config.DataOUTPipe, 1)))\r
+ return false;\r
\r
AOAInterfaceInfo->State.IsActive = true;\r
AOAInterfaceInfo->State.InterfaceNumber = AOAInterface->InterfaceNumber;\r
\r
uint8_t ErrorCode;\r
\r
- Pipe_SelectPipe(AOAInterfaceInfo->Config.DataOUTPipeNumber);\r
+ Pipe_SelectPipe(AOAInterfaceInfo->Config.DataOUTPipe.Address);\r
\r
Pipe_Unfreeze();\r
ErrorCode = Pipe_Write_Stream_LE(Buffer, Length, NULL);\r
\r
uint8_t ErrorCode;\r
\r
- Pipe_SelectPipe(AOAInterfaceInfo->Config.DataOUTPipeNumber);\r
+ Pipe_SelectPipe(AOAInterfaceInfo->Config.DataOUTPipe.Address);\r
\r
Pipe_Unfreeze();\r
ErrorCode = Pipe_Write_Stream_LE(String, strlen(String), NULL);\r
\r
uint8_t ErrorCode;\r
\r
- Pipe_SelectPipe(AOAInterfaceInfo->Config.DataOUTPipeNumber);\r
+ Pipe_SelectPipe(AOAInterfaceInfo->Config.DataOUTPipe.Address);\r
Pipe_Unfreeze();\r
\r
if (!(Pipe_IsReadWriteAllowed()))\r
if ((USB_HostState != HOST_STATE_Configured) || !(AOAInterfaceInfo->State.IsActive))\r
return 0;\r
\r
- Pipe_SelectPipe(AOAInterfaceInfo->Config.DataINPipeNumber);\r
+ Pipe_SelectPipe(AOAInterfaceInfo->Config.DataINPipe.Address);\r
Pipe_Unfreeze();\r
\r
if (Pipe_IsINReceived())\r
\r
int16_t ReceivedByte = -1;\r
\r
- Pipe_SelectPipe(AOAInterfaceInfo->Config.DataINPipeNumber);\r
+ Pipe_SelectPipe(AOAInterfaceInfo->Config.DataINPipe.Address);\r
Pipe_Unfreeze();\r
\r
if (Pipe_IsINReceived())\r
\r
uint8_t ErrorCode;\r
\r
- Pipe_SelectPipe(AOAInterfaceInfo->Config.DataOUTPipeNumber);\r
+ Pipe_SelectPipe(AOAInterfaceInfo->Config.DataOUTPipe.Address);\r
Pipe_Unfreeze();\r
\r
if (!(Pipe_BytesInPipe()))\r