Description of the I2S_RX_TAKE_DATA_INT interrupt
Posted: Mon May 28, 2018 6:46 pm
I'm studying I2S DMA with the desire to try write it up and provide some samples. So far so good and ive got good bits of it working. One of the goals I wanted to achieve was to stop receiving and restart it. I have a test driver and log/dump the interrupt status bits. One of those bits is giving me pause and I'm hoping we can collaborate to get some better understanding.
Reading the ESP32 Technical Reference Manual (TRM) as the source of knowledge in this area, I find the register called I2S_INT_RAW_REG which contains a flag called I2S_RX_TAKE_DATA_INT_RAW. As I pump in input data into my receiving ESP32 DMA "catcher" I eventually see this bit toggle on. What I am failing to understand is what this bit/flag/interrupt indicates. Does anyone have an understanding on what this bit means?
Later:
Found a good clue in TRM
12.6 - I2S Interrupts
12.6.1 - FIFO Interrupts
Reading the ESP32 Technical Reference Manual (TRM) as the source of knowledge in this area, I find the register called I2S_INT_RAW_REG which contains a flag called I2S_RX_TAKE_DATA_INT_RAW. As I pump in input data into my receiving ESP32 DMA "catcher" I eventually see this bit toggle on. What I am failing to understand is what this bit/flag/interrupt indicates. Does anyone have an understanding on what this bit means?
Later:
Found a good clue in TRM
12.6 - I2S Interrupts
12.6.1 - FIFO Interrupts
I2S_RX_TAKE_DATA_INT: Triggered when the receive FIFO is almost full.