Skip to content

I2D driver doesn't work (ESP8266-01) (GIT8266O-769) #1192

Open
@papadeltasierra

Description

@papadeltasierra

Ref: #981

The issue above seems to be same issue but has been closed, claiming (if I read it correctly) some fault on the board being used. However I know my board works and yet this example still does not work.

Environment

  • Development Kit:
  • IDF version: a192988
  • Development Env: Make
  • Operating System: Ubuntu
  • Power Supply: external 5V

Problem Description

I have compiled and installed the examples/peripherals/i2s example but it does not work. I added a log to trace the number of bytes written by i2s_write() and this is always zero.

From reading the code and adding logging in various places, it would appear that the interrupt handler has to signal an underun, or at least some sort of TX event, before the curr_ptr is given a buffer to write to. As far as I can see the interrupt NEVER triggers.

This is NOT a hardware issue as my very old "hand rolled DMA code" from about 5 years ago correctly runs DMAso tehre is some sort of bug in the current SDK.

On thing that does look odd is that when the TX interrupt is enabled, we tweak the rx_link (sic) and when the RX interrupt is en/disabled, we tweak the tx_link! However this is not the cause of the issue as I tried switching these and this had not affect.

Expected Behavior

i2s_write() writes the expected number of bytes and the DMA causes the appropriate lines to switch appropriately.

Actual Behavior

i2s_write() always returns "0 bytes written" and there apears to be no "action" on the SLC lines.

Steps to repropduce

  1. Add a trace log after the is2_write() in i2s_example_main.c to trace the number of bytes written.
  2. Build and install the application
  3. Watch the debug output.

Code to reproduce this issue

just the is2_example_main.c application.```
Debug log goes here.
Please copy the plain text here for us to search the error log. Or attach the complete logs but leave the main part here if the log is too long.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions