Skip to content

Commit 3d8f67c

Browse files
committed
Some progress
1 parent f5017f3 commit 3d8f67c

13 files changed

Lines changed: 3932 additions & 99 deletions

original_environment.txt

Lines changed: 3766 additions & 0 deletions
Large diffs are not rendered by default.

platformio.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ build_cache_dir = ~/.platformio/buildcache
1212
platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.31-2/platform-espressif32.zip
1313
framework = espidf
1414
board = esp32-p4-evboard
15-
board_build.sdkconfig = sdkconfig.p4.defaults
15+
board_build.sdkconfig = sdkconfig.esp32p4_8MB_idf
1616
board_build.partitions = tools/WLED_ESP32_8MB_1500KB_FS.csv
1717

1818
; NOTE: build_flags here are largely ignored by the IDF CMake build.
@@ -59,7 +59,7 @@ build_flags = -Ofast
5959
-D WLED_DISABLE_IMPROV_WIFISCAN
6060
-D CORE_DEBUG_LEVEL=0
6161
-D NDEBUG
62-
-D FAKE_DEFINE_10
62+
-D FAKE_DEFINE_11
6363
-D PARLIO_PINS=2,3,4,5,6,20,21,22,23,26,27,32,33,36,47,48
6464
-D WLED_DANGEROUS_OPTIMIZATIONS
6565
-D WLED_USE_MY_CONFIG

sdkconfig.esp32p4_8MB_idf

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1367,8 +1367,8 @@ CONFIG_ESP_INTR_IN_IRAM=y
13671367
# ESP-Driver:LCD Controller Configurations
13681368
#
13691369
# CONFIG_LCD_ENABLE_DEBUG_LOG is not set
1370-
# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set
1371-
# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set
1370+
CONFIG_LCD_RGB_ISR_IRAM_SAFE=y
1371+
CONFIG_LCD_RGB_RESTART_IN_VSYNC=y
13721372
# CONFIG_LCD_DSI_ISR_IRAM_SAFE is not set
13731373
# end of ESP-Driver:LCD Controller Configurations
13741374

@@ -1434,10 +1434,10 @@ CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION=y
14341434
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
14351435
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
14361436
CONFIG_SPIRAM_USE_MALLOC=y
1437-
# CONFIG_SPIRAM_MEMTEST is not set
1437+
CONFIG_SPIRAM_MEMTEST=y
14381438
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384
14391439
# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set
1440-
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0
1440+
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768
14411441
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
14421442
# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set
14431443
# end of PSRAM config
@@ -1612,8 +1612,8 @@ CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
16121612
# FAT Filesystem support
16131613
#
16141614
CONFIG_FATFS_VOLUME_COUNT=2
1615-
CONFIG_FATFS_LFN_NONE=y
1616-
# CONFIG_FATFS_LFN_HEAP is not set
1615+
# CONFIG_FATFS_LFN_NONE is not set
1616+
CONFIG_FATFS_LFN_HEAP=y
16171617
# CONFIG_FATFS_LFN_STACK is not set
16181618
# CONFIG_FATFS_SECTOR_512 is not set
16191619
CONFIG_FATFS_SECTOR_4096=y
@@ -1640,6 +1640,9 @@ CONFIG_FATFS_CODEPAGE_437=y
16401640
# CONFIG_FATFS_CODEPAGE_949 is not set
16411641
# CONFIG_FATFS_CODEPAGE_950 is not set
16421642
CONFIG_FATFS_CODEPAGE=437
1643+
CONFIG_FATFS_MAX_LFN=255
1644+
CONFIG_FATFS_API_ENCODING_ANSI_OEM=y
1645+
# CONFIG_FATFS_API_ENCODING_UTF_8 is not set
16431646
CONFIG_FATFS_FS_LOCK=0
16441647
CONFIG_FATFS_TIMEOUT_MS=10000
16451648
CONFIG_FATFS_PER_FILE_CACHE=y
@@ -1691,9 +1694,13 @@ CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048
16911694
CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10
16921695
CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
16931696
CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
1694-
# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
1697+
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
1698+
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
16951699
# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set
1696-
# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
1700+
CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y
1701+
CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
1702+
CONFIG_FREERTOS_RUN_TIME_COUNTER_TYPE_U32=y
1703+
# CONFIG_FREERTOS_RUN_TIME_COUNTER_TYPE_U64 is not set
16971704
# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set
16981705
# end of Kernel
16991706

@@ -1711,6 +1718,7 @@ CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y
17111718
CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y
17121719
# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set
17131720
CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y
1721+
CONFIG_FREERTOS_RUN_TIME_STATS_USING_ESP_TIMER=y
17141722
# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set
17151723
# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
17161724
# end of Port

sdkconfig.esp32p4_8MB_idf.old

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1252,7 +1252,6 @@ CONFIG_ESP32P4_UNIVERSAL_MAC_ADDRESSES=1
12521252
# Sleep Config
12531253
#
12541254
CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y
1255-
CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y
12561255
# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set
12571256
# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set
12581257
CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0
@@ -1415,30 +1414,7 @@ CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y
14151414
#
14161415
# ESP PSRAM
14171416
#
1418-
CONFIG_SPIRAM=y
1419-
1420-
#
1421-
# PSRAM config
1422-
#
1423-
CONFIG_SPIRAM_MODE_HEX=y
1424-
# CONFIG_SPIRAM_SPEED_80M is not set
1425-
CONFIG_SPIRAM_SPEED_20M=y
1426-
CONFIG_SPIRAM_SPEED=20
1427-
# CONFIG_SPIRAM_XIP_FROM_PSRAM is not set
1428-
# CONFIG_SPIRAM_ECC_ENABLE is not set
1429-
CONFIG_SPIRAM_BOOT_HW_INIT=y
1430-
CONFIG_SPIRAM_BOOT_INIT=y
1431-
CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION=y
1432-
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
1433-
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
1434-
CONFIG_SPIRAM_USE_MALLOC=y
1435-
CONFIG_SPIRAM_MEMTEST=y
1436-
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384
1437-
# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set
1438-
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0
1439-
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
1440-
# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set
1441-
# end of PSRAM config
1417+
# CONFIG_SPIRAM is not set
14421418
# end of ESP PSRAM
14431419

14441420
#
@@ -1641,7 +1617,6 @@ CONFIG_FATFS_CODEPAGE=437
16411617
CONFIG_FATFS_FS_LOCK=0
16421618
CONFIG_FATFS_TIMEOUT_MS=10000
16431619
CONFIG_FATFS_PER_FILE_CACHE=y
1644-
CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y
16451620
# CONFIG_FATFS_USE_FASTSEEK is not set
16461621
CONFIG_FATFS_USE_STRFUNC_NONE=y
16471622
# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set
@@ -1717,7 +1692,6 @@ CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y
17171692
#
17181693
# Extra
17191694
#
1720-
CONFIG_FREERTOS_TASK_CREATE_ALLOW_EXT_MEM=y
17211695
# end of Extra
17221696

17231697
CONFIG_FREERTOS_PORT=y
@@ -2002,7 +1976,6 @@ CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y
20021976
# mbedTLS
20031977
#
20041978
CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
2005-
# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set
20061979
# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set
20071980
# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set
20081981
CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
@@ -2183,7 +2156,6 @@ CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y
21832156
# CONFIG_NVS_ENCRYPTION is not set
21842157
# CONFIG_NVS_ASSERT_ERROR_CHECK is not set
21852158
# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set
2186-
# CONFIG_NVS_ALLOCATE_CACHE_IN_SPIRAM is not set
21872159
# end of NVS
21882160

21892161
#
@@ -2392,7 +2364,6 @@ CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10
23922364
# end of Hub Driver Configuration
23932365

23942366
# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set
2395-
# CONFIG_USB_HOST_DWC_DMA_CAP_MEMORY_IN_PSRAM is not set
23962367
CONFIG_USB_OTG_SUPPORTED=y
23972368
# end of USB-OTG
23982369

@@ -2745,9 +2716,7 @@ CONFIG_MDNS_TASK_AFFINITY=0x0
27452716
#
27462717
# MDNS Memory Configuration
27472718
#
2748-
# CONFIG_MDNS_TASK_CREATE_FROM_SPIRAM is not set
27492719
CONFIG_MDNS_TASK_CREATE_FROM_INTERNAL=y
2750-
# CONFIG_MDNS_MEMORY_ALLOC_SPIRAM is not set
27512720
CONFIG_MDNS_MEMORY_ALLOC_INTERNAL=y
27522721
# CONFIG_MDNS_MEMORY_CUSTOM_IMPL is not set
27532722
# end of MDNS Memory Configuration
@@ -2799,7 +2768,6 @@ CONFIG_LITTLEFS_MTIME_USE_SECONDS=y
27992768
# CONFIG_LITTLEFS_MALLOC_STRATEGY_DISABLE is not set
28002769
CONFIG_LITTLEFS_MALLOC_STRATEGY_DEFAULT=y
28012770
# CONFIG_LITTLEFS_MALLOC_STRATEGY_INTERNAL is not set
2802-
# CONFIG_LITTLEFS_MALLOC_STRATEGY_SPIRAM is not set
28032771
CONFIG_LITTLEFS_ASSERTS=y
28042772
# CONFIG_LITTLEFS_MMAP_PARTITION is not set
28052773
# CONFIG_LITTLEFS_WDT_RESET is not set

sdkconfig.p4.defaults

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
# ─── Target ───────────────────────────────────────────────────────────────────
55
CONFIG_IDF_TARGET="esp32p4"
66

7+
# ─── Experimental features (needed for SPIRAM_SPEED_200M) ─────────────────────
8+
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
9+
710
# ─── Task / stack sizes ───────────────────────────────────────────────────────
811
CONFIG_ESP_MAIN_TASK_STACK_SIZE=65536
912
CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y
@@ -13,10 +16,11 @@ CONFIG_SPIRAM=y
1316
CONFIG_SPIRAM_SPEED_200M=y
1417
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384
1518
CONFIG_SPIRAM_USE_MALLOC=y
19+
CONFIG_SPIRAM_FORCE_DISABLE=n
1620

1721
# ─── Flash / partitions ───────────────────────────────────────────────────────
18-
CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
19-
CONFIG_ESPTOOLPY_FLASHSIZE="8MB"
22+
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
23+
CONFIG_ESPTOOLPY_FLASHSIZE="16MB"
2024

2125
# ─── LittleFS ─────────────────────────────────────────────────────────────────
2226
CONFIG_LITTLEFS_FOR_IDF_5_0=y

wled00/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ idf_component_register(
2929
INCLUDE_DIRS "."
3030
"idf_shims"
3131
PRIV_REQUIRES esp_psram
32+
joltwallet__littlefs
3233
espressif__esp_hosted
3334
)
3435

wled00/FX.cpp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11013,6 +11013,10 @@ uint16_t IRAM_ATTR mode_AkemiPPA() {
1101311013
// Author: @TroyHacks
1101411014
// @license GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007
1101511015

11016+
static uint32_t akemi_t0 = 0, akemi_t_bus = 0, akemi_t_color = 0, akemi_t_fill = 0, akemi_t_loop = 0, akemi_t_clear = 0, akemi_t_srm = 0;
11017+
static uint32_t akemi_count = 0;
11018+
uint32_t t0 = esp_timer_get_time();
11019+
1101611020
if (!strip.isMatrix) return mode_static();
1101711021

1101811022
const uint16_t width = SEGMENT.virtualWidth();
@@ -11028,6 +11032,8 @@ uint16_t IRAM_ATTR mode_AkemiPPA() {
1102811032

1102911033
if (!SEGENV.allocateData(4)) return mode_static();
1103011034

11035+
uint32_t t1 = esp_timer_get_time();
11036+
1103111037
if (SEGENV.call == 0) {
1103211038
SEGMENT.setUpLeds();
1103311039
if (akemiBuffer == nullptr) {
@@ -11048,6 +11054,8 @@ uint16_t IRAM_ATTR mode_AkemiPPA() {
1104811054
} else {
1104911055
return mode_static();
1105011056
}
11057+
uint32_t t2 = esp_timer_get_time();
11058+
akemi_t_bus += (t2 - t1);
1105111059

1105211060
// --- Pre-calculate colors (same logic as original Akemi) ---
1105311061
uint16_t counter = (strip.now * ((SEGMENT.speed >> 2) + 2)) >> 8;
@@ -11095,6 +11103,8 @@ uint16_t IRAM_ATTR mode_AkemiPPA() {
1109511103
{eyesMouthColor.r, eyesMouthColor.g, eyesMouthColor.b}, // 7: eyes/mouth
1109611104
{cheekColor.r, cheekColor.g, cheekColor.b} // 8: cheeks (audio reactive)
1109711105
};
11106+
uint32_t t3 = esp_timer_get_time();
11107+
akemi_t_color += (t3 - t2);
1109811108

1109911109
// --- Clear the 32x32 buffer using PPA fill ---
1110011110
ppa_fill_oper_config_t fill_config = {};
@@ -11114,6 +11124,8 @@ uint16_t IRAM_ATTR mode_AkemiPPA() {
1111411124
fill_config.mode = PPA_TRANS_MODE_BLOCKING;
1111511125

1111611126
ESP_ERROR_CHECK_WITHOUT_ABORT(ppa_do_fill(ppa_fill_handle, &fill_config));
11127+
uint32_t t4 = esp_timer_get_time();
11128+
akemi_t_fill += (t4 - t3);
1111711129

1111811130
// --- Draw Akemi pixel by pixel into the 32x32 buffer ---
1111911131
// For a 32x32 source with mostly contiguous color regions,
@@ -11137,6 +11149,8 @@ uint16_t IRAM_ATTR mode_AkemiPPA() {
1113711149
akemiBuffer[pos + 2] = colorLUT[ak].b;
1113811150
}
1113911151
}
11152+
uint32_t t5 = esp_timer_get_time();
11153+
akemi_t_loop += (t5 - t4);
1114011154

1114111155
// --- Scale from 32x32 to segment size using PPA SRM ---
1114211156
// Calculate scale factors (fixed point: 1.0 = 1.0, supports up to ~16x)
@@ -11160,6 +11174,8 @@ uint16_t IRAM_ATTR mode_AkemiPPA() {
1116011174
clearConfig.fill_argb_color.a = 255;
1116111175
clearConfig.mode = PPA_TRANS_MODE_BLOCKING;
1116211176
ESP_ERROR_CHECK_WITHOUT_ABORT(ppa_do_fill(ppa_fill_handle, &clearConfig));
11177+
uint32_t t6 = esp_timer_get_time();
11178+
akemi_t_clear += (t6 - t5);
1116311179

1116411180
// SRM (Scale-Rotate-Mirror) operation
1116511181
ppa_srm_oper_config_t srm_config = {};
@@ -11191,6 +11207,8 @@ uint16_t IRAM_ATTR mode_AkemiPPA() {
1119111207
srm_config.mode = PPA_TRANS_MODE_BLOCKING;
1119211208

1119311209
ESP_ERROR_CHECK_WITHOUT_ABORT(ppa_do_scale_rotate_mirror(ppa_srm_handle, &srm_config));
11210+
uint32_t t7 = esp_timer_get_time();
11211+
akemi_t_srm += (t7 - t6);
1119411212

1119511213
// --- Optional: GEQ overlay on hands (if check1 is enabled) ---
1119611214
// Render 16 bands into a tiny 16x17 buffer, then PPA scale to hand positions
@@ -11297,6 +11315,21 @@ uint16_t IRAM_ATTR mode_AkemiPPA() {
1129711315
}
1129811316

1129911317
#endif
11318+
uint32_t t8 = esp_timer_get_time();
11319+
akemi_t0 += (t8 - t0);
11320+
if (++akemi_count >= 120) {
11321+
printf("AkemiPPA[%dx%d]: total=%lumS bus=%lumS color=%lumS fill=%lumS loop=%lumS clear=%lumS srm=%lumS\n",
11322+
width, height,
11323+
akemi_t0 / akemi_count,
11324+
akemi_t_bus / akemi_count,
11325+
akemi_t_color / akemi_count,
11326+
akemi_t_fill / akemi_count,
11327+
akemi_t_loop / akemi_count,
11328+
akemi_t_clear / akemi_count,
11329+
akemi_t_srm / akemi_count);
11330+
akemi_t0 = akemi_t_bus = akemi_t_color = akemi_t_fill = akemi_t_loop = akemi_t_clear = akemi_t_srm = 0;
11331+
akemi_count = 0;
11332+
}
1130011333
return FRAMETIME;
1130111334
} // mode_AkemiPPA
1130211335
static const char _data_FX_MODE_AKEMIPPA[] PROGMEM = "Akemi PPA ☾🐺@Speed,Intensity,,,,GEQ Overlay;Face,Arms,Eyes;;2f;pal=11,c1=1";

wled00/ImageCacheManager.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ ImageCacheManager::~ImageCacheManager() {
4545
// ============================================================================
4646

4747
bool ImageCacheManager::_isMJPEGFile(const psram_string& path) {
48-
return path.size() > 6 && path.substr(path.size() - 6) == ".mjpeg";
48+
return path.size() >= 8 && path.substr(path.size() - 8) == ".mjpeg";
4949
}
5050

5151
// ============================================================================
@@ -540,13 +540,15 @@ void ImageCacheManager::startPreload(const std::string& root_path) {
540540
psram_string name = entry->d_name;
541541
psram_string full_path = psram_string(root_path.c_str()) + "/" + name;
542542

543+
ESP_LOGI(TAG, "SD entry: type=%d name=%s", entry->d_type, entry->d_name);
544+
543545
if (stat(full_path.c_str(), &st) != 0) continue;
544546

545547
// Check for MJPEG files
546548
if (S_ISREG(st.st_mode) &&
547549
name.rfind("sequence", 0) == 0 &&
548-
name.size() > 6 &&
549-
name.substr(name.size() - 6) == ".mjpeg") {
550+
name.size() >= 8 &&
551+
name.substr(name.size() - 8, 8) == ".mjpeg") {
550552
items.push_back(name);
551553
}
552554
// Check for JPEG sequence folders
@@ -559,8 +561,8 @@ void ImageCacheManager::startPreload(const std::string& root_path) {
559561
// Sort with _hot items first
560562
std::sort(items.begin(), items.end(), [](const psram_string& a, const psram_string& b) {
561563
auto is_hot = [](const psram_string& s) {
562-
if (s.size() >= 11 && s.substr(s.size() - 11) == "_hot.mjpeg") return true;
563-
if (s.size() >= 4 && s.substr(s.size() - 4) == "_hot") return true;
564+
if (s.size() >= 10 && s.substr(s.size() - 10, 10) == "_hot.mjpeg") return true;
565+
if (s.size() >= 4 && s.substr(s.size() - 4, 4) == "_hot") return true;
564566
return false;
565567
};
566568
bool a_hot = is_hot(a);
@@ -584,6 +586,12 @@ void ImageCacheManager::startPreload(const std::string& root_path) {
584586
}
585587
}
586588

589+
// If no items were queued, the background task was never created.
590+
// Set EVT_IDLE now so waitUntilIdle() does not block forever.
591+
if (items.empty()) {
592+
xEventGroupSetBits(status_events, EVT_IDLE);
593+
}
594+
587595
ESP_LOGI(TAG, "Queued %d items for preload", items.size());
588596
}
589597

0 commit comments

Comments
 (0)