-
Hi, I'm just getting started on NightDriver via Platform IO, so I just wanted to build something simple to test it. As suggested, I built the DEMO version, but I did want to activate WiFi and the Webserver so I could control the effects. I'm using an ESP32 TTGO T1 board (has OLED display onboard, but I'm not using it). Unfortunately, I cannot get the Webserver to work, and I've observed two different outcomes that occur under two different configurations: Scenario #1 I noticed in another thread (#611) that it was suggested that the Webserver failed because of lack of memory, but as you can see in the Serial Monitor log below I have ~55K of memory, which I understand is enough for the Webserver I know I have a good WiFi connection as I can connect to the ESP32 via Telnet connection to see the debug output. I was hoping that disabling the NTP might free up more memory and allow the webserver to run. Unfortunately, I observed another strange problem; the Webserver appears to start (since I don't get the message [AsyncTCP.cpp:1251] begin(): failed to start task), but then the Wifi disconnects and will not reconnect. See the second set of Serial Monitor logs below. Note that Wifi remains connected if I build with ENABLE_WEBSERVER=0. The other strange thing is that I now have less free memory (~41K), yet it appears the server was at least connected for a while. I am very puzzled about what is going on here and would appreciate some help to get the webserver running reliably. Here is the relevant excerpt for the Globals.h file
.... Here is the relevant excerpt from effects.cpp to show what effects I'm running (only 4) #else
Scenario #1 Serial Monitor Output - Connected to WiFi, but failed to start WebServer ([AsyncTCP.cpp:1251] begin(): failed to start task)ets Jun 8 2016 00:22:57 Scenario #2 Serial Monitor Output - Webserver causes WiFi to Disconnectets Jun 8 2016 00:22:57 |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 4 replies
-
Hi, and welcome.
It seems that you've looked through the history enough to correctly
identify the issue. You're just in denial. ;-)
This question is almost coming up enough that I wonder if we should start
simply failing to compile the combination of no ram + networking and/or
bootlooping the board if no PSRAM is found.
We gain a few steps in this battle and we lose a few steps every few weeks.
(The natural tendency of code is not to shrink over time.) Unfortunately,
there's something in the networking stack that's failing to get the memory
it needs and it's (to our great annoyance) refusing to announce that. It
just silently falls over.
NTP takes almost nothing. A couple of times an hour, we send a packet, we
receive a packet and even if that totally fails, we keep trucking. (I think
that's the very UDP error you have in one of your examples, in fact; it's
just not fatal.)
As I typed in a very recent post
<#611 (comment)>,
boards with 8M are going for about $5. Even name brand groups like Adafruit
have 2MB boards for $20. Lilygo has an 8MB board for $9. I don't see anyone
doing a lot of heroic engineering effort to avoid using better boards.
If you feel like semi-heroic efforts, I'll offer that this project relies
on both ESPAsyncWebServer and ESPAsyncTCP, which are widely considered to
be too broken to fix at this point. See
https://www.youtube.com/watch?v=O2W8uyC-Gio for an analysis, though I'm not
sure his replacement is right for us.
Just this week, WLED, faced with the same form of problem (probably worse
as they care about 8266) LGTM'ed a PR in
Aircoookie/WLED#3784 to replace the stack
after failing (?) to land a similar replacement with PsychicHTTP, which is
a closer to drop-in replacement from
https://github.com/Aircoookie/WLED/pull/3726/files. Given our number of
developers that care about the difference in a $3 board and a $5 board and
the difference of implementation cost of Psychic vs. H4, I could wager
which approach would be most likely to get traction, though I'd want to
research why WLED went the willmmiles way. Actually, if it really is a
drop-in replacement like that PR indicates, maybe that's the answer.
For entertainment, can you try the equivalent of the '3784 PR in your work
tree and report improvement or failure?
You might try throwing other features overboard (I see colordatasrever in
your output. That can probably go for simple use. Perhaps remote "debug"?
Use a serial port...) instead.
Sorry that it's not a great answer. It's a bit frustrating that all the
major devs on this project have taken multiple swings at making this better
and we just keep losing this battle...and it's frustrating that (as
mentioned in H4's video) AsyncTCP's silent failure if you're out of that
"safe zone" that depends on packet timing, ordering, and even fragmentation
is a thing.
I don't think I even have any boards without PSRAM so I'm not likely to
champion any solution here beyond just disabling this combination.
…On Sun, Mar 3, 2024 at 10:29 PM achronoxx ***@***.***> wrote:
Hi,
I'm just getting started on NightDriver via Platform IO, so I just wanted
to build something simple to test it.
As suggested, I built the DEMO version, but I did want to activate WiFi
and the Webserver so I could control the effects. I'm using an ESP32 TTGO
T1 board (has OLED display onboard, but I'm not using it).
Unfortunately, I cannot get the Webserver to work, and I've observed two
different outcomes that occur under two different configurations:
Scenario #1
<#1>
The Wifi connects, but the Web Server fails to start, as indicated by the
following status shown in the Serial Monitor: [AsyncTCP.cpp:1251] begin():
failed to start task - see below for complete output from Serial Montior.
I noticed in another thread (#611
<#611>)
that it was suggested that the Webserver failed because of lack of memory,
but as you can see in the Serial Monitor log below I have ~55K of memory,
which I understand is enough for the Webserver
... Mem: 54896, LargestBlk: 36852, PSRAM Free: 0/0 ...
I know I have a good WiFi connection as I can connect to the ESP32 via
Telnet connection to see the debug output.
Scenario #2
<#2>
The other scenario, only differs from the above by setting
#define ENABLE_NTP 0 (was 1 above).
I was hoping that disabling the NTP might free up more memory and allow
the webserver to run.
Unfortunately, I observed another strange problem; the Webserver appears
to start (since I don't get the message [AsyncTCP.cpp:1251] begin(): failed
to start task), but then the Wifi disconnects and will not reconnect. See
the second set of Serial Monitor logs below. Note that Wifi remains
connected if I build with ENABLE_WEBSERVER=0.
The other strange thing is that I now have less free memory (~41K), yet it
appears the server was at least connected for a while.
I am very puzzled about what is going on here and would appreciate some
help to get the webserver running reliably.
Here is the relevant excerpt for the Globals.h file
....
#elif DEMO
// This is a simple demo configuration. To build, simply connect the data lead from a WS2812B
// strip to pin 5 or other pin marked PIN0 below. This does not use the OLED, LCD, or anything fancy, it simply drives the
// LEDs with a simple rainbow effect as specified in effects.cpp for DEMO.
//
// Please ensure you supply sufficent power to your strip, as even the DEMO of 144 LEDs, if set
// to white, would overload a USB port.
#ifndef PROJECT_NAME
#define PROJECT_NAME "Demo"
#endif
#define MATRIX_WIDTH 144
#define MATRIX_HEIGHT 1
#define NUM_LEDS (MATRIX_WIDTH*MATRIX_HEIGHT)
#define NUM_CHANNELS 1
#define ENABLE_AUDIO 0
/* AC: I added this for testing ????? */
#define DEFAULT_EFFECT_INTERVAL 5000
// Once you have a working project, selectively enable various additional features by setting
// them to 1 in the list below. This DEMO config assumes no audio (mic), or screen, etc.
#ifndef ENABLE_WIFI
#define ENABLE_WIFI 1 // Connect to WiFi
#endif
#define INCOMING_WIFI_ENABLED 0 // Accepting incoming color data and commands
#define TIME_BEFORE_LOCAL 0 // How many seconds before the lamp times out and shows local content
#define ENABLE_NTP 0 // Set the clock from the web
#define ENABLE_OTA 0 // Accept over the air flash updates
#if M5STICKC || M5STICKCPLUS || M5STACKCORE2
#define LED_PIN0 32
#elif LILYGOTDISPLAYS3
#define LED_PIN0 21
#else
#define LED_PIN0 12 //5
#endif
// The webserver serves files that are baked into the device firmware. When running you should be able to
// see/select the list of effects by visiting the chip's IP in a browser. You can get the chip's IP by
// watching the serial output or checking your router for the DHCP given to a new device; often they're
// named "esp32-" followed by a seemingly random 6-digit hexadecimal number.
#ifndef ENABLE_WEBSERVER
#define ENABLE_WEBSERVER 1 // Turn on the internal webserver
#endif
....
Here is the relevant excerpt from effects.cpp to show what effects I'm
running (only 4)
#else
ADD_EFFECT(EFFECT_STRIP_RAINBOW_FILL, RainbowFillEffect, 6, 2); // Simple effect if not otherwise defined above
// AC: I added below to test ??????
//ADD_EFFECT(EFFECT_STRIP_STATUS, StatusEffect, CRGB::Red);
ADD_EFFECT(EFFECT_STRIP_STATUS, StatusEffect, CRGB::Green);
ADD_EFFECT(EFFECT_STRIP_STATUS, StatusEffect, CRGB::Blue);
//ADD_EFFECT(EFFECT_STRIP_FIRE, FireEffect, "Medium Fire", NUM_LEDS, 1, 3, 100, 3, 4, true, true);
ADD_EFFECT(EFFECT_STRIP_BOUNCING_BALL, BouncingBallEffect, 3, true, true, 1);
#endif
Scenario #1
<#1> Serial
Monitor Output - Connected to WiFi, but failed to start WebServer
([AsyncTCP.cpp:1251] begin(): failed to start task)
ets Jun 8 2016 00:22:57
22:18:52.863 ->
22:18:52.863 -> rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
22:18:52.863 -> configsip: 0, SPIWP:0xee
22:18:52.863 ->
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
22:18:52.863 -> mode:DIO, clock div:2
22:18:52.863 -> load:0x3fff0030,len:1184
22:18:52.863 -> load:0x40078000,len:13232
22:18:52.863 -> load:0x40080400,len:3028
22:18:52.863 -> entry 0x400805e4
22:18:53.473 -> E (611) esp_core_dump_flash: No core dum⸮��⸮⸮ѥѥ⸮⸮⸮found!
22:18:53.473 -> E (612) esp_core_dump_flash: No core dump partition found!
22:18:53.566 -> Replacing Idle Tasks with TaskManager...
22:18:53.566 -> (I) (PrintOutputHeader)(C1) NightDriverStrip
22:18:53.566 -> �[0m(I)
22:18:53.566 -> �[0m(I) (PrintOutputHeader)(C1)
------------------------------------------------------------------------------------------------------------
22:18:53.566 -> �[0m(I) (PrintOutputHeader)(C1) M5STICKC: 0,
USE_M5DISPLAY: 0, USE_OLED: 0, USE_TFTSPI: 0, USE_LCD: 0, USE_AUDIO: 0,
ENABLE_REMOTE: 0
22:18:53.566 -> �[0m(I) (PrintOutputHeader)(C1) Version 40: Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 266036, PSRAM:0, PSRAM
Free: 0
22:18:53.566 -> �[0m(I) (PrintOutputHeader)(C1) ESP32 Clock Freq : 240 MHz
22:18:53.613 -> �[0m(I) (setup)(C1) Startup!
22:18:53.613 -> �[0m(I) (setup)(C1) Starting DebugLoopTaskEntry
22:18:53.613 -> �[0m>> Launching Debug Thread. Mem: 266036, LargestBlk:
110580, PSRAM Free: 0/0, (W) (ReadWiFiConfig)(C1) Retrieved SSID and
Password from NVS: "1F-TP-Link_2.4GHz_9B52B8", "********"
22:18:53.613 -> �[0m(W) (setup)(C1) Starting ImprovSerial for ESP32
22:18:53.613 -> �[0m[ 399][E][vfs_api.cpp:182] remove(): /improv.log does
not exists or is directory
22:18:53.847 -> >> Launching JSON Writer Thread. Mem: 257228, LargestBlk:
110580, PSRAM Free: 0/0, (W) (DeviceConfig)(C1) DeviceConfig could not be
loaded from JSON, using defaults
22:18:54.316 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:18:54.316 -> �[0m(W) (InitializeHardware)(C1) Allocating LEDStripGFX
for channel 0
22:18:54.316 -> �[0m(I) (AddLEDsToFastLED)(C1) Adding LEDs to FastLED...
22:18:54.316 -> �[0m(I) (AddLEDsToFastLED)(C1) Adding 144 LEDs to pin 12
from channel 0 on FastLED.
22:18:54.316 -> �[0m(W) (SetupBufferManagers)(C1) Reserving 217 LED
buffers for a total of 100688 bytes...
22:18:54.316 -> �[0m(W) (InitEffectsManager)(C1) InitEffectsManager...
22:18:54.316 -> �[0m(I) (LoadJSONFile)(C1) Attempting to read JSON file
/effects.cfg
22:18:54.504 -> �[0m(I) (InitEffectsManager)(C1) Creating EffectManager
from JSON config
22:18:54.551 -> �[0m #################### SetInterval: interval = 5000
22:18:54.551 -> #################### IN DeserializeFromJSON: ivl =
1073648840
22:18:54.551 -> (I) (ReadCurrentEffectIndex)(C1) Attempting to read file
/current.cfg
22:18:54.551 -> �[0m>> Launching Drawing Thread. Mem: 136368, LargestBlk:
98292, PSRAM Free: 0/0, (W) (DrawLoopTaskEntry initial attempt to connect
to W(I)
22:18:54.551 -> �[0m(W) (DrawLoopTaskEntry)(C1) Entering main draw loop!
22:18:54.551 -> �[0m(W) (DrawLoopTaskEntry)(C1) Entering main draw loop!
22:18:54.587 -> �[0m(I) (ConnectToWiFi)(C1) WiFi credentials passed for
SSID "1F-TP-Link_2.4GHz_9B52B8"
22:18:54.587 -> �[0m(I) (ConnectToWiFi)(C1) Setting host name to
ESP32-TTGO...
22:18:54.587 -> �[0m(W) (ConnectToWiFi)(C1) Connecting to Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 84848, PSRAM:0, PSRAM Free:
0
22:18:54.727 -> �[0m(W)
22:18:54.727 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
22:18:55.009 -> �[0m>> Launching Network Thread. Mem: 84800, LargestBlk:
45044, PSRAM Free: 0/0, >> Launching ColorData Thread. Mem: 70648,
LargestBlk: 36852, PSRAM Free: 0/0, (W) (NotifyJSONWriterThread)(C1) >>
Notifying JSON Writer Thread
22:18:55.009 -> �[0m(I) (operator())(C1) Sending Improv packet to declare
we're up. Ignore any IMPROV lines that follow this one.
22:18:55.056 -> �[0mIMPROV����⸮
22:18:55.993 -> (W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
22:18:55.993 -> �[0m(I) (loop)(C1) Sending Improv packets to indicate WiFi
is connected. Ignore any IMPROV lines that follow this one.
22:18:56.790 -> �[0mIMPROV����⸮
22:18:56.790 -> IMPROV������http://192.168.0.195�
22:18:57.024 -> (W) (ConnectToWiFi)(C1) Connected to AP with BSSID:
"AC:84:C6:9B:52:B8", received IP: 192.168.0.195
22:18:57.024 -> �[0m(I) (ConnectToWiFi)(C1) Set) Started color dat server!
22:18:57.024 -> �[0m[ 3618][E][WiFiUdp.cpp:221] parsePacket(): could not
receive data: 9
22:18:57.165 -> (W) (UpdateClockFromWeb)(C1) NTP clock: Raw values
sec=1806983990, usec=420721
22:18:57.165 -> �[0m(I) (UpdateClockFromWeb)(C1) Old Time: 3.726783, New
Time: 1709522323.420721, Delta: 1709522319.693938
22:18:57.165 -> �[0m(I) (UpdateClockFromWeb)(C1) Adjusting time by
1709522319.693938 to 1709522323.420721
22:18:57.165 -> �[0m(I) (UpdateClockFromWeb)(C1) NTP clock: response
received, updated time to: 1709522323.420721, DELTA: 1709522319.693938
22:18:57.212 -> �[0m(I)
22:18:57.212 -> �[0m(I) (ConnectToWiFi)(C1) Starting Web Server...
22:18:57.212 -> �[0m(I) (begin)(C1) Embedded html file size: 507
22:18:57.212 -> �[0m(I) (begin)(C1) Embedded jsx file size: 15320
22:18:57.212 -> �[0m(I) (begin)(C1) Embedded ico file size: 6471
22:18:57.212 -> �[0m(I) (begin)(C1) Embedded timezones file size: 18359
22:18:57.212 -> �[0m(I) (begin)(C1) Connecting Web Endpoints
22:18:57.689 -> �[0m(I) (begin)(C1) Web UI URL pathnames enabled
22:18:57.689 -> �[0m[ 4229][E][AsyncTCP.cpp:1251] begin(): failed to start
task
22:18:57.689 -> (I) (begin)(C1) HTTP server started
22:18:57.689 -> �[0m(I) (ConnectToWiFi)(C1) Web Server begin called!
22:18:57.689 -> �[0m #################### IN SerializeToJSON:
_effectInterval = 5000
22:18:58.204 -> (I) (SaveToJSONFile)(C0) Number of bytes written to JSON
file /effects.cfg: 353
22:18:58.204 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54988, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU:�[0m 021%, 003%, FreeDraw: 0.018
22:18:59.459 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:18:59.600 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:19:02.693 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54900, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m013%, 001%, FreeDraw: 0.029
22:19:04.480 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:19:04.574 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:19:07.704 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54896, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m013%, 001%, FreeDraw: 0.029
22:19:09.486 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:19:09.626 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:19:12.767 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54896, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 1, CPU: �[0m016%, 002%, FreeDraw: 0.011
22:19:14.436 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:19:14.623 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:19:17.811 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54896, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU:�[0m 020%, 006%, FreeDraw: 0.019
22:19:20.248 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:19:20.248 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:19:22.779 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54896, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m013%, 002%, FreeDraw: 0.029
22:19:24.466 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:19:24.654 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:19:27.793 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54896, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m013%, 002%, FreeDraw: 0.029
22:19:29.472 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:19:29.659 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:19:32.792 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54896, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 1, CPU: �[0m013%, 003%, FreeDraw: 0.012
22:19:34.451 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:19:34.669 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:19:37.799 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54896, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU:�[0m 013%, 002%, FreeDraw: 0.019
22:19:39.449 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:19:39.683 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:19:42.869 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54896, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m020%, 006%, FreeDraw: 0.029
22:19:44.436 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:19:44.715 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:19:47.872 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54896, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m013%, 002%, FreeDraw: 0.029
22:19:49.439 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:19:49.721 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:19:52.857 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54896, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 1, CPU: �[0m013%, 004%, FreeDraw: 0.012
22:19:54.446 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:19:54.723 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:19:57.868 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 52572, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU:�[0m 013%, 002%, FreeDraw: 0.019
22:19:59.451 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:19:59.776 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:20:02.899 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54896, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m013%, 002%, FreeDraw: 0.029
22:20:04.458 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:20:04.778 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:20:07.962 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54896, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m019%, 006%, FreeDraw: 0.029
22:20:09.447 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:20:09.780 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:20:12.915 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54896, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 1, CPU: �[0m012%, 004%, FreeDraw: 0.011
22:20:14.441 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:20:14.777 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:20:17.895 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54808, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU:�[0m 014%, 002%, FreeDraw: 0.019
22:20:19.446 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:20:19.808 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:20:22.945 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54808, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m016%, 002%, FreeDraw: 0.028
22:20:24.458 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:20:24.833 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:20:27.946 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54808, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m014%, 002%, FreeDraw: 0.028
22:20:29.483 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:20:29.808 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:20:33.016 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 1, CPU: �[0m019%, 008%, FreeDraw: 0.011
22:20:34.478 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:20:34.853 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:20:37.961 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU:�[0m 014%, 002%, FreeDraw: 0.019
22:20:39.446 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:20:39.833 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:20:42.959 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m014%, 002%, FreeDraw: 0.029
22:20:44.458 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:20:44.874 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:20:47.990 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m014%, 002%, FreeDraw: 0.029
22:20:49.438 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:20:49.878 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:20:53.008 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 0, CPU: �[0m013%, 004%, FreeDraw: 0.012
22:20:54.474 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:20:54.888 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:20:58.089 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU:�[0m 021%, 006%, FreeDraw: 0.019
22:20:59.467 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:20:59.923 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:21:03.040 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m014%, 002%, FreeDraw: 0.028
22:21:04.454 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:21:04.922 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:21:08.056 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m015%, 002%, FreeDraw: 0.029
22:21:09.455 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:21:09.938 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:21:13.068 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 1, CPU: �[0m013%, 003%, FreeDraw: 0.012
22:21:14.481 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:21:14.937 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:21:18.069 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU:�[0m 013%, 002%, FreeDraw: 0.019
22:21:19.477 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:21:19.935 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:21:23.149 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 29 LED Bright:
100%, LED Watts: 1, CPU: �[0m020%, 006%, FreeDraw: 0.029
22:21:24.434 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:21:24.936 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:21:28.069 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m013%, 002%, FreeDraw: 0.029
22:21:29.469 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:21:29.969 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:21:33.117 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 1, CPU: �[0m013%, 004%, FreeDraw: 0.012
22:21:34.473 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:21:34.971 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:21:38.085 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU:�[0m 014%, 002%, FreeDraw: 0.018
22:21:39.467 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:21:39.984 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:21:43.117 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m014%, 002%, FreeDraw: 0.029
22:21:44.479 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:21:44.995 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:21:48.209 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 29 LED Bright:
100%, LED Watts: 1, CPU: �[0m019%, 006%, FreeDraw: 0.029
22:21:49.477 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:21:49.993 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:21:53.123 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 1, CPU: �[0m013%, 004%, FreeDraw: 0.012
22:21:54.449 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:21:55.032 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:21:58.154 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU:�[0m 014%, 002%, FreeDraw: 0.019
22:21:59.466 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:22:00.021 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:22:03.165 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 54844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m015%, 002%, FreeDraw: 0.029
22:22:04.431 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:22:05.040 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:22:08.181 -> �[0m
Scenario #2
<#2> Serial
Monitor Output - Webserver causes WiFi to Disconnect
ets Jun 8 2016 00:22:57
22:59:07.585 ->
22:59:07.585 -> rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
22:59:07.585 -> configsip: 0, SPIWP:0xee
22:59:07.585 ->
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
22:59:07.585 -> mode:DIO, clock div:2
22:59:07.585 -> load:0x3fff0030,len:1184
22:59:07.585 -> load:0x40078000,len:13232
22:59:07.585 -> load:0x40080400,len:3028
22:59:07.585 -> entry 0x400805e4
22:59:08.194 -> E (611) esp_core_dump_flash: No core dum⸮�⸮⸮⸮ѥѥ⸮⸮⸮found!
22:59:08.194 -> E (611) esp_core_dump_flash: No core dump partition found!
22:59:08.335 -> Replacing Idle Tasks with TaskManager...
22:59:08.335 -> (I) (PrintOutputHeader)(C1) NightDriverStrip
22:59:08.335 -> �[0m(I)
22:59:08.335 -> �[0m(I) (PrintOutputHeader)(C1)
------------------------------------------------------------------------------------------------------------
22:59:08.335 -> �[0m(I) (PrintOutputHeader)(C1) M5STICKC: 0,
USE_M5DISPLAY: 0, USE_OLED: 0, USE_TFTSPI: 0, USE_LCD: 0, USE_AUDIO: 0,
ENABLE_REMOTE: 0
22:59:08.335 -> �[0m(I) (PrintOutputHeader)(C1) Version 40: Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 266044, PSRAM:0, PSRAM
Free: 0
22:59:08.335 -> �[0m(I) (PrintOutputHeader)(C1) ESP32 Clock Freq : 240 MHz
22:59:08.335 -> �[0m(I) (setup)(C1) Startup!
22:59:08.335 -> �[0m(I) (setup)(C1) Starting DebugLoopTaskEntry
22:59:08.335 -> �[0m>> Launching Debug Thread. Mem: 266044, LargestBlk:
110580, PSRAM Free: 0/0, (W) (ReadWiFiConfig)(C1) Retrieved SSID and
Password from NVS: "1F-TP-Link_2.4GHz_9B52B8", "********"
22:59:08.381 -> �[0m(W) (setup)(C1) Starting ImprovSerial for ESP32
22:59:08.381 -> �[0m[ 400][E][vfs_api.cpp:182] remove(): /improv.log does
not exists or is directory
22:59:08.616 -> >> Launching JSON Writer Thread. Mem: 257236, LargestBlk:
110580, PSRAM Free: 0/0, (W) (DeviceConfig)(C1) DeviceConfig could not be
loaded from JSON, using defaults
22:59:09.038 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:59:09.038 -> �[0m(W) (InitializeHardware)(C1) Allocating LEDStripGFX
for channel 0
22:59:09.038 -> �[0m(I) (AddLEDsToFastLED)(C1) Adding LEDs to FastLED...
22:59:09.038 -> �[0m(I) (AddLEDsToFastLED)(C1) Adding 144 LEDs to pin 12
from channel 0 on FastLED.
22:59:09.038 -> �[0m(W) (SetupBufferManagers)(C1) Reserving 217 LED
buffers for a total of 100688 bytes...
22:59:09.038 -> �[0m(W) (InitEffectsManager)(C1) InitEffectsManager...
22:59:09.085 -> �[0m(I) (LoadJSONFile)(C1) Attempting to read JSON file
/effects.cfg
22:59:09.085 -> �[0m(I) (InitEffectsManager)(C1) Creating EffectManager
from JSON config
22:59:09.131 -> �[0m #################### SetInterval: interval = 5000
22:59:09.131 -> #################### IN DeserializeFromJSON: ivl =
1073648720
22:59:09.178 -> (I) (ReadCurrentEffectIndex)(C1) Attempting to read file
/current.cfg
22:59:09.178 -> �[0m>> Launching Drawing Thread. Mem: 136448, LargestBlk:
98292, PSRAM Free: 0/0, (W) (DrawLoopTaskEntrg initial attempt to connect
to W(I)
22:59:09.178 -> �[0m(W) (DrawLoopTaskEntry)(C1) Entering main draw loop!
22:59:09.178 -> �[0m(W) (DrawLoopTaskEntry)(C1) Entering main draw loop!
22:59:09.178 -> �[0m
22:59:09.178 -> �[0m(I) (ConnectToWiFi)(C1) WiFi credentials passed for
SSID "1F-TP-Link_2.4GHz_9B52B8"
22:59:09.178 -> �[0m(I) (ConnectToWiFi)(C1) Setting host name to
ESP32-TTGO...
22:59:09.178 -> �[0m(W) (ConnectToWiFi)(C1) Connecting to Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 85064, PSRAM:0, PSRAM Free:
0
22:59:09.319 -> �[0m(W)
22:59:09.319 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
22:59:09.460 -> �[0m>> Launching Network Thread. Mem: 84672, LargestBlk:
45044, PSRAM Free: 0/0, >> Launching ColorData Thread. Mem: 70732,
LargestBlk: 36852, PSRAM Free: 0/0, (W) (NotifyJSONWriterThread)(C1) >>
Notifying JSON Writer Thread
22:59:09.460 -> �[0m(I) (operator())(C1) Sending Improv packet to declare
we're up. Ignore any IMPROV lines that follow this one.
22:59:09.506 -> �[0mIMPROV����⸮
22:59:10.444 -> (W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
22:59:10.444 -> �[0m(I) (loop)(C1) Sending Improv packets to indicate WiFi
is connected. Ignore any IMPROV lines that follow this one.
22:59:11.100 -> �[0mIMPROV����⸮
22:59:11.100 -> IMPROV������http://192.168.0.195�
22:59:11.287 -> (W) (ColorDataTaskEntry)(C1) Started color data server!
22:59:11.287 -> �[0m(W) (ConnectToWiFi)(C1) Connected to AP with BSSID:
"AC:84:C6:9B:52:B8", received IP: 192.168.0.195
22:59:11.475 -> �[0m(I) (ConnectToWiFi)(C1) Starting Web Server...
22:59:11.475 -> �[0m(I) (begin)(C1) Embedded html file size: 507
22:59:11.475 -> �[0m(I) (begin)(C1) Embedded jsx file size: 15320
22:59:11.475 -> �[0m(I) (begin)(C1) Embedded ico file size: 6471
22:59:11.475 -> �[0m(I) (begin)(C1) Embedded timezones file size: 18359
22:59:11.475 -> �[0m(I) (begin)(C1) Connecting Web Endpoints
22:59:11.897 -> �[0m(I) (begin)(C1) Web UI URL pathnames enabled
22:59:11.944 -> �[0m(I) (begin)(C1) HTTP server started
22:59:11.944 -> �[0m(I) (ConnectToWiFi)(C1) Web Server begin called!
22:59:11.944 -> �[0m #################### IN SerializeToJSON:
_effectInterval = 5000
22:59:12.647 -> (I) (SaveToJSONFile)(C0) Number of bytes written to JSON
file /effects.cfg: 353
22:59:12.647 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:59:14.142 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 41068, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m003%, 002%, FreeDraw: 0.028
22:59:14.188 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:59:17.282 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:59:19.157 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 40976, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 0, CPU: �[0m003%, 004%, FreeDraw: 0.012
22:59:19.204 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:59:22.297 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:59:24.172 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 40800, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 11, CPU:�[0m 002%, 001%, FreeDraw: 0.018
22:59:24.219 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:59:27.311 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:59:29.193 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 40800, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU:�[0m 002%, 001%, FreeDraw: 0.028
22:59:29.193 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:59:32.323 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 40844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP:
192.168.0.195, Mem: 40844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30
LED Bright: 100%, LED Watts: 1, CPU: �[0m(NotifyJSONWriterThread)(C1) >>
Notifying JSON Writer Thread
22:59:34.244 -> �[0mW) 002%, 001%, FreeDraw: 0.029
22:59:34.244 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:59:37.338 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 40844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m002%, 001%, FreeDraw: 0.028
22:59:39.213 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:59:39.213 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:59:42.353 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:59:44.220 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:59:47.366 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 40844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU:�[0m 003%, 001%, FreeDraw: 0.019
22:59:49.189 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:59:49.235 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:59:52.355 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 40844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m002%, 001%, FreeDraw: 0.029
22:59:54.221 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:59:54.268 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
22:59:57.366 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 40844, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: �[0m002%, 001%, FreeDraw: 0.029
22:59:59.218 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
22:59:59.265 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:00:02.372 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.195,
Mem: 40420, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 1, CPU: �[0m000%, 003%, FreeDraw: 0.012
23:00:04.205 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:00:04.271 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:00:07.404 -> �[0m(I) (ConnectToWiFi)(C1) Setting host name to
ESP32-TTGO...
23:00:08.937 -> �[0m(W) (ConnectToWiFi)(C1) Connecting to Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 41440, PSRAM:0, PSRAM Free:
0
23:00:08.937 -> �[0m(W)
23:00:08.937 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:08.937 -> �[0m(I) (loop)(C1) WiFi: WL_IDLE_STATUS, IP: 0.0.0.0, Mem:
41092, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 29 LED Bright: 100%,
LED Watts: 11, CPU: 001�[0m%, 006%, FreeDraw: 0.019
23:00:09.204 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:00:09.270 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:09.937 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:10.955 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:11.937 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:00:12.403 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:12.937 -> �[0m(I) (ConnectToWiFi)(C1) Setting host name to
ESP32-TTGO...
23:00:13.970 -> �[0m(W) (ConnectToWiFi)(C1) Connecting to Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 41236, PSRAM:0, PSRAM Free:
0
23:00:13.970 -> �[0m(W)
23:00:13.970 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:13.970 -> �[0m(I) (loop)(C1) WiFi: WL_DISCONNECTED, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: 000�[0m%, 002%, FreeDraw: 0.029
23:00:14.203 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:00:14.303 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:14.970 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:15.970 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:16.970 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:00:17.419 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:17.986 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:18.969 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: 00�[0m0%, 002%, FreeDraw: 0.029
23:00:19.203 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:00:19.303 -> �[0m(I) (ConnectToWiFi)(C1) Setting host name to
ESP32-TTGO...
23:00:20.002 -> �[0m(W) (ConnectToWiFi)(C1) Connecting to Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 41756, PSRAM:0, PSRAM Free:
0
23:00:20.002 -> �[0m(W)
23:00:20.002 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:20.002 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:21.002 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:21.992 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:00:22.452 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:22.985 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:23.985 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 1, CPU: 00�[0m1%, 004%, FreeDraw: 0.014
23:00:24.185 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:00:24.319 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:25.001 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:26.034 -> �[0m(I) (ConnectToWiFi)(C1) Setting host name to
ESP32-TTGO...
23:00:27.034 -> �[0m(W) (ConnectToWiFi)(C1) Connecting to Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 41756, PSRAM:0, PSRAM Free:
0
23:00:27.034 -> �[0m(W)
23:00:27.034 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:27.034 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:00:27.418 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:28.036 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:29.018 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU: 0�[0m01%, 002%, FreeDraw: 0.019
23:00:29.185 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:00:29.318 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:30.018 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:31.018 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:32.018 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:00:32.434 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:33.018 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:34.018 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: 00�[0m0%, 006%, FreeDraw: 0.029
23:00:34.201 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:00:34.336 -> �[0m(I) (ConnectToWiFi)(C1) Setting host name to
ESP32-TTGO...
23:00:35.051 -> �[0m(W) (ConnectToWiFi)(C1) Connecting to Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 41756, PSRAM:0, PSRAM Free:
0
23:00:35.051 -> �[0m(W)
23:00:35.051 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:35.051 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:36.050 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:37.067 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:00:37.450 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:38.050 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:39.050 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: 00�[0m1%, 002%, FreeDraw: 0.029
23:00:39.199 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:00:39.350 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:40.050 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:41.050 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:42.050 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:00:42.450 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:43.050 -> �[0m(I) (ConnectToWiFi)(C1) Setting host name to
ESP32-TTGO...
23:00:44.068 -> �[0m(W) (ConnectToWiFi)(C1) Connecting to Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 41756, PSRAM:0, PSRAM Free:
0
23:00:44.068 -> �[0m(W)
23:00:44.068 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:44.068 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 1, CPU: 00�[0m1%, 003%, FreeDraw: 0.012
23:00:44.209 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:00:44.349 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:45.094 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:46.068 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:47.099 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:00:47.474 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:48.083 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:49.100 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU: 0�[0m00%, 002%, FreeDraw: 0.019
23:00:49.182 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:00:49.349 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:50.082 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:51.082 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:52.082 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:00:52.482 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:53.082 -> �[0m(I) (ConnectToWiFi)(C1) Setting host name to
ESP32-TTGO...
23:00:54.115 -> �[0m(W) (ConnectToWiFi)(C1) Connecting to Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 41756, PSRAM:0, PSRAM Free:
0
23:00:54.115 -> �[0m(W)
23:00:54.115 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:54.115 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: 00�[0m0%, 002%, FreeDraw: 0.029
23:00:54.181 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:00:54.381 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:55.115 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:56.115 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:57.115 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:00:57.514 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:58.114 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:00:59.114 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 29 LED Bright:
100%, LED Watts: 1, CPU: 00�[0m0%, 006%, FreeDraw: 0.029
23:00:59.181 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:00:59.381 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:00.114 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:01.114 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:02.129 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:01:02.529 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:03.129 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:04.130 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 0, CPU: 00�[0m0%, 004%, FreeDraw: 0.012
23:01:04.214 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:01:04.380 -> �[0m(I) (ConnectToWiFi)(C1) Setting host name to
ESP32-TTGO...
23:01:05.147 -> �[0m(W) (ConnectToWiFi)(C1) Connecting to Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 41756, PSRAM:0, PSRAM Free:
0
23:01:05.147 -> �[0m(W)
23:01:05.147 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:05.147 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:06.147 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:07.147 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:01:07.513 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:08.130 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:09.146 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU: 0�[0m01%, 002%, FreeDraw: 0.019
23:01:09.180 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:01:09.396 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:10.148 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:11.132 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:12.163 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:01:12.538 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:13.148 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:14.179 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: 00�[0m1%, 002%, FreeDraw: 0.029
23:01:14.179 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:01:14.413 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:15.163 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:16.154 -> �[0m(I) (ConnectToWiFi)(C1) Setting host name to
ESP32-TTGO...
23:01:17.175 -> �[0m(W) (ConnectToWiFi)(C1) Connecting to Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 41756, PSRAM:0, PSRAM Free:
0
23:01:17.175 -> �[0m(W)
23:01:17.175 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:17.175 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:01:17.550 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:18.160 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:19.191 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU: 00�[0m1%, 002%, FreeDraw: 0.029
23:01:19.191 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:01:19.425 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:20.175 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:21.159 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:22.190 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:01:22.565 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:23.175 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:24.206 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 62 LED Bright:
100%, LED Watts: 1, CPU: 00�[0m1%, 008%, FreeDraw: 0.012
23:01:24.206 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
23:01:24.440 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:25.190 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:26.175 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:27.206 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
23:01:27.581 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
23:01:28.190 -> �[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP: 0.0.0.0,
Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CPU: 0�[0m(I) (loop)(C1) WiFi: WL_NO_SSID_AVAIL, IP:
0.0.0.0, Mem: 41640, LargestBlk: 36852, PSRAM Free: 0/0, LED FPS: 30 LED
Bright: 100%, LED Watts: 11, CPU: 0�[0m(ConnectToWiFi)(C1) Not yet
connected to WiFi, waiting...
23:01:29.221 -> �[0m
—
Reply to this email directly, view it on GitHub
<#612>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCSD37YM22TQXQPFDKOZHLYWP2DZAVCNFSM6AAAAABEER42WSVHI2DSMVQWIX3LMV43ERDJONRXK43TNFXW4OZWGMYTQMBWG4>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Just to confirm what @robertlipe already answered: you are indeed suffering from low memory, to the point that network stuff will break. For one the ~55K of free RAM that is mentioned as required in other tickets is what needs to be left after everything has started up and settled down. Trying to start the web server while that is what's available then is guaranteed not to work. I also agree that the memory problems we've been seeing - and certainly the capriciousness of their occurrence - has reached a point where I would welcome less memory-intensive and more stable alternatives. We just have a lot of code (at least in relative terms) leaning on the current stack, and moving that to anything else than a drop-in replacement is going to be a lot of work. For me personally, too much to pick up anytime soon. And I admit that leaves me in a bit of a catch-22 situation: there are things I would really like to work on but all of them are network-related, and I don't currently see the point "knowing" up front that they will fail on the third line of code because of lack of RAM. But, if someone else wants to explore this and move us to a more functional/flexible networking foundation, I'm very happy to take that on board. |
Beta Was this translation helpful? Give feedback.
-
Like Rutger, I have code that's ready to come ot of the oven that I don't
dare send in to the project because I dont' want to be the proverbial next
camel back-breaking straw. (IMO, it's already broken...)
That debug print is a bit odd. I'm not totally sure how it's computing 217.
That function has the number of LEDs - which is confirmed else in your
debug prints - equal to 144 and is doing ...stuff and coming out with 217.
I may be misreading it, but I think that' probably the single most
important allocation inthe project as LEDBuffer holds _leds[] which is our
entire pixel stash. Effects sprinkle datainto _leds[] and
FastLED/SmartMatrix slurp data out of that afrray and put them on the
signalling pin[s].
One easy knob to twice in include/globals.h down in that #elif DEMO block
is to change WIDTH from 144 to ... less. It's less impressive to debug with
ten lights than 144, but if you don't actually HAVE 144, then those are
bytes wasted and the bits we generate just all off the end of the DO pin at
the end, making a pile of unused blinky bits in the floor.
It's a bit circular in this case, but
#ifndef COLORDATA_SERVER_ENABLED
#if ENABLE_WIFI
#define COLORDATA_SERVER_ENABLED 1
#else
#define COLORDATA_SERVER_ENABLED 0
#endif
#endif
Read it like (bad) English: if the COLORDAA_SERVER isn't explictly turned
on, then IF WIFI is turned on, turn on COLORDATA, else turn it iff.
I Guess the thinking is that if your system is brawny enough to run wifi
that it can run COLORDATA. That's a bit odd. In your case, you don't really
have enough to run WIFI and you're forcing that issue, so bringing
colordata along for the ride is unlikely to help. Try to whack that.
(Side mumbling to Rutger: i don't really want to build initd into the
product, but for some of these things, maybe we should just have the socket
lisenting and then allocate all the junk and spawn the thread upon incoming
connection. Seems better for it to fail on use than for it to be built in
and taking RAM when it's not used. We have a couple of services like this
that, IMO, we over-aggressively spin up. I *think* it was an attempt to get
as much allocated early on while the pools were minimally fragged, but if
we're putting 6 pounds (err, kilograms) of code into a a 5 pound bag
anyway, that might not be a great overall strategy.) Should we just have
fewer of these threads and associated subsystems starting up at boot
instead of deferring them until a connection is received?
The equivalent of Aircoookie/WLED#3784 should be
easy to try. Look in th files tab and see the one line changed in
platform.ini. Change the (almost identical) line in our platformio.ini,
rebuild and see if it's worked.
It'll be better, the same, worse, or it won't build. Any of those results
should be educational, actually. I'm AFK, but just editing that file
remotely over a phone (Yes, I edit code over a phone) and starting a build,
I can confirm it at least builds my 'demo'. So that makes it the first
three.
So, remaining homework:
1) Reduced MATRIX_WIDTH from 144 to as low as you can go and still get some
visual sense of blinkage.
2) Edti platfomrio and see if it's better or worse:
diff --git a/platformio.ini b/platformio.ini
index cbe88b34..2b6c2e0e 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -52,7 +52,8 @@ lib_deps = crankyoldgit/IRremoteESP8266 @ ^2.7.20
olikraus/U8g2 @ ^2.28.8
kosme/arduinoFFT @ ^1.5.6
me-no-dev/AsyncTCP @ ^1.1.1
-
https://github.com/PlummersSoftwareLLC/ESPAsyncWebServer.git
+ #
https://github.com/PlummersSoftwareLLC/ESPAsyncWebServer.git
+ https://github.com/willmmiles/ESPAsyncWebServer.git @
2.1.0
bblanchon/ArduinoJson @ ^6.21.3
thomasfredericks/Bounce2 @ ^2.7.0
https://github.com/PlummersSoftwareLLC/RemoteDebug
(We need to remove a lot of that stuff from lib_deps, but my PR to attempt
that stalled out. Demo certainly doesn't NEED bounce or U8G2 or a couple of
those others. If anything, those are just more proverbial strawss.)
I think the web server in general, being the union of an http server + a
bunch of node stuff + the actual US being served, is probably heavier than
we think it is, but we've not really quantified how much each of these
options cost.
One of us shuold probably build a table of such things and maybe a CI graph
to chart our "weight" over time. That doesn't need a star C++ programmer -
that needs someone that cares enough to spin several builds, take several
measurements, and write a page in our Wiki or something. (Hint, Hint...)
In case anyone from Espressif is reading this (ha!) there are enough ESP32
project trying to use Arduino (sigh) that are struggling with terrible WiFi
issues that it's becoming a black eye for the ecosystem. There needs to ba
a push from Up High to try to fix and unify some of these terrible
realiablity issues. a $3 chip with intermittent Wifi vs. a 512MB Pi ZeroW
for $15 and runs Linux or a $11 Milk-V Duo S isn't a bargain for everyone.
"Just" have to replace all the Arduino-ismes in the project with NuttX or
Linux or something. Ugh...
FWIW, I'm pretty happy with the S3's with 8MB of PSRAM. There's one chap
having problem when pushing many hundreds (thousands?) of LEDs, but even a
legacy ESP32 with PSRAM is less terrible.
…On Mon, Mar 4, 2024 at 4:18 PM achronoxx ***@***.***> wrote:
Robert and Rutger, thank you very much for the quick and thorough response!
I totally agree with Robert that it's much easier to update my HW (already
ordered the new boards!), as it does seem to be an uphill (if not
impossible) battle to reduce the code size (especially with every expanding
and welcomed features) and/or fix the ESPAsync implementation.
Unfortunately, I'm not very savvy in programming so I can't really try
implementing the suggested PR in my tree.
However, I did try removing the COLORDATA_SERVER (not sure why it's
enabled for Demo???), and unfortunately it did not help.
I do see another opportunity to save memory, as there are a large number
of LED buffers reserved (.... Reserving 217 LED buffers for a total of
100688 bytes...). I'm not sure what these buffers are for (as I mentioned
my coding skills are limited), but I suspect it may be required when using
the INCOMING_WEB data for effects(????), which I'm not using.
They are using a lot of memory (>100K), so is there a way I can reduce the
number of buffers?
Thanks again for you help!
Andrew
—
Reply to this email directly, view it on GitHub
<#612 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCSD35K4BVA4MGCNSEUQHLYWTXMZAVCNFSM6AAAAABEER42WSVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DMNZSGU2TA>
.
You are receiving this because you were mentioned.Message ID:
<PlummersSoftwareLLC/NightDriverStrip/repo-discussions/612/comments/8672550
@github.com>
|
Beta Was this translation helpful? Give feedback.
SUCCESS - I got the Webserver to work!
I figured out how to reduce the number of LED Buffers. I simply added #define MAX_BUFFERS 2 in the globals file under the DEMO project,
I'm not sure why the DEMO project does not limit the buffers, as it only runs one effect, so it uses the default value at the end of Globals which is MAX_BUFFERS=500 buffer. Not sure why the default is so high, as a smaller number would be safer??
With only 2 buffers (using 928bytes) it leaves me with ~197KB of memory, which is much better than the ~55KB before.
For reference, this is the code in systemcontainer.h that calculates the number of buffers: