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

ESP32-C3 and ESP32-S3 will not compile with NeoEsp32I2s0800KbpsMethod #559

Open
mariusmotea opened this issue Feb 4, 2022 · 7 comments
Open
Assignees
Labels
enhancement investigating Currently under investigation for more understanding of the problem.

Comments

@mariusmotea
Copy link

mariusmotea commented Feb 4, 2022

Describe the bug
According to the documentation ESP32-C3 is supported with following note:

NOTE: The ESP32S2 and ESP32C3 only support one i2s hardware bus. Thus you can only use the NeoEsp32I2s0*Method types.

But in Arduino when i set NeoEsp32I2s0800KbpsMethod i get the error "'NeoEsp32I2s0800KbpsMethod' was not declared in this scope"

To Reproduce
Steps to reproduce the behavior:

  1. In Arduino set the board to ESPC32C3 Dev Module
  2. Install last NeoPixelBus library

Expected behavior
Successfully compile the code.

Development environment (please complete the following information):

  • OS: Ubuntu 21.10
  • Build Environment: Arduino IDE v.1.8.15
  • Board target: ESPC32C3 Dev Module
  • Library version: v2.6.9

Minimal Sketch that reproduced the problem:
#include <NeoPixelBus.h>
NeoPixelBus<NeoGrbFeature, NeoEsp32I2s0800KbpsMethod>* strip = NULL;
......
strip = new NeoPixelBus<NeoGrbFeature, NeoEsp32I2s0800KbpsMethod>(newCount, 13); // and recreate with new count
strip->Begin();
.....

Additional context
Compile error:

ESP32_C3_WS281X:56:28: error: 'NeoEsp32I2s0800KbpsMethod' was not declared in this scope
NeoPixelBus<NeoGrbFeature, NeoEsp32I2s0800KbpsMethod>* strip = NULL;
^~~~~~~~~~~~~~~~~~~~~~~~~
/home/marius/Documents/ESP32_C3_WS281X/ESP32_C3_WS281X.ino:56:28: note: suggested alternative: 'NeoEsp32Rmt0800KbpsMethod'
NeoPixelBus<NeoGrbFeature, NeoEsp32I2s0800KbpsMethod>* strip = NULL;
^~~~~~~~~~~~~~~~~~~~~~~~~

"NeoEsp32Rmt0800KbpsMethod" is working but i got a flickering and i think this method is not the best.

Thanks.

@Makuna
Copy link
Owner

Makuna commented Feb 5, 2022

They changed the i2s interface/API enough on the C3 that it's not easy to support it with the same code. This is noted at the top of the NeoEsp32i2sMethods.h file.

@Makuna Makuna self-assigned this Feb 5, 2022
@Makuna
Copy link
Owner

Makuna commented Feb 5, 2022

@mariusmotea Jump into the discussions area to continue the conversation about RMT and flickering; specifically mention exactly what LEDs you are using.

@mariusmotea
Copy link
Author

Hi,

I'm not able to find in Discussions a topic related to RMT and flickering. I can simply tell that i use a WS2812B strip that i use it with no issues on esp8266 with Neo800KbpsMethod. Also i want to mention that now i'm using a prototype board designed by me as i want to replace all esp8266 in my home with some small boards with ESP32C3 that have also a mostfet which cut the power to the strip when all leds are soft off. Maybe my board don't work properly?

@Makuna
Copy link
Owner

Makuna commented Feb 6, 2022

This is the wrong area to "discuss" the RMT flicker, this is for reporting bugs not seeking help. Ask the questions in the discussions area about RMT and I will answer there. (https://github.com/Makuna/NeoPixelBus/discussions).
The original topic (ESP32C3 and I2s methods) is a valid issue that it is not supported.

@Makuna
Copy link
Owner

Makuna commented Jun 12, 2022

ESP32S3 also has a significant interface change for i2s and currently is not supported. Unknown if it follows the C3 or creates yet another interface.

@Makuna Makuna changed the title ESP32-C3 won't compile with NeoEsp32I2s0800KbpsMethod ESP32-C3 and ESP32-S3 will not compile with NeoEsp32I2s0800KbpsMethod Jun 13, 2022
@Makuna
Copy link
Owner

Makuna commented Mar 5, 2023

Note S3 and C3 are supported by BitBang in the DelayBetweenPixels branch

@Makuna
Copy link
Owner

Makuna commented Mar 6, 2024

https://github.com/adafruit/Adafruit_NeoPXL8
Includes DMA support for S3 (C3?) using the LED parallel peripheral.

@Makuna Makuna added the investigating Currently under investigation for more understanding of the problem. label Sep 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement investigating Currently under investigation for more understanding of the problem.
Projects
None yet
Development

No branches or pull requests

2 participants