Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I2S_FIFO_WR_REG & I2S_FIFO_WR_REG undefined (IDFGH-7273) #8862

Closed
1 task done
HoverClub opened this issue Apr 29, 2022 · 4 comments
Closed
1 task done

I2S_FIFO_WR_REG & I2S_FIFO_WR_REG undefined (IDFGH-7273) #8862

HoverClub opened this issue Apr 29, 2022 · 4 comments
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally

Comments

@HoverClub
Copy link

HoverClub commented Apr 29, 2022

Description

As it says in the title the I2S_FIFO_WR_REG & I2S_FIFO_WR_REG aren't defined in '''i2s_struct.h'''. These regs are documented in the tech ref manual 12.7 and actually work correctly if added to i2s_struct.h:

typedef volatile struct i2s_dev_s {
    //uint32_t reserved_0;
    //uint32_t reserved_4;
    uint32_t fifo_wr;
    uint32_t fifo_rd;
    union {
        struct {

Debug Message

Compiling .pio/build/wemos_d1_mini32/src/testfifo1.cpp.o
src/testfifo1.cpp: In function 'void i2s_init()':
src/testfifo1.cpp:189:10: error: 'i2s_dev_t' {aka 'volatile struct i2s_dev_s'} has no member named 'fifo_wr'
     I2S0.fifo_wr = 0x44993388; // init some data for testing
          ^~~~~~~~~~~
*** [.pio/build/wemos_d1_mini32/src/testfifo1.cpp.o] Error 1
  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.
@espressif-bot espressif-bot added the Status: Opened Issue is new label Apr 29, 2022
@github-actions github-actions bot changed the title I2S_FIFO_WR_REG & I2S_FIFO_WR_REG undefined I2S_FIFO_WR_REG & I2S_FIFO_WR_REG undefined (IDFGH-7273) Apr 29, 2022
@Alvin1Zhang
Copy link
Collaborator

Thanks for reporting. Would you please help provide more details as suggested in the issue template? Information like elf, sdk configuration, backtrace, log outputs, commit ID, hardware and etc. would help us debug further. Thanks.

@HoverClub
Copy link
Author

I'm using the Arduino framework with the file i2s_struct.h which is the missing defines for the I2S_FIFO_WR_REG and I2S_FIFO_RD_REG detailed in the Tech manual 12.7, etc. Hardware is irrelevant as its' a framework issue. IDF file is here: https://github.com/espressif/esp-idf/blob/master/components/soc/esp32/include/soc/i2s_struct.h
it has these reg locations defined as reserved.

@L-KAYA
Copy link
Collaborator

L-KAYA commented May 7, 2022

Thank for reporting this issue, I checked both i2s_struct.h and i2s_reg.h and also did a test on that two fields, I think this two fields are probably dropped while generating header files, it will be added back.

@espressif-bot espressif-bot added Resolution: NA Issue resolution is unavailable Status: Done Issue is done internally Resolution: Done Issue is done internally and removed Status: Opened Issue is new Resolution: NA Issue resolution is unavailable labels May 24, 2022
@Alvin1Zhang
Copy link
Collaborator

Thanks for reporting, fix on master branch is available at 94d7ae0, and we will also backport the fix to release/4.4, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally
Projects
None yet
Development

No branches or pull requests

4 participants