Page 1 of 1

#if SOC_GDMA_SUPPORTED is false but getting events from GDMA function

Posted: Wed Jul 17, 2024 1:33 am
by noweare
Hello.

I am using esp-idf 4.x.x.

My program is using i2s peripheral.

I am getting the "i2s_event_tx_q_ovf" event but to get that event the gdma would have to be activated.
As far as I know, that functionality is not implemented in the esp32 and the function that sends that
event is grayed out when I bring the i2s.c file into my project.

Maybe someone who has more experience with i2s can shed some light on this.

TIA

Re: #if SOC_GDMA_SUPPORTED is false but getting events from GDMA function

Posted: Wed Jul 17, 2024 7:20 pm
by MicroController
The IDF driver abstracts the GDMA support of the hardware away to provide a unified application interface across the different SoC.
See e.g. https://github.com/espressif/esp-idf/bl ... i2s.c#L467
which is in the #else branch of the #if SOC_GDMA_SUPPORTED.

Re: #if SOC_GDMA_SUPPORTED is false but getting events from GDMA function

Posted: Thu Jul 18, 2024 12:20 am
by noweare
MicroController wrote:
Wed Jul 17, 2024 7:20 pm
The IDF driver abstracts the GDMA support of the hardware away to provide a unified application interface across the different SoC.
See e.g. https://github.com/espressif/esp-idf/bl ... i2s.c#L467
which is in the #else branch of the #if SOC_GDMA_SUPPORTED.
That is a link to version 5. I'm using version 4.4 of the idf which does not include the code that sends the tx overflow event
to the queue.

Thanks for responding. :)

Re: #if SOC_GDMA_SUPPORTED is false but getting events from GDMA function

Posted: Thu Jul 18, 2024 6:16 am
by MicroController
noweare wrote:
Thu Jul 18, 2024 12:20 am
That is a link to version 5.
No, it's v4.4. Specifically, the code appears to be there since v4.4.3.

Re: #if SOC_GDMA_SUPPORTED is false but getting events from GDMA function

Posted: Thu Jul 18, 2024 1:04 pm
by noweare
No, it's v4.4. Specifically, the code appears to be there since v4.4.3.
Your right.
I am using platformio, which doesn't include source of the esp-idf version that it works with.
I was looking at v 4.4.2 of the idf which I used to look at source. The esp-idf version
that platformio uses is actually 4.4.7
I did see that issue was fixed in v4.4.3 as you said.
My bad. Thanks for looking into it.
Happy programming. :)