make ALL_JSON_TO_PSRAM the default
PSRAM optimizations: always enable ALL_JSON_TO_PSRAM and WLED_USE_PSRAM_JSON
This commit is contained in:
@@ -1660,7 +1660,6 @@ build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags}
|
|||||||
-D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup
|
-D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup
|
||||||
-D WLEDMM_FASTPATH ; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions.
|
-D WLEDMM_FASTPATH ; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions.
|
||||||
-DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON ;; -D WLED_USE_PSRAM ;; WLED_USE_PSRAM causes major slow-down (slow LEDs) on some ESP32 boards
|
-DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON ;; -D WLED_USE_PSRAM ;; WLED_USE_PSRAM causes major slow-down (slow LEDs) on some ESP32 boards
|
||||||
;; -DALL_JSON_TO_PSRAM ;; WLEDMM experimental --> try to force all JSON stuff into PSRAM; gives more free heap.
|
|
||||||
-D WLED_DISABLE_LOXONE ; FLASH 1272 bytes
|
-D WLED_DISABLE_LOXONE ; FLASH 1272 bytes
|
||||||
-D WLED_DISABLE_HUESYNC ; RAM 122 bytes; FLASH 6308 bytes
|
-D WLED_DISABLE_HUESYNC ; RAM 122 bytes; FLASH 6308 bytes
|
||||||
-D WLED_DISABLE_ALEXA ; RAM 116 bytes; FLASH 13524 bytes
|
-D WLED_DISABLE_ALEXA ; RAM 116 bytes; FLASH 13524 bytes
|
||||||
@@ -1695,7 +1694,6 @@ build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags}
|
|||||||
;;${Speed_Flags.build_flags} ;; optimize for speed instead of size --> over 100% flash, but works with 256KB filesystem (alternative partitions file)
|
;;${Speed_Flags.build_flags} ;; optimize for speed instead of size --> over 100% flash, but works with 256KB filesystem (alternative partitions file)
|
||||||
-D WLEDMM_FASTPATH ; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions.
|
-D WLEDMM_FASTPATH ; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions.
|
||||||
-DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON ;; -D WLED_USE_PSRAM ;; WLED_USE_PSRAM causes major slow-down (slow LEDs) on some ESP32 boards
|
-DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON ;; -D WLED_USE_PSRAM ;; WLED_USE_PSRAM causes major slow-down (slow LEDs) on some ESP32 boards
|
||||||
;; -DALL_JSON_TO_PSRAM ;; WLEDMM experimental --> try to force all JSON stuff into PSRAM; gives more free heap.
|
|
||||||
;;-D CONFIG_ESP32_REV_MIN=3 ;; disables PSRAM bug workarounds in the core, reducing the code size and improving overall performance.
|
;;-D CONFIG_ESP32_REV_MIN=3 ;; disables PSRAM bug workarounds in the core, reducing the code size and improving overall performance.
|
||||||
-D WLED_RELEASE_NAME=esp32_4MB_PSRAM_REV3_S
|
-D WLED_RELEASE_NAME=esp32_4MB_PSRAM_REV3_S
|
||||||
-D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BROWNOUT_DET
|
-D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BROWNOUT_DET
|
||||||
@@ -1904,7 +1902,6 @@ build_flags = ${common.build_flags} ${esp32s2.build_flags}
|
|||||||
-DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0
|
-DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0
|
||||||
-D SERVERNAME='"WLED-S2"'
|
-D SERVERNAME='"WLED-S2"'
|
||||||
-DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON ;; -D WLED_USE_PSRAM
|
-DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON ;; -D WLED_USE_PSRAM
|
||||||
-DALL_JSON_TO_PSRAM ;; WLEDMM experimental --> try to force all JSON stuff into PSRAM; gives more free heap.
|
|
||||||
-D WLED_DISABLE_LOXONE ;; FLASH 1272 bytes
|
-D WLED_DISABLE_LOXONE ;; FLASH 1272 bytes
|
||||||
-D WLED_DISABLE_HUESYNC ;; RAM 122 bytes; FLASH 6308 bytes
|
-D WLED_DISABLE_HUESYNC ;; RAM 122 bytes; FLASH 6308 bytes
|
||||||
-D WLED_DISABLE_ALEXA ;; RAM 116 bytes; FLASH 13524 bytes
|
-D WLED_DISABLE_ALEXA ;; RAM 116 bytes; FLASH 13524 bytes
|
||||||
@@ -1955,7 +1952,6 @@ build_flags = ${common.build_flags} ${esp32s2.build_flags}
|
|||||||
-Wno-misleading-indentation -Wno-format-truncation
|
-Wno-misleading-indentation -Wno-format-truncation
|
||||||
-D WLED_RELEASE_NAME=esp32s2_4MB_M
|
-D WLED_RELEASE_NAME=esp32s2_4MB_M
|
||||||
-DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON ;; -D WLED_USE_PSRAM
|
-DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON ;; -D WLED_USE_PSRAM
|
||||||
;; -DALL_JSON_TO_PSRAM ;; WLEDMM experimental --> try to force all JSON stuff into PSRAM; gives more free heap.
|
|
||||||
-DLOLIN_WIFI_FIX -DWLEDMM_WIFI_POWERON_HACK ;; seems to work much better with this
|
-DLOLIN_WIFI_FIX -DWLEDMM_WIFI_POWERON_HACK ;; seems to work much better with this
|
||||||
-DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=1
|
-DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=1
|
||||||
-D WLED_DISABLE_ADALIGHT ;; disables serial protocols, as the board only has CDC USB
|
-D WLED_DISABLE_ADALIGHT ;; disables serial protocols, as the board only has CDC USB
|
||||||
|
|||||||
@@ -408,9 +408,9 @@ static String getContentType(AsyncWebServerRequest* request, String filename){
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if defined(BOARD_HAS_PSRAM) && defined(WLED_USE_PSRAM)
|
#if defined(BOARD_HAS_PSRAM) && defined(WLED_USE_PSRAM)
|
||||||
// caching presets in PSRAM may prevent occasional flashes seen when HomeAssitant polls WLED
|
// caching presets in PSRAM may prevent occasional flashes seen when HomeAssistant polls WLED
|
||||||
// original idea by @akaricchi (https://github.com/Akaricchi)
|
// original idea by @akaricchi (https://github.com/Akaricchi)
|
||||||
// returns a pointer to the PSRAM buffer updates size parameter
|
// returns a pointer to the PSRAM buffer, updates size parameter
|
||||||
static const uint8_t *getPresetCache(size_t &size) {
|
static const uint8_t *getPresetCache(size_t &size) {
|
||||||
static unsigned long presetsCachedTime;
|
static unsigned long presetsCachedTime;
|
||||||
static uint8_t *presetsCached;
|
static uint8_t *presetsCached;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// version code in format yymmddb (b = daily build)
|
// version code in format yymmddb (b = daily build)
|
||||||
#define VERSION 2404280
|
#define VERSION 2404281
|
||||||
|
|
||||||
// WLEDMM - you can check for this define in usermods, to only enabled WLEDMM specific code in the "right" fork. Its not defined in AC WLED.
|
// WLEDMM - you can check for this define in usermods, to only enabled WLEDMM specific code in the "right" fork. Its not defined in AC WLED.
|
||||||
#define _MoonModules_WLED_
|
#define _MoonModules_WLED_
|
||||||
@@ -184,6 +184,12 @@
|
|||||||
// There is a code that will still not use PSRAM though:
|
// There is a code that will still not use PSRAM though:
|
||||||
// AsyncJsonResponse is a derived class that implements DynamicJsonDocument (AsyncJson-v6.h)
|
// AsyncJsonResponse is a derived class that implements DynamicJsonDocument (AsyncJson-v6.h)
|
||||||
#if defined(ARDUINO_ARCH_ESP32) && defined(BOARD_HAS_PSRAM) && (defined(WLED_USE_PSRAM) || defined(WLED_USE_PSRAM_JSON)) // WLEDMM
|
#if defined(ARDUINO_ARCH_ESP32) && defined(BOARD_HAS_PSRAM) && (defined(WLED_USE_PSRAM) || defined(WLED_USE_PSRAM_JSON)) // WLEDMM
|
||||||
|
// WLEDMM the JSON_TO_PSRAM feature works, so use it by default
|
||||||
|
#undef WLED_USE_PSRAM_JSON
|
||||||
|
#define WLED_USE_PSRAM_JSON
|
||||||
|
#undef ALL_JSON_TO_PSRAM
|
||||||
|
#define ALL_JSON_TO_PSRAM
|
||||||
|
|
||||||
struct PSRAM_Allocator {
|
struct PSRAM_Allocator {
|
||||||
void* allocate(size_t size) {
|
void* allocate(size_t size) {
|
||||||
if (psramFound()) return ps_malloc(size); // use PSRAM if it exists
|
if (psramFound()) return ps_malloc(size); // use PSRAM if it exists
|
||||||
@@ -802,7 +808,7 @@ WLED_GLOBAL int8_t spi_sclk _INIT(HW_PIN_CLOCKSPI);
|
|||||||
WLED_GLOBAL PSRAMDynamicJsonDocument doc;
|
WLED_GLOBAL PSRAMDynamicJsonDocument doc;
|
||||||
#else
|
#else
|
||||||
WLED_GLOBAL PSRAMDynamicJsonDocument doc(JSON_BUFFER_SIZE);
|
WLED_GLOBAL PSRAMDynamicJsonDocument doc(JSON_BUFFER_SIZE);
|
||||||
#warning experimental - trying to always use dynamic JSON
|
//#warning trying to always use dynamic JSON in PSRAM
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
WLED_GLOBAL StaticJsonDocument<JSON_BUFFER_SIZE> doc;
|
WLED_GLOBAL StaticJsonDocument<JSON_BUFFER_SIZE> doc;
|
||||||
|
|||||||
Reference in New Issue
Block a user