Question:
What is the reason for getting ADI_SPI_QUEUE_FULL error in nonblocking mode while calling adi_spi_SubmitBuffer() three times inside the interrupt handler?
Answer:
While calling first adi_spi_SubmitBuffer() API, the Transceiver0 is loaded into the primary transceiver and calling the second adi_spi_SubmitBuffer() API, the Transceiver1 is loaded into the secondary transceiver. If we call the third adi_spi_SubmitBuffer() API, ADI_SPI_QUEUE_FULL error occurs. adi_spi_GetBuffer() API can be used to know if the submitted transfer is completed and then only we can submit a new buffer. Non-blocking mode freeing is happened via the adi_spi_GetBuffer APIs.