-
Hi, I just got two new ESP32-S3-WROOM-1 N16/R8 (16MB Flash, 8MB PSRAM) and I successfully compiled the NightDriver SW, but the PSRAM Init fails. This is my first time using an ESP32 with PSRAM, so I don't have any experience with PSRAM, so I guessed that I could just activate the PSRAM by adding the appropriate build flags from NightDriver (see below). I have two of the same boards, and they both fail to initialize PSRAM. However, the debug logs are different for each board, even though they were built the exact same way - see below for the logs. The only difference between the two boards, is that one was first loaded with the same "demo-s3" but with PSRAM flags omitted. The other board was a "fresh" board (nothing loaded before). Note that the SW works fine on these boards when I build it WITHOUT PSRAM build flags Please let me know what I'm doing wrong. I compiled a custom version of the "demo" environment as follows (relevant parts from platformio.ini): [platformio] [env:demo-s3] [dev_esp32-s3] ; Build flags for use of PSRAM Here is the relevant part from globals.h: #elif DEMO
Here is the debug log from Serial Port: Log from ESP32 that was "fresh" (never had any SW loaded): ESP-ROM:esp32s3-20210327 ================================================================= Log from ESP32 that was initially loaded (and worked) with same "demo-s3", but PSRAM build flags omitted. 15:36:00.831 -> ⸮g/"-⸮-⸮9⸮ǽ⸮⸮?;⸮1⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮ESP-ROM:esp32s3-20210327 Note that this "increasing buffer to..." message keeps going on 'forever" and the buffer is increased 2048 bytes each time. I saw buffer size go to over 37MB, and it's still increasing! Not sure why it goes this high, as there is only 8MB of PSRAM???? 15:39:07.491 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 37783846 bytes |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 3 replies
-
Quick note. I use these boards all the time.
mfix-esp32-psram-cache-issue
Throws away performance working around a bug in the early silicon if the
esp32-nothing chips. It doesn't break the build,. But it's slower than it
has ever had to be on -s3.
#1 cause if the error you're getting is something else wired to the pins
used for the SPI bus.
#2 cause is mismatch if octal and quad in the boot params and upload.
I'll pick through logs. In detail later and compare my own custom entire
life p
…On Sat, Mar 16, 2024, 2:43 PM achronoxx ***@***.***> wrote:
Hi,
I just got two new ESP32-S3-WROOM-1 N16/R8 (16MB Flash, 8MB PSRAM) and I
successfully compiled the NightDriver SW, but the PSRAM Init fails.
This is my first time using an ESP32 with PSRAM, so I don't have any
experience with PSRAM, so I guessed that I could just activate the PSRAM by
adding the appropriate build flags from NightDriver (see below).
I have two of the same boards, and they both fail to initialize PSRAM.
However, the debug logs are different for each board, even though they were
built the exact same way - see below for the logs. The only difference
between the two boards, is that one was first loaded with the same
"demo-s3" but with PSRAM flags omitted. The other board was a "fresh" board
(nothing loaded before).
Note that the SW works fine on these boards when I build it WITHOUT PSRAM
build flags
Please let me know what I'm doing wrong.
I compiled a custom version of the "demo" environment as follows (relevant
parts from platformio.ini):
[platformio]
default_envs = demo-s3
build_cache_dir = .pio/build_cache
extra_configs =
custom_*.ini ; This file can be created in the root directory to store
user defined devices and environments.
[env:demo-s3]
extends = dev_esp32-s3
build_flags = -DDEMO=1
${dev_esp32-s3.build_flags}
${psram_flags.build_flags}
[dev_esp32-s3]
extends = base
board = esp32-s3-devkitc-1
board_build.mcu = esp32s3
board_build.f_cpu = 240000000L
monitor_speed = 115200
upload_speed = 1000000
; Build flags for use of PSRAM
[psram_flags]
build_flags = -DUSE_PSRAM=1
-DBOARD_HAS_PSRAM=1
-mfix-esp32-psram-cache-issue
Here is the relevant part from globals.h:
#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 60000
// 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 1 // Set the clock from the web
#define ENABLE_OTA 1 // Accept over the air flash updates
#if M5STICKC || M5STICKCPLUS || M5STACKCORE2
#define LED_PIN0 32
#elif LILYGOTDISPLAYS3
#define LED_PIN0 21
#else
#define LED_PIN0 19 //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
#define COLORDATA_SERVER_ENABLED 0 // AC: I added this
#define MAX_BUFFERS 2 // AC: I added this
Here is the debug log from Serial Port:
Log from ESP32 that was "fresh" (never had any SW loaded):
ESP-ROM:esp32s3-20210327
15:07:04.689 -> Build:Mar 27 2021
15:07:04.689 -> rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
15:07:04.689 -> SPIWP:0xee
15:07:04.689 -> mode:DIO, clock div:1
15:07:04.689 -> load:0x3fce3808,len:0x44c
15:07:04.689 -> load:0x403c9700,len:0xbd8
15:07:04.689 -> load:0x403cc700,len:0x2a80
15:07:04.689 -> entry 0x403c98d0
15:07:04.970 -> E (278) esp_core_dump_flash: No core dump partition found!
15:07:04.970 -> E (278) esp_core_dump_flash: No core dump partition found!
15:07:04.970 -> E (280) psram: PSRAM ID read error: 0x00ffffff, PSRAM chip
not found or not supported, or wrong PSRAM line mode
15:07:05.064 -> Replacing Idle Tasks with TaskManager...
15:07:05.064 -> (I) (PrintOutputHeader)(C1) NightDriverStrip
15:07:05.064 -> �[0m(I)
15:07:05.064 -> �[0m(I) (PrintOutputHeader)(C1)
------------------------------------------------------------------------------------------------------------
15:07:05.064 -> �[0m(I) (PrintOutputHeader)(C1) M5STICKC: 0,
USE_M5DISPLAY: 0, USE_OLED: 0, USE_TFTSPI: 0, USE_LCD: 0, USE_AUDIO: 0,
ENABLE_REMOTE: 0
15:07:05.064 -> �[0m(I) (PrintOutputHeader)(C1) ESP32 PSRAM Init: FAIL
15:07:05.064 -> �[0m(I) (PrintOutputHeader)(C1) Version 40: Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 301256, PSRAM:0, PSRAM
Free: 0
15:07:05.111 -> �[0m(I) (PrintOutputHeader)(C1) ESP32 Clock Freq : 240 MHz
15:07:05.111 -> �[0m(I) (setup)(C1) Startup!
15:07:05.111 -> �[0m(I) (setup)(C1) Starting DebugLoopTaskEntry
15:07:05.111 -> �[0m>> Launching Debug Thread. Mem: 301256, LargestBlk:
270324, PSRAM Free: 0/0, (W) (ReadWiFiConfig)(C1) Retrieved SSID and
Password from NVS: "1F-TP-Link_2.4GHz_9B52B8", "********"
15:07:05.111 -> �[0m(W) (setup)(C1) Starting ImprovSerial for ESP32-S3
15:07:05.111 -> �[0m[ 653][E][vfs_api.cpp:182] remove(): /improv.log does
not exists or is directory
15:07:05.345 -> >> Launching JSON Writer Thread. Mem: 292448, LargestBlk:
270324, PSRAM Free: 0/0, (W) (DeviceConfig)(C1) DeviceConfig could not be
loaded from JSON, using defaults
15:07:05.767 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
15:07:05.767 -> �[0m(W) (InitializeHardware)(C1) Allocating LEDStripGFX
for channel 0
15:07:05.814 -> �[0m(I) (AddLEDsToFastLED)(C1) Adding LEDs to FastLED...
15:07:05.814 -> �[0m(I) (AddLEDsToFastLED)(C1) Adding 144 LEDs to pin 19
from channel 0 on FastLED.
15:07:05.814 -> �[0m(I) (SetupBufferManagers)(C1) Could allocate 9254239
buffers but limiting it to 2
15:07:05.814 -> �[0m(I)
15:07:05.814 -> �[0m(W) (SetupBufferManagers)(C1) Reserving 2 LED buffers
for a total of 928 bytes...
15:07:05.814 -> �[0m(W) (InitEffectsManager)(C1) InitEffectsManager...
15:07:05.814 -> �[0m(I) (InitEffectsManager)(C1) Creating EffectManager
using default effects
15:07:06.236 -> �[0m #################### SetInterval: interval = 60000
15:07:06.236 -> >> Launching Drawing Thread. Mem: 276544, LargestBlk:
262132, PSRAM Free: 0/0, (W) (DrawLoopTaskEking initial attempt to connect
to W(I)
15:07:06.283 -> �[0m(W) (DrawLoopTaskEntry)(C1) Entering main draw loop!
15:07:06.283 -> �[0m(W) (DrawLoopTaskEntry)(C1) Entering main draw loop!
15:07:06.283 -> �[0m
15:07:06.283 -> �[0m(I) (ConnectToWiFi)(C1) WiFi credentials passed for
SSID "1F-TP-Link_2.4GHz_9B52B8"
15:07:06.283 -> �[0m(I) (ConnectToWiFi)(C1) Setting host name to
ESP32-TTGO...
15:07:06.283 -> �[0m(W) (ConnectToWiFi)(C1) Connecting to Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 222700, PSRAM:0, PSRAM
Free: 0
15:07:06.376 -> �[0m(W)
15:07:06.376 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
15:07:06.517 -> �[0m>> Launching Network Thread. Mem: 222644, LargestBlk:
212980, PSRAM Free: 0/0, (W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
15:07:06.517 -> �[0m(I) (operator())(C1) Sending Improv packet to declare
we're up. Ignore any IMPROV lines that follow this one.
15:07:06.564 -> �[0mIMPROV����⸮
15:07:07.501 -> (W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
15:07:07.501 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi,
waiting...
15:07:08.532 -> �[0m(I) (loop)(C1) Sending Improv packets to indicate WiFi
is connected. Ignore any IMPROV lines that follow this one.
15:07:08.907 -> �[0mIMPROV����⸮
15:07:08.907 -> IMPROV������http://192.168.0.178�
15:07:09.517 -> (E) (SerializeWithBufferSize)(C0) Allocation of buffer for
JSON serialization failed!
15:07:09.517 -> �[0m(E) (SaveToJSONFile)(C0) JSON serializationh BSSID:
"AC:84:C6:9B:52:B8", received IP: 192.168.0W) (ConnectToWiFi)(C1) Connected
to AP with BSSID: "AC:84:C6:9B:52:B8", received IP: 192.168.0.178
15:07:09.517 -> �[0m(I) (ConnectToWiFi)(C1) Publishing OTA...
15:07:09.564 -> �[0m(I) (ConnectToWiFi)(C1) Setting Clock...
15:07:09.564 -> �[0m[ 4908][E][WiFiUdp.cpp:221] parsePacket(): could not
receive data: 9
15:07:09.704 -> (W) (UpdateClockFromWeb)(C1) NTP clock: Raw values
sec=4087776026, usec=951759
15:07:09.704 -> �[0m(I) (UpdateClockFromWeb)(C1) Old Time: 4.739106, New
Time: 1710616017.951759, Delta: 1710616013.212653
15:07:09.704 -> �[0m(I) (UpdateClockFromWeb)(C1) Adjusting time by
1710616013.212653 to 1710616017.951759
15:07:09.704 -> �[0m(I) (UpdateClockFromWeb)(C1) NTP clock: response
received, updated time to: 1710616017.951759, DELTA: 1710616013.212653
15:07:09.751 -> �[0m(I)
15:07:09.751 -> �[0m(I) (ConnectToWiFi)(C1) Starting Web Server...
15:07:09.751 -> �[0m(I) (begin)(C1) Embedded html file size: 507
15:07:09.751 -> �[0m(I) (begin)(C1) Embedded jsx file size: 15320
15:07:09.751 -> �[0m(I) (begin)(C1) Embedded ico file size: 6471
15:07:09.751 -> �[0m(I) (begin)(C1) Embedded timezones file size: 18359
15:07:09.751 -> �[0m(I) (begin)(C1) Connecting Web Endpoints
15:07:10.079 -> �[0m(I) (begin)(C1) Web UI URL pathnames enabled
15:07:10.079 -> �[0m(I) (begin)(C1) HTTP server started
15:07:10.079 -> �[0m(I) (ConnectToWiFi)(C1) Web Server begin called!
15:07:10.079 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176796, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CP�[0mU: 004%, 033%, FreeDraw: 0.019
15:07:10.735 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176880, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.019
15:07:15.698 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.017
15:07:20.713 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.019
15:07:25.728 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.019
15:07:30.726 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 174556, LargestBlk: 163828, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CP�[0mU: 002%, 001%, FreeDraw: 0.019
15:07:35.695 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.019
15:07:40.710 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.019
15:07:45.718 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.017
15:07:50.733 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.018
15:07:55.702 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.018
15:08:00.717 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.018
15:08:05.723 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
15:08:06.285 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes
written to file /current.cfg: 1
15:08:09.379 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU�[0m: 002%, 003%, FreeDraw: 0.028
15:08:10.738 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.029
15:08:15.738 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.029
15:08:20.719 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.029
15:08:25.719 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.028
15:08:30.701 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.028
15:08:35.708 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.028
15:08:40.706 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.032
15:08:45.739 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU�[0m: 002%, 001%, FreeDraw: 0.029
15:08:50.703 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.032
15:08:55.721 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.029
15:09:00.694 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178,
Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright:
100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.030
15:09:05.696 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
=================================================================
Log from ESP32 that was initially loaded (and worked) with same "demo-s3",
but PSRAM build flags omitted.
15:36:00.831 -> ⸮g/"-⸮-⸮9⸮ǽ⸮⸮?;⸮1⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮ESP-ROM:esp32s3-20210327
15:36:00.878 -> Build:Mar 27 2021
15:36:00.878 -> rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
15:36:00.878 -> SPIWP:0xee
15:36:00.878 -> mode:DIO, clock div:1
15:36:00.878 -> load:0x3fce3808,len:0x44c
15:36:00.878 -> load:0x403c9700,len:0xbd8
15:36:00.878 -> load:0x403cc700,len:0x2a80
15:36:00.878 -> entry 0x403c98d0
15:36:01.112 -> E (278) esp_core_dump_flash: No core dump partition found!
15:36:01.112 -> E (278) esp_core_dump_flash: No core dump partition found!
15:36:01.112 -> E (280) psram: PSRAM ID read error: 0x00ffffff, PSRAM chip
not found or not supported, or wrong PSRAM line mode
15:36:01.206 -> Replacing Idle Tasks with TaskManager...
15:36:01.206 -> (I) (PrintOutputHeader)(C1) NightDriverStrip
15:36:01.206 -> �[0m(I)
15:36:01.206 -> �[0m(I) (PrintOutputHeader)(C1)
------------------------------------------------------------------------------------------------------------
15:36:01.206 -> �[0m(I) (PrintOutputHeader)(C1) M5STICKC: 0,
USE_M5DISPLAY: 0, USE_OLED: 0, USE_TFTSPI: 0, USE_LCD: 0, USE_AUDIO: 0,
ENABLE_REMOTE: 0
15:36:01.253 -> �[0m(I) (PrintOutputHeader)(C1) ESP32 PSRAM Init: FAIL
15:36:01.253 -> �[0m(I) (PrintOutputHeader)(C1) Version 40: Wifi SSID:
"1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 301256, PSRAM:0, PSRAM
Free: 0
15:36:01.253 -> �[0m(I) (PrintOutputHeader)(C1) ESP32 Clock Freq : 240 MHz
15:36:01.253 -> �[0m(I) (setup)(C1) Startup!
15:36:01.253 -> �[0m(I) (setup)(C1) Starting DebugLoopTaskEntry
15:36:01.253 -> �[0m>> Launching Debug Thread. Mem: 301256, LargestBlk:
270324, PSRAM Free: 0/0, (W) (ReadWiFiConfig)(C1) Retrieved SSID and
Password from NVS: "1F-TP-Link_2.4GHz_9B52B8", "********"
15:36:01.299 -> �[0m(W) (setup)(C1) Starting ImprovSerial for ESP32-S3
15:36:01.299 -> �[0m[ 652][E][vfs_api.cpp:182] remove(): /improv.log does
not exists or is directory
15:36:01.487 -> >> Launching JSON Writer Thread. Mem: 292448, LargestBlk:
270324, PSRAM Free: 0/0, (W) (DeviceConfig)(C1) DeviceConfig could not be
loaded from JSON, using defaults
15:36:01.956 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON
Writer Thread
15:36:01.956 -> �[0m(W) (InitializeHardware)(C1) Allocating LEDStripGFX
for channel 0
15:36:01.956 -> �[0m(I) (AddLEDsToFastLED)(C1) Adding LEDs to FastLED...
15:36:01.956 -> �[0m(I) (AddLEDsToFastLED)(C1) Adding 144 LEDs to pin 19
from channel 0 on FastLED.
15:36:01.956 -> �[0m(I) (SetupBufferManagers)(C1) Could allocate 9254239
buffers but limiting it to 2
15:36:01.956 -> �[0m(I)
15:36:01.956 -> �[0m(W) (SetupBufferManagers)(C1) Reserving 2 LED buffers
for a total of 928 bytes...
15:36:02.002 -> �[0m(W) (InitEffectsManager)(C1) InitEffectsManager...
15:36:02.002 -> �[0m(I) (LoadJSONFile)(C1) Attempting to read JSON file
/effects.cfg
15:36:02.002 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 4390 bytes
15:36:02.037 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 6438 bytes
15:36:02.037 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 8486 bytes
15:36:02.037 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 10534 bytes
15:36:02.080 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 12582 bytes
15:36:02.080 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 14630 bytes
15:36:02.080 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 16678 bytes
15:36:02.080 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 18726 bytes
15:36:02.127 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 20774 bytes
15:36:02.127 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 22822 bytes
15:36:02.127 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 24870 bytes
15:36:02.127 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 26918 bytes
15:36:02.127 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 28966 bytes
15:36:02.174 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 31014 bytes
15:36:02.174 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 33062 bytes
15:36:02.174 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 35110 bytes
15:36:02.174 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 37158 bytes
15:36:02.174 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 39206 bytes
15:36:02.221 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 41254 bytes
15:36:02.221 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 43302 bytes
15:36:02.221 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 45350 bytes
15:36:02.221 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 47398 bytes
15:36:02.221 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 49446 bytes
15:36:02.257 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 51494 bytes
15:36:02.257 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 53542 bytes
15:36:02.257 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 55590 bytes
15:36:02.304 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 57638 bytes
15:36:02.304 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 59686 bytes
15:36:02.304 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 61734 bytes
15:36:02.304 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 63782 bytes
15:36:02.304 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 65830 bytes
15:36:02.351 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 67878 bytes
15:36:02.351 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 69926 bytes
15:36:02.351 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 71974 bytes
15:36:02.351 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 74022 bytes
15:36:02.351 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 76070 bytes
15:36:02.398 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 78118 bytes
15:36:02.398 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 80166 bytes
15:36:02.398 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 82214 bytes
15:36:02.398 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 84262 bytes
15:36:02.398 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 86310 bytes
15:36:02.445 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 88358 bytes
15:36:02.445 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 90406 bytes
15:36:02.445 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 92454 bytes
15:36:02.445 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 94502 bytes
15:36:02.445 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 96550 bytes
15:36:02.492 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 98598 bytes
Note that this "increasing buffer to..." message keeps going on 'forever"
and the buffer is increased 2048 bytes each time. I saw buffer size go to
over 37MB, and it's still increasing! Not sure why it goes this high, as
there is only 8MB of PSRAM????
15:39:07.491 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 37783846 bytes
15:39:07.491 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 37785894 bytes
15:39:07.491 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 37787942 bytes
15:39:07.491 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 37789990 bytes
15:39:07.491 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from
file /effects.cfg - increasing buffer to 37792038 bytes
—
Reply to this email directly, view it on GitHub
<#616>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCSD36AK7GUDKFXU57L5CDYYSOEXAVCNFSM6AAAAABEZRVHMGVHI2DSMVQWIX3LMV43ERDJONRXK43TNFXW4OZWGM4DENZWG4>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Good NEWS - I figured it out!!!
Good. It was option #2 that I gave you, then.
The problem was that it seems the SW assumed I have QSPI PSRAM, but my
board has OPI PSRAM.
IIRC, all N8R2's use QSPI and N16R8's use OSPI.
If you're using something beyond the Espressif "can" modules, it's up to
you or the provider to pilfer through the data sheets and work that out.
I simply added this line that I found Dave using in another environment,
and it worked!
Careless use of magic can byte you, such as the use of the ESP32 flag to
protect against a silicon bug that can burn performance on an S3. It's
important to use it carefully.
Controversial opinion: I consider setting memory_type in a project *.ini -
unless you're also building the hardware - to be a bug in itself. That and
the other PSRAM flags should be set by the platform build module in
Platformio and not in the project. I thus consider our psram_flags to be an
overall negaative, but I haven't picked that fitght in this project because
I don't own a board that's using that.
We kind of had this conversation in:
platformio/platform-espressif32#1226 (while the
subject couldn't have gotten you here, the exact error is in their capture
- no, I don't expect a normal person to make that connection.)
There was some dust-up about it in
platformio/platform-espressif32#921
which, IMO, came down on the wrong side.
One of my older notes collections says:
➜ NightDriverStrip git:(main) ✗ cat notes
ask why a year old patch isn't on the release builds by now...
Download
https://github.com/handledexception/platform-espressif32/blob/esp32-s3-devkitc-1-n16r8v/boards/esp32-s3-devkitc-1-n16r8v.json
mv ~/Downloads/esp32-s3-devkitc-1-n16r8v.json
~/.platformio/platforms/espressif32/boards/esp32-s3-devkitc-1-n16r8v.json
FastLED/FastLED#1007
So I've probably been using the n16r8v all this time that sets octal on its
own.
I've more recently learned that class of patches, unfortunately, came in
after Espressif and Platformio being unable to play nice with each other,
so the dozen people that have submitted this fix ultimately get their fix
passive-aggressively eaten by "stalebot". The beef is whether the flash
uploader (by Espressif) should be able to figure this out from the headers
(it probably could) or whether PlatformIO is responsible for special-casing
these "new" (4 y/o) configurations. (esp32s3camlcd does it...) There are
all kind of crazy pitfalls (location of board LEDs, GPIO collisions, etc.)
that are best documented at the BOARD level and not the indvidual project
layer.
Note, too, that your board will have a partition table that is ...
suboptimal for a 16MB Flash board like ours, but it's almost impossible to
use that last half of the flash in NieghtDriver anyway.
board_build.arduino.memory_type = dio_opi ;Without this magic incantation,
PSRAM will not work on this board
It's not "magic". It's correctly describing your board. This is admittedly
difficult because of the crazy number of almost identically named
configurations out there, that boards change configurations while their
being made because of component and cost availability, and because
PlatformIO and Espressif aren't playing nice.
I only figured this out, because I saw the Arduino IDE Tools menu allowed
you to select between QSPI and OPI PSRAM, so I figured there must be a way
to do it in PlO, so I simply searched for "OPI" and found Dave's "magic"
line.
Did you have to set this for your boards?
I don't have one within reach, but grepping through my *ini flags of my
most recently active projects, no.
My active project when I last had time for NDL was working on better
detection, tracking, recommending appropriate flags, and benchmarking such
things to help people figure out what they really have.
Since someone will want to argue, my citation for the Espressif modules is
https://www.espressif.com/sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_en.pdf
Where Table1 1 and Table 2, identical except for external antenna which,
unsurprisingly, doesn't change this, says:
Table 1: ESP32-S3-WROOM-1 Series Comparison1 Ambient Temp.6 Size7
Ordering Code2 Flash3, 4 PSRAM5 (°C) (mm) ESP32-S3-WROOM-1-N4 4 MB (Quad
SPI) - –40 ~ 85 18.0 × 25.5 × 3.1
ESP32-S3-WROOM-1-N8 8 MB (Quad SPI) - –40 ~ 85
ESP32-S3-WROOM-1-N16 16 MB (Quad SPI) - –40 ~ 85
ESP32-S3-WROOM-1-H4 4 MB (Quad SPI) - –40 ~ 105
ESP32-S3-WROOM-1-N4R2 4 MB (Quad SPI) 2 MB (Quad SPI) –40 ~ 85
ESP32-S3-WROOM-1-N8R2 8 MB (Quad SPI) 2 MB (Quad SPI) –40 ~ 85
ESP32-S3-WROOM-1-N16R2 16 MB (Quad SPI) 2 MB (Quad SPI) –40 ~ 85
ESP32-S3-WROOM-1-N4R8 4 MB (Quad SPI)* 8 MB (Octal *SPI) –40 ~ 65
ESP32-S3-WROOM-1-N8R8 8 MB (Quad SPI) *8 MB (Octal *SPI) –40 ~ 65
ESP32-S3-WROOM-1-N16R8 16 MB (Quad SPI) *8 MB (Octal *SPI) –40 ~ 65
ESP32-S3-WROOM-1-N16R16V8 16 MB (Quad SPI) *16 MB (Octa*l SPI) –40 ~ 65
1 This table shares the same notes presented in Table 2 below.
With that, I think the rule gets pretty easy to remember: > 2MB? Octal.
That rule doesn't apply to others like Adafruit, LuaTOS, or others that buy
an ESP32-S3 CHIP (not module) and qualify and attach whatever external
PSRAM they feel is appropriate for their price/performance goals.
At the risk of being crassly commercial, I'll say that between a friend
calling a favor that impacted my stash of parts and one unfortunate inciden
twith a teeensy bit of smoke that cost me WAY more than $4.96 to diagnose,
I'll be ordering another small bucket of ESP32-S3's for NightDriver and,
to a lesser degree, for WLED, and to replace all that annoying vacuum tube
garbage inside my beautiful wooden radio that's as old as I am to turn it
into a voice/web driven internet radio/streamer. I can wait another our, so
at $4.17 (38 pins fit better in cheap fixtures like
https://s.click.aliexpress.com/e/_DBPYfJF) or
https://www.aliexpress.us/item/3256805990232033.html?pdp_npi=4%40dis%21USD%216.12%212.01%21%21%2143.82%2114.37%21%40211667e617107412280896412d4122%2112000036144267233%21affd%21%21%21%3Fspm%3Da2g0o.detail.0.0.72f51fffT91OGf&scm=null&pvid=null&
Or the breakout at gatewayAdapt=glo2usa For $4.81 or the breakout board for
https://s.click.aliexpress.com/e/_DlpHYyv. , I may be a high roller and go
back to the 44 pin YD-ESP232.S3 that I've now used in lots of projects just
because it's the same. It wint ot crediDo I NEEED a HUB75 interface, audio
in/out, and 16 WS28212's all at the same time? If Im going to make circuit
boards (Hi, Harrie; I haven't forgotten you. The ability to insert either a
33-470Ω in line with the DAT pins and/or add a HUB75 socket all at the same
time has some merit), I'm going to spend a few dimes more and start with a
board that gives me all the I/Os I can get.
I still think the N16R8's, even if vastly overkill for most NightDriver
projects, are the best starting place for most people UNLESS you're
building a HUB75 project. This project relies on an unmaintained HUB75
layer that doesn't support modern ESP32's.
Glad you've found your happy place and are off to the races.
RJL
|
Beta Was this translation helpful? Give feedback.
-
Look at some of the other S3 configs… It’s hazy, but on some you have to specify a different parameter for the TYPE of PSRAM. I can’t remember what it is or was, but had to do it once so there should be at least one project in there that already has it….
… On Mar 16, 2024, at 9:43 AM, achronoxx ***@***.***> wrote:
Hi,
I just got two new ESP32-S3-WROOM-1 N16/R8 (16MB Flash, 8MB PSRAM) and I successfully compiled the NightDriver SW, but the PSRAM Init fails.
This is my first time using an ESP32 with PSRAM, so I don't have any experience with PSRAM, so I guessed that I could just activate the PSRAM by adding the appropriate build flags from NightDriver (see below).
I have two of the same boards, and they both fail to initialize PSRAM. However, the debug logs are different for each board, even though they were built the exact same way - see below for the logs. The only difference between the two boards, is that one was first loaded with the same "demo-s3" but with PSRAM flags omitted. The other board was a "fresh" board (nothing loaded before).
Note that the SW works fine on these boards when I build it WITHOUT PSRAM build flags
Please let me know what I'm doing wrong.
I compiled a custom version of the "demo" environment as follows (relevant parts from platformio.ini):
[platformio]
default_envs = demo-s3
build_cache_dir = .pio/build_cache
extra_configs =
custom_*.ini ; This file can be created in the root directory to store user defined devices and environments.
[env:demo-s3]
extends = dev_esp32-s3
build_flags = -DDEMO=1
${dev_esp32-s3.build_flags}
${psram_flags.build_flags}
[dev_esp32-s3]
extends = base
board = esp32-s3-devkitc-1
board_build.mcu = esp32s3
board_build.f_cpu = 240000000L
monitor_speed = 115200
upload_speed = 1000000
; Build flags for use of PSRAM
[psram_flags]
build_flags = -DUSE_PSRAM=1
-DBOARD_HAS_PSRAM=1
-mfix-esp32-psram-cache-issue
Here is the relevant part from globals.h:
#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 60000
// 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 1 // Set the clock from the web
#define ENABLE_OTA 1 // Accept over the air flash updates
#if M5STICKC || M5STICKCPLUS || M5STACKCORE2
#define LED_PIN0 32
#elif LILYGOTDISPLAYS3
#define LED_PIN0 21
#else
#define LED_PIN0 19 //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
#define COLORDATA_SERVER_ENABLED 0 // AC: I added this
#define MAX_BUFFERS 2 // AC: I added this
Here is the debug log from Serial Port:
Log from ESP32 that was "fresh" (never had any SW loaded):
ESP-ROM:esp32s3-20210327
15:07:04.689 -> Build:Mar 27 2021
15:07:04.689 -> rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
15:07:04.689 -> SPIWP:0xee
15:07:04.689 -> mode:DIO, clock div:1
15:07:04.689 -> load:0x3fce3808,len:0x44c
15:07:04.689 -> load:0x403c9700,len:0xbd8
15:07:04.689 -> load:0x403cc700,len:0x2a80
15:07:04.689 -> entry 0x403c98d0
15:07:04.970 -> E (278) esp_core_dump_flash: No core dump partition found!
15:07:04.970 -> E (278) esp_core_dump_flash: No core dump partition found!
15:07:04.970 -> E (280) psram: PSRAM ID read error: 0x00ffffff, PSRAM chip not found or not supported, or wrong PSRAM line mode
15:07:05.064 -> Replacing Idle Tasks with TaskManager...
15:07:05.064 -> (I) (PrintOutputHeader)(C1) NightDriverStrip
15:07:05.064 -> �[0m(I)
15:07:05.064 -> �[0m(I) (PrintOutputHeader)(C1) ------------------------------------------------------------------------------------------------------------
15:07:05.064 -> �[0m(I) (PrintOutputHeader)(C1) M5STICKC: 0, USE_M5DISPLAY: 0, USE_OLED: 0, USE_TFTSPI: 0, USE_LCD: 0, USE_AUDIO: 0, ENABLE_REMOTE: 0
15:07:05.064 -> �[0m(I) (PrintOutputHeader)(C1) ESP32 PSRAM Init: FAIL
15:07:05.064 -> �[0m(I) (PrintOutputHeader)(C1) Version 40: Wifi SSID: "1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 301256, PSRAM:0, PSRAM Free: 0
15:07:05.111 -> �[0m(I) (PrintOutputHeader)(C1) ESP32 Clock Freq : 240 MHz
15:07:05.111 -> �[0m(I) (setup)(C1) Startup!
15:07:05.111 -> �[0m(I) (setup)(C1) Starting DebugLoopTaskEntry
15:07:05.111 -> �[0m>> Launching Debug Thread. Mem: 301256, LargestBlk: 270324, PSRAM Free: 0/0, (W) (ReadWiFiConfig)(C1) Retrieved SSID and Password from NVS: "1F-TP-Link_2.4GHz_9B52B8", "********"
15:07:05.111 -> �[0m(W) (setup)(C1) Starting ImprovSerial for ESP32-S3
15:07:05.111 -> �[0m[ 653][E][vfs_api.cpp:182] remove(): /improv.log does not exists or is directory
15:07:05.345 -> >> Launching JSON Writer Thread. Mem: 292448, LargestBlk: 270324, PSRAM Free: 0/0, (W) (DeviceConfig)(C1) DeviceConfig could not be loaded from JSON, using defaults
15:07:05.767 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON Writer Thread
15:07:05.767 -> �[0m(W) (InitializeHardware)(C1) Allocating LEDStripGFX for channel 0
15:07:05.814 -> �[0m(I) (AddLEDsToFastLED)(C1) Adding LEDs to FastLED...
15:07:05.814 -> �[0m(I) (AddLEDsToFastLED)(C1) Adding 144 LEDs to pin 19 from channel 0 on FastLED.
15:07:05.814 -> �[0m(I) (SetupBufferManagers)(C1) Could allocate 9254239 buffers but limiting it to 2
15:07:05.814 -> �[0m(I)
15:07:05.814 -> �[0m(W) (SetupBufferManagers)(C1) Reserving 2 LED buffers for a total of 928 bytes...
15:07:05.814 -> �[0m(W) (InitEffectsManager)(C1) InitEffectsManager...
15:07:05.814 -> �[0m(I) (InitEffectsManager)(C1) Creating EffectManager using default effects
15:07:06.236 -> �[0m #################### SetInterval: interval = 60000
15:07:06.236 -> >> Launching Drawing Thread. Mem: 276544, LargestBlk: 262132, PSRAM Free: 0/0, (W) (DrawLoopTaskEking initial attempt to connect to W(I)
15:07:06.283 -> �[0m(W) (DrawLoopTaskEntry)(C1) Entering main draw loop!
15:07:06.283 -> �[0m(W) (DrawLoopTaskEntry)(C1) Entering main draw loop!
15:07:06.283 -> �[0m
15:07:06.283 -> �[0m(I) (ConnectToWiFi)(C1) WiFi credentials passed for SSID "1F-TP-Link_2.4GHz_9B52B8"
15:07:06.283 -> �[0m(I) (ConnectToWiFi)(C1) Setting host name to ESP32-TTGO...
15:07:06.283 -> �[0m(W) (ConnectToWiFi)(C1) Connecting to Wifi SSID: "1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 222700, PSRAM:0, PSRAM Free: 0
15:07:06.376 -> �[0m(W)
15:07:06.376 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi, waiting...
15:07:06.517 -> �[0m>> Launching Network Thread. Mem: 222644, LargestBlk: 212980, PSRAM Free: 0/0, (W) (NotifyJSONWriterThread)(C1) >> Notifying JSON Writer Thread
15:07:06.517 -> �[0m(I) (operator())(C1) Sending Improv packet to declare we're up. Ignore any IMPROV lines that follow this one.
15:07:06.564 -> �[0mIMPROV����⸮
15:07:07.501 -> (W) (ConnectToWiFi)(C1) Not yet connected to WiFi, waiting...
15:07:07.501 -> �[0m(W) (ConnectToWiFi)(C1) Not yet connected to WiFi, waiting...
15:07:08.532 -> �[0m(I) (loop)(C1) Sending Improv packets to indicate WiFi is connected. Ignore any IMPROV lines that follow this one.
15:07:08.907 -> �[0mIMPROV����⸮
15:07:08.907 -> IMPROV������http://192.168.0.178�
15:07:09.517 -> (E) (SerializeWithBufferSize)(C0) Allocation of buffer for JSON serialization failed!
15:07:09.517 -> �[0m(E) (SaveToJSONFile)(C0) JSON serializationh BSSID: "AC:84:C6:9B:52:B8", received IP: 192.168.0W) (ConnectToWiFi)(C1) Connected to AP with BSSID: "AC:84:C6:9B:52:B8", received IP: 192.168.0.178
15:07:09.517 -> �[0m(I) (ConnectToWiFi)(C1) Publishing OTA...
15:07:09.564 -> �[0m(I) (ConnectToWiFi)(C1) Setting Clock...
15:07:09.564 -> �[0m[ 4908][E][WiFiUdp.cpp:221] parsePacket(): could not receive data: 9
15:07:09.704 -> (W) (UpdateClockFromWeb)(C1) NTP clock: Raw values sec=4087776026, usec=951759
15:07:09.704 -> �[0m(I) (UpdateClockFromWeb)(C1) Old Time: 4.739106, New Time: 1710616017.951759, Delta: 1710616013.212653
15:07:09.704 -> �[0m(I) (UpdateClockFromWeb)(C1) Adjusting time by 1710616013.212653 to 1710616017.951759
15:07:09.704 -> �[0m(I) (UpdateClockFromWeb)(C1) NTP clock: response received, updated time to: 1710616017.951759, DELTA: 1710616013.212653
15:07:09.751 -> �[0m(I)
15:07:09.751 -> �[0m(I) (ConnectToWiFi)(C1) Starting Web Server...
15:07:09.751 -> �[0m(I) (begin)(C1) Embedded html file size: 507
15:07:09.751 -> �[0m(I) (begin)(C1) Embedded jsx file size: 15320
15:07:09.751 -> �[0m(I) (begin)(C1) Embedded ico file size: 6471
15:07:09.751 -> �[0m(I) (begin)(C1) Embedded timezones file size: 18359
15:07:09.751 -> �[0m(I) (begin)(C1) Connecting Web Endpoints
15:07:10.079 -> �[0m(I) (begin)(C1) Web UI URL pathnames enabled
15:07:10.079 -> �[0m(I) (begin)(C1) HTTP server started
15:07:10.079 -> �[0m(I) (ConnectToWiFi)(C1) Web Server begin called!
15:07:10.079 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176796, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 11, CP�[0mU: 004%, 033%, FreeDraw: 0.019
15:07:10.735 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176880, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.019
15:07:15.698 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.017
15:07:20.713 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.019
15:07:25.728 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.019
15:07:30.726 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 174556, LargestBlk: 163828, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 11, CP�[0mU: 002%, 001%, FreeDraw: 0.019
15:07:35.695 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.019
15:07:40.710 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.019
15:07:45.718 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.017
15:07:50.733 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.018
15:07:55.702 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.018
15:08:00.717 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176884, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 11, CP�[0mU: 001%, 001%, FreeDraw: 0.018
15:08:05.723 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON Writer Thread
15:08:06.285 -> �[0m(I) (WriteCurrentEffectIndexFile)(C0) Number of bytes written to file /current.cfg: 1
15:08:09.379 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 1, CPU�[0m: 002%, 003%, FreeDraw: 0.028
15:08:10.738 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.029
15:08:15.738 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.029
15:08:20.719 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.029
15:08:25.719 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.028
15:08:30.701 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.028
15:08:35.708 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.028
15:08:40.706 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.032
15:08:45.739 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 1, CPU�[0m: 002%, 001%, FreeDraw: 0.029
15:08:50.703 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.032
15:08:55.721 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.029
15:09:00.694 -> �[0m(I) (loop)(C1) WiFi: WL_CONNECTED, IP: 192.168.0.178, Mem: 176916, LargestBlk: 167924, PSRAM Free: 0/0, LED FPS: 30 LED Bright: 100%, LED Watts: 1, CPU�[0m: 001%, 001%, FreeDraw: 0.030
15:09:05.696 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON Writer Thread
=================================================================
Log from ESP32 that was initially loaded (and worked) with same "demo-s3", but PSRAM build flags omitted.
15:36:00.831 -> ⸮g/"-⸮-⸮9⸮ǽ⸮⸮?;⸮1⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮ESP-ROM:esp32s3-20210327
15:36:00.878 -> Build:Mar 27 2021
15:36:00.878 -> rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
15:36:00.878 -> SPIWP:0xee
15:36:00.878 -> mode:DIO, clock div:1
15:36:00.878 -> load:0x3fce3808,len:0x44c
15:36:00.878 -> load:0x403c9700,len:0xbd8
15:36:00.878 -> load:0x403cc700,len:0x2a80
15:36:00.878 -> entry 0x403c98d0
15:36:01.112 -> E (278) esp_core_dump_flash: No core dump partition found!
15:36:01.112 -> E (278) esp_core_dump_flash: No core dump partition found!
15:36:01.112 -> E (280) psram: PSRAM ID read error: 0x00ffffff, PSRAM chip not found or not supported, or wrong PSRAM line mode
15:36:01.206 -> Replacing Idle Tasks with TaskManager...
15:36:01.206 -> (I) (PrintOutputHeader)(C1) NightDriverStrip
15:36:01.206 -> �[0m(I)
15:36:01.206 -> �[0m(I) (PrintOutputHeader)(C1) ------------------------------------------------------------------------------------------------------------
15:36:01.206 -> �[0m(I) (PrintOutputHeader)(C1) M5STICKC: 0, USE_M5DISPLAY: 0, USE_OLED: 0, USE_TFTSPI: 0, USE_LCD: 0, USE_AUDIO: 0, ENABLE_REMOTE: 0
15:36:01.253 -> �[0m(I) (PrintOutputHeader)(C1) ESP32 PSRAM Init: FAIL
15:36:01.253 -> �[0m(I) (PrintOutputHeader)(C1) Version 40: Wifi SSID: "1F-TP-Link_2.4GHz_9B52B8" - ESP32 Free Memory: 301256, PSRAM:0, PSRAM Free: 0
15:36:01.253 -> �[0m(I) (PrintOutputHeader)(C1) ESP32 Clock Freq : 240 MHz
15:36:01.253 -> �[0m(I) (setup)(C1) Startup!
15:36:01.253 -> �[0m(I) (setup)(C1) Starting DebugLoopTaskEntry
15:36:01.253 -> �[0m>> Launching Debug Thread. Mem: 301256, LargestBlk: 270324, PSRAM Free: 0/0, (W) (ReadWiFiConfig)(C1) Retrieved SSID and Password from NVS: "1F-TP-Link_2.4GHz_9B52B8", "********"
15:36:01.299 -> �[0m(W) (setup)(C1) Starting ImprovSerial for ESP32-S3
15:36:01.299 -> �[0m[ 652][E][vfs_api.cpp:182] remove(): /improv.log does not exists or is directory
15:36:01.487 -> >> Launching JSON Writer Thread. Mem: 292448, LargestBlk: 270324, PSRAM Free: 0/0, (W) (DeviceConfig)(C1) DeviceConfig could not be loaded from JSON, using defaults
15:36:01.956 -> �[0m(W) (NotifyJSONWriterThread)(C1) >> Notifying JSON Writer Thread
15:36:01.956 -> �[0m(W) (InitializeHardware)(C1) Allocating LEDStripGFX for channel 0
15:36:01.956 -> �[0m(I) (AddLEDsToFastLED)(C1) Adding LEDs to FastLED...
15:36:01.956 -> �[0m(I) (AddLEDsToFastLED)(C1) Adding 144 LEDs to pin 19 from channel 0 on FastLED.
15:36:01.956 -> �[0m(I) (SetupBufferManagers)(C1) Could allocate 9254239 buffers but limiting it to 2
15:36:01.956 -> �[0m(I)
15:36:01.956 -> �[0m(W) (SetupBufferManagers)(C1) Reserving 2 LED buffers for a total of 928 bytes...
15:36:02.002 -> �[0m(W) (InitEffectsManager)(C1) InitEffectsManager...
15:36:02.002 -> �[0m(I) (LoadJSONFile)(C1) Attempting to read JSON file /effects.cfg
15:36:02.002 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 4390 bytes
15:36:02.037 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 6438 bytes
15:36:02.037 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 8486 bytes
15:36:02.037 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 10534 bytes
15:36:02.080 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 12582 bytes
15:36:02.080 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 14630 bytes
15:36:02.080 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 16678 bytes
15:36:02.080 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 18726 bytes
15:36:02.127 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 20774 bytes
15:36:02.127 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 22822 bytes
15:36:02.127 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 24870 bytes
15:36:02.127 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 26918 bytes
15:36:02.127 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 28966 bytes
15:36:02.174 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 31014 bytes
15:36:02.174 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 33062 bytes
15:36:02.174 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 35110 bytes
15:36:02.174 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 37158 bytes
15:36:02.174 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 39206 bytes
15:36:02.221 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 41254 bytes
15:36:02.221 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 43302 bytes
15:36:02.221 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 45350 bytes
15:36:02.221 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 47398 bytes
15:36:02.221 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 49446 bytes
15:36:02.257 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 51494 bytes
15:36:02.257 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 53542 bytes
15:36:02.257 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 55590 bytes
15:36:02.304 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 57638 bytes
15:36:02.304 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 59686 bytes
15:36:02.304 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 61734 bytes
15:36:02.304 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 63782 bytes
15:36:02.304 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 65830 bytes
15:36:02.351 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 67878 bytes
15:36:02.351 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 69926 bytes
15:36:02.351 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 71974 bytes
15:36:02.351 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 74022 bytes
15:36:02.351 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 76070 bytes
15:36:02.398 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 78118 bytes
15:36:02.398 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 80166 bytes
15:36:02.398 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 82214 bytes
15:36:02.398 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 84262 bytes
15:36:02.398 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 86310 bytes
15:36:02.445 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 88358 bytes
15:36:02.445 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 90406 bytes
15:36:02.445 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 92454 bytes
15:36:02.445 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 94502 bytes
15:36:02.445 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 96550 bytes
15:36:02.492 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 98598 bytes
Note that this "increasing buffer to..." message keeps going on 'forever" and the buffer is increased 2048 bytes each time. I saw buffer size go to over 37MB, and it's still increasing! Not sure why it goes this high, as there is only 8MB of PSRAM????
15:39:07.491 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 37783846 bytes
15:39:07.491 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 37785894 bytes
15:39:07.491 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 37787942 bytes
15:39:07.491 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 37789990 bytes
15:39:07.491 -> �[0m(W) (LoadJSONFile)(C1) Out of memory reading JSON from file /effects.cfg - increasing buffer to 37792038 bytes
—
Reply to this email directly, view it on GitHub <#616>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AA4HCFYF6WJ6OATMNA3HF6DYYSOERAVCNFSM6AAAAABEZRVHMGVHI2DSMVQWIX3LMV43ERDJONRXK43TNFXW4OZWGM4DENZWG4>.
You are receiving this because you are subscribed to this thread.
|
Beta Was this translation helpful? Give feedback.
-
If you specify the correct base board, the octal vs. quad SPI thing should already always be worked out for you. Sometimes board vendors will get froggy to rob high-humbered GPIOs and will take the SPIs that are used for Quad/Octal SPI and will kneecap the overall boards in unintended ways. The vendors doing this are USUALLY not the ones looking to save a few pennies by NOT using the Espressif modules, but never underestimate how much of your time a hardware company will trade to save an eighth of a cent on their SKU pricing. Is S3 board using modules? Note that an S3 never needs -mfix-esp32-psram-cache-issue and related flags that are specific to errata in specific levels of somewhat unrelated older chips. If you see a patch turning OFF flags, it's a good hint that someone is brute-forcing a config file for an inappropriate fit and just hitting it with a hammer until it build and starts. For future readers, other than the 16MB thing - which I intend to tackle more thoroughly than the obvious way in NightDriver - ESP32-S3's using the N16R8 canned modules and using the DevKit pinouts are usually approximately using Espressif naming is exhausting. |
Beta Was this translation helpful? Give feedback.
Hi Robert, thanks for the quick reply.
Good NEWS - I figured it out!!!
The problem was that it seems the SW assumed I have QSPI PSRAM, but my board has OPI PSRAM.
I simply added this line that I found Dave using in another environment, and it worked!
board_build.arduino.memory_type = dio_opi ;Without this magic incantation, PSRAM will not work on this board
I only figured this out, because I saw the Arduino IDE Tools menu allowed you to select between QSPI and OPI PSRAM, so I figured there must be a way to do it in PlO, so I simply searched for "OPI" and found Dave's "magic" line.
Did you have to set this for your boards?
Andrew