Part Number:CC3200AUDBOOST
Tool/software: Code Composer Studio
Hi,
I am using "wifi_audio_app" provided with SDK1.3.0.But I have only 1 CC3200 board.
One question is if the audio example default to loopback without modifications.
Another problem is when I use the audio demo without modifications, the code can always run into the DMAPingPongCompleteAppCB_opt() function even when the CC3200 board isn't connect to the audio booster
pack when I use the debug mode.As is shown in the annotation below,the code can always reach the statement I2SIntClear(I2S_BASE, I2S_INT_XDMA), but can only reach the code inside the "if" statement once
when started.
if(MAP_uDMAIntStatus() & 0x00000020)
{
//Clear the MCASP write interrupt
I2SIntClear(I2S_BASE, I2S_INT_XDMA); //can always reach here
pControlTable = MAP_uDMAControlBaseGet();
if((pControlTable[ulPrimaryIndexRx].ulControl & UDMA_CHCTL_XFERMODE_M) \
== 0)
{
if( IsBufferEmpty(g_pPlayBuffer) || !g_uiPlayWaterMark )
{
g_uiPlayWaterMark = IsBufferSizeFilled(g_pPlayBuffer,PLAY_WATERMARK); //can reach here once when started,then can never reach here
MAP_uDMAChannelTransferSet(UDMA_CH5_I2S_TX,
UDMA_MODE_PINGPONG,
(void *)&gaucZeroBuffer[0],
(void *)I2S_TX_DMA_PORT,
CB_TRANSFER_SZ );
}
else
{
MAP_uDMAChannelTransferSet(UDMA_CH5_I2S_TX,
UDMA_MODE_PINGPONG,
(void *)GetReadPtr(g_pPlayBuffer),
(void *)I2S_TX_DMA_PORT,
CB_TRANSFER_SZ );
UpdateReadPtr(g_pPlayBuffer, (2*CB_TRANSFER_SZ));
}
MAP_uDMAChannelEnable(UDMA_CH5_I2S_TX);
}
else if((pControlTable[ulAltIndexRx].ulControl & UDMA_CHCTL_XFERMODE_M) \
== 0)
{
if( IsBufferEmpty(g_pPlayBuffer) || !g_uiPlayWaterMark )
{
g_uiPlayWaterMark = IsBufferSizeFilled(g_pPlayBuffer,PLAY_WATERMARK); //can reach here once when started,then can never reach here
MAP_uDMAChannelTransferSet(UDMA_CH5_I2S_TX|UDMA_ALT_SELECT,
UDMA_MODE_PINGPONG,
(void *)&gaucZeroBuffer[0],
(void *)I2S_TX_DMA_PORT,
CB_TRANSFER_SZ );
}
else
{
MAP_uDMAChannelTransferSet(UDMA_CH5_I2S_TX|UDMA_ALT_SELECT,
UDMA_MODE_PINGPONG,
(void *)GetReadPtr(g_pPlayBuffer),
(void *)I2S_TX_DMA_PORT,
CB_TRANSFER_SZ );
UpdateReadPtr(g_pPlayBuffer, (2*CB_TRANSFER_SZ));
}
MAP_uDMAChannelEnable(UDMA_CH5_I2S_TX|UDMA_ALT_SELECT);
}
}
Any help is really appreciated.
Thanks.
Eason Zhong