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
Use arduino-esp32 2.0.2 for ESP32-S2 #2452
Conversation
Seems ESP Async Web Server needs an update, too.
|
Needs this: me-no-dev/ESPAsyncWebServer@5613e66 |
WLED uses customised ESPAsyncWebServer. |
Will apply the patch to my EspAsyncWebServer fork, thank you :) |
Thanks! I tried it and it compiled without errors here. :-) |
4af7666
to
107bb7d
Compare
LittleFS is merged into it.
Because it is tiny crap that isn't necessary as a separate changeset. ;-) Just to clean up the history. C3 isn't ready and cannot be merged. So it should be a different PR for S2. |
Cleaning up history is described in the link provided. |
Well, I thought it was ready. Then I find some tiny nitpics. So ready to go. :-) |
Compiled without issues but after flashing...
(ESP32-S2-Saola-1R Dev Board) Upload and Monitor output...
OK so it looks like it is something with using ESPHome to flash, uploading from PIO works but still issues with LittleFS. |
Thanks for testing! I have the same error here but this isn't a regression as the previous -alpha1 has the same problem. Also WLED is running (see AP).
See platformio/platform-espressif32#546 and espressif/arduino-esp32#6039 |
Use platform of tasmota until upstream released it and use board_build.flash_mode = qio
@ByronAP Ok, I found a fix for it. 😉 |
@Aircoookie Could you trigger a PR action? It isn't running for my commits. :-) |
Well it kinda works... hehee
|
Strange, my S2 drive my 600 LED Stripes here. I have an ESP12k from AI Thinker. What do you use? |
And now it's bootlooping
I'm using ESP32-S2-Saola-1R Dev Boards https://www.amazon.com/gp/product/B087T7HWFQ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1 |
Well, could you erase the flash and re-flash again? |
board_build.mcu = esp32s2 | ||
platform = espressif32 | ||
board = esp32-s2-saola-1 | ||
platform = https://github.com/tasmota/platform-espressif32/releases/download/v3.4.1/Tasmota-platform-espressif32.zip |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe you could try this as platform.
https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2idf/platform-espressif32-2.0.2.zip
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Diner time but yeah I'll try this in a bit
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ehh no real difference from changing platforms
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tried another board fresh out the bag and same
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3ffe6100,len:0x510
load:0x4004c000,len:0xa50
load:0x40050000,len:0x28bc
entry 0x4004c18c
./components/esp_littlefs/src/littlefs/lfs.c:1071:error: Corrupted dir pair at {0x0, 0x1}
E (284) esp_littlefs: mount failed, (-84)
E (285) esp_littlefs: Failed to initialize LittleFS
[ 749][E][esp32-hal-misc.c:125] disableCore0WDT(): Failed to remove Core 0 IDLE task from WDT
[ 5149][E][vfs_api.cpp:102] open(): /littlefs/presets.json does not exist, no permits for creation
[ 5173][E][vfs_api.cpp:102] open(): /littlefs/wsec.json does not exist, no permits for creation
[ 5247][E][vfs_api.cpp:102] open(): /littlefs/ledmap.json does not exist, no permits for creation
Ada
Side note: The usable GPIOs on the S2 are different (more options) and should be reflected in the UI |
Thank you for the PR! My S2 seems to be able to retain settings in principle now, though write operations (presets or config) will occasionally trigger the crash @BryonaP has observed above. I need to check if there is already an exception decoder for the S2. |
Thanks! Maybe it would be enough to upgrade to FastLED 3.5.0 (FastLED/FastLED@60fa753) which is required for ESP32-C3, too. |
FastLED is only used for palettes and math by WLED, the driving is done by NeoPixelBus :) |
Tried it with
I changed "Disable WiFi sleep:" and I got this. After this the WiFi setting was gone. But all other settings were still stored. I cannot reproduce this.
https://github.com/espressif/esp-idf/blob/master/components/hal/esp32s2/include/hal/rmt_ll.h#L314 The stacktrace seems really short. Maybe you get a better stacktrace @ByronAP ? |
Hmm it crashes within an RMT (LED driving peripheral) interrupt service routine. I think there may be a problem with LED driving while saving to the filesystem. If that is the case, saving to presets or config should frequently crash if an effect mode is running and never if the LED strip is turned off via the GUI. I don't have the slightest idea about how one would work around that issue, except making sure that all LED updates are finished before writing to the filesystem, which I don't think is possible from asyncronous network functions. |
@Aircoookie I have updated saveTemporaryPreset() in my fork which can handle such situation. |
sorry @misery been a bit busy, I will try and get to it sometime tomorrow or Monday |
Will merge this now since it boosts usability of the s2 from "not practical" to "somewhat usable". We can create a separate issue for the FS write crash, or continue discussion here. |
LittleFS is merged into it.