I2S issues with PLIB_SPI_ReceiverFIFOIsEmpty
I am trying to bring up a custom board with a PIC32MZ2064DAG176 (Harmony 2.05.01 ). I am trying to communicate with the MAX98372 Amplifier over I2S to play alert tones. I have configured the i2s driver as the part dictates. I can load up the i2c queue with the following code.
DRV_HANDLE handle = DRV_I2S_Open(DRV_I2S_INDEX_0, DRV_IO_INTENT_WRITE);
if (DRV_HANDLE_INVALID == handle)
{
return(-1);
}
i2sStatus = DRV_I2S_Status(sysObj.drvI2S0);
if (SYS_STATUS_UNINITIALIZED < i2sStatus)
{
DRV_I2S_BUFFER_HANDLE bufferHandle;
DRV_I2S_BufferAddWrite(handle, &bufferHandle, (void*)alert1, ALERT_1_SIZE);
i2sStatus = SYS_STATUS_UNINITIALIZED;
}
I have traced the code down to the point the data is in the queue but the queue will not process they data because this condition is not met.
drv_i2s.c line 562
if (false == PLIB_SPI_ReceiverFIFOIsEmpty(drvObj->spiID))
Seems like I am missing something. Any help would be much appropriated.