- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am using Multicasting example firmware which came with SDK.I want to transfer the same data from P-Port to U-Port and S0-Port.
dmaCfg.prodSckId[0] = CY_FX_EP_PRODUCER_SOCKET;
dmaCfg.consSckId[0] = CY_FX_EP_CONSUMER_1_SOCKET;
dmaCfg.consSckId[1] = CY_FX_EP_CONSUMER_2_SOCKET;
I declared above prod and cons sockets as
#define CY_FX_EP_PRODUCER_SOCKET CY_U3P_PIB_SOCKET_0/* Socket 1 is EP1 OUT */
#define CY_FX_EP_CONSUMER_1_SOCKET CY_U3P_UIB_SOCKET_CONS_1 /* Socket 1 is EP1 IN */
#define CY_FX_EP_CONSUMER_2_SOCKET CY_U3P_SIB_SOCKET_0/* Socket 2 is EP2 IN */
After the above changes,the device is not enumerating in Control center.Why?
Regards,
Srujana.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Srujana,
Please confirm that did you start and initialize the sib block before creating the DMA channel
Regards,
Rashi
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Srujana,
Please let me know that is the CyU3PDmaMultiChannelCreate API passing successfully or is it returning error?
apiRetStatus = CyU3PDmaMultiChannelCreate (&glChHandleBulkLp,
CY_U3P_DMA_TYPE_MULTICAST, &dmaCfg);
if (apiRetStatus != CY_U3P_SUCCESS)
{
CyU3PDebugPrint (4, "CyU3PDmaMultiChannelCreate failed, Error code = %d\n", apiRetStatus);
CyFxAppErrorHandler(apiRetStatus);
}
Please get the debug prints
Regards,
Rashi
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Rashi,
Please let me know that is the CyU3PDmaMultiChannelCreate API passing successfully or is it returning error?
Just now i checked this and came to know that it is returning error 64.
Below is my DMA Channel Configuration
dmaCfg.size = size;
dmaCfg.count = CY_FX_BULKLP_DMA_BUF_COUNT;
dmaCfg.validSckCount = 2;
dmaCfg.prodSckId[0] = CY_FX_EP_PRODUCER_SOCKET;
dmaCfg.consSckId[0] = CY_FX_EP_CONSUMER_1_SOCKET;
dmaCfg.consSckId[1] = CY_FX_EP_CONSUMER_2_SOCKET;
dmaCfg.dmaMode = CY_U3P_DMA_MODE_BYTE;
dmaCfg.notification = CY_U3P_DMA_CB_PROD_EVENT | CY_U3P_DMA_CB_XFER_CPLT;
dmaCfg.cb = CyFxBulkLpDmaCallback;
dmaCfg.prodHeader = 0;
dmaCfg.prodFooter = 0;
dmaCfg.consHeader = 0;
dmaCfg.prodAvailCount = 0;
apiRetStatus = CyU3PDmaMultiChannelCreate (&glChHandleBulkLp,
CY_U3P_DMA_TYPE_MULTICAST, &dmaCfg);
if (apiRetStatus != CY_U3P_SUCCESS)
{
CyU3PDebugPrint (4, "CyU3PDmaMultiChannelCreate failed, Error code = %d\n", apiRetStatus);
CyFxAppErrorHandler(apiRetStatus);
}
Regards,
Srujana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Srujana,
Please confirm that did you start and initialize the sib block before creating the DMA channel
Regards,
Rashi
Rashi