...
lSize = 512;
CyU3PMemSet((uint8_t *)&lEPCfg, 0, sizeof(lEPCfg));
lEPCfg.enable = CyTrue;
lEPCfg.epType = CY_U3P_USB_EP_BULK;
lEPCfg.burstLen = 1;
lEPCfg.streams = 0;
lEPCfg.pcktSize = lSize;
/* Endpoints configuration. */
lRetStatus = CyU3PSetEpConfig(CY_FX_EP_PRODUCER, &lEPCfg);
lRetStatus = CyU3PSetEpConfig(CY_FX_EP_CONSUMER, &lEPCfg);
/* Create a DMA Auto Channel between two sockets of the U port.
* DMA size is set based on the USB speed.
*/
lDMACfg.size = lSize;
lDMACfg.count = PT_FX3_U3V_DMA_BUF_CNT;
lDMACfg.prodSckId = CY_FX_EP_PRODUCER_SOCKET;
lDMACfg.consSckId = CY_U3P_LPP_SOCKET_UART_CONS;
lDMACfg.dmaMode = CY_U3P_DMA_MODE_BYTE;
lDMACfg.notification = 0;
lDMACfg.cb = (CyU3PDmaCallback_t)0;
lDMACfg.prodHeader = 0;
lDMACfg.prodFooter = 0;
lDMACfg.consHeader = 0;
lDMACfg.prodAvailCount = 0;
lRetStatus = CyU3PDmaChannelCreate(&sDMAChHandle[0],
CY_U3P_DMA_TYPE_AUTO,
&lDMACfg);
/* Create a DMA Auto Channel between two sockets of the U port.
* DMA size is set based on the USB speed.
*/
lDMACfg.size = 16; //lSize;
lDMACfg.count = PT_FX3_U3V_DMA_BUF_CNT;
lDMACfg.prodSckId = CY_U3P_LPP_SOCKET_UART_PROD;
lDMACfg.consSckId = CY_FX_EP_CONSUMER_SOCKET;
lRetStatus = CyU3PDmaChannelCreate(&sDMAChHandle[1],
CY_U3P_DMA_TYPE_AUTO,
&lDMACfg);
/* Flush the Endpoint memory. */
CyU3PUsbFlushEp(CY_FX_EP_PRODUCER);
CyU3PUsbFlushEp(CY_FX_EP_CONSUMER);
/* Set DMA Channel transfer size. */
lRetStatus = CyU3PDmaChannelSetXfer(&sDMAChHandle[0], 0);
lRetStatus = CyU3PDmaChannelSetXfer(&sDMAChHandle[1], 0);