Pipe_SelectPipe(Number);\r
Pipe_EnablePipe();\r
\r
- *((uint32_t*)AVR32_USBB_UPCFG0)[USB_SelectedPipe] = 0;\r
- *((uint32_t*)AVR32_USBB_UPCFG0)[USB_SelectedPipe] = (AVR32_USBB_ALLOC_MASK |\r
- ((uint32_t)Type << AVR32_USBB_PTYPE_OFFSET) |\r
- ((uint32_t)Token << AVR32_USBB_PTOKEN_OFFSET) |\r
- ((uint32_t)Banks << AVR32_USBB_PBK_OFFSET) |\r
- ((EndpointNumber & PIPE_EPNUM_MASK) << AVR32_USBB_PEPNUM_OFFSET));\r
+ ((uint32_t*)AVR32_USBB_UPCFG0)[USB_SelectedPipe] = 0;\r
+ ((uint32_t*)AVR32_USBB_UPCFG0)[USB_SelectedPipe] = (AVR32_USBB_ALLOC_MASK |\r
+ ((uint32_t)Type << AVR32_USBB_PTYPE_OFFSET) |\r
+ ((uint32_t)Token << AVR32_USBB_PTOKEN_OFFSET) |\r
+ ((uint32_t)Banks << AVR32_USBB_PBK_OFFSET) |\r
+ ((EndpointNumber & PIPE_EPNUM_MASK) << AVR32_USBB_PEPNUM_OFFSET));\r
\r
Pipe_SetInfiniteINRequests();\r
\r
\r
void Pipe_ClearPipes(void)\r
{\r
- UPINT = 0;\r
-\r
for (uint8_t PNum = 0; PNum < PIPE_TOTAL_PIPES; PNum++)\r
{\r
Pipe_SelectPipe(PNum);\r
- *((uint32_t*)AVR32_USBB_UPCFG0)[USB_SelectedPipe] = 0;\r
+ ((uint32_t*)AVR32_USBB_UPCFG0)[USB_SelectedPipe] = 0;\r
+ ((uint32_t*)AVR32_USBB_UPCON0CLR)[USB_SelectedPipe] = 0xFFFFFFFF;\r
Pipe_DisablePipe();\r
}\r
}\r