From cea1fba101f6fe1d443d673e801bc83b43553188 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Sun, 12 Oct 2025 15:27:18 +0800 Subject: [PATCH 01/24] use 16MB flash --- config/esp32/partitions.csv | 2 +- sdkconfig.defaults | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/esp32/partitions.csv b/config/esp32/partitions.csv index 89fe79f..abfd153 100755 --- a/config/esp32/partitions.csv +++ b/config/esp32/partitions.csv @@ -4,4 +4,4 @@ nvs, data, nvs, 0x9000, 0x6000 phy_init, data, phy, 0xf000, 0x1000 factory, app, factory, 0x10000, 1M, -part0, 0x40, 0x1, 0x200000, 1M, +part0, 0x40, 0x1, 0x200000, 14M, diff --git a/sdkconfig.defaults b/sdkconfig.defaults index 4086232..8982635 100755 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -8,7 +8,7 @@ CONFIG_TINYUSB=y CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="config/esp32/partitions.csv" CONFIG_PARTITION_TABLE_FILENAME="config/esp32/partitions.csv" -CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y CONFIG_WL_SECTOR_SIZE_512=y CONFIG_WL_SECTOR_MODE_PERF=y COMPILER_OPTIMIZATION="Performance" From 78ecb0ec475d307316d37b204cefb6f278a08d16 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Sun, 12 Oct 2025 18:42:41 +0800 Subject: [PATCH 02/24] change default led GPIO --- src/led/led_neopixel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/led/led_neopixel.c b/src/led/led_neopixel.c index c3da4b2..8f4c607 100644 --- a/src/led/led_neopixel.c +++ b/src/led/led_neopixel.c @@ -36,7 +36,7 @@ tNeopixel pixel[] = { }; #if defined(CONFIG_IDF_TARGET_ESP32S3) - #define NEOPIXEL_PIN GPIO_NUM_48 + #define NEOPIXEL_PIN GPIO_NUM_21 #elif defined(CONFIG_IDF_TARGET_ESP32S2) #define NEOPIXEL_PIN GPIO_NUM_15 #elif defined(CONFIG_IDF_TARGET_ESP32C6) From 4177dba16676574db18544c9f70a53d76cb67d9a Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Sun, 12 Oct 2025 22:45:40 +0800 Subject: [PATCH 03/24] add encrypted partition flag --- config/esp32/partitions.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/esp32/partitions.csv b/config/esp32/partitions.csv index abfd153..96956e8 100755 --- a/config/esp32/partitions.csv +++ b/config/esp32/partitions.csv @@ -4,4 +4,4 @@ nvs, data, nvs, 0x9000, 0x6000 phy_init, data, phy, 0xf000, 0x1000 factory, app, factory, 0x10000, 1M, -part0, 0x40, 0x1, 0x200000, 14M, +part0, 0x40, 0x1, 0x200000, 14M, encrypted From 5e9dbd59de3e2a899252f9849621f925c70649a7 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Tue, 14 Oct 2025 20:09:55 +0800 Subject: [PATCH 04/24] Revert "use 16MB flash" --- config/esp32/partitions.csv | 2 +- sdkconfig.defaults | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/esp32/partitions.csv b/config/esp32/partitions.csv index 96956e8..9fae82f 100755 --- a/config/esp32/partitions.csv +++ b/config/esp32/partitions.csv @@ -4,4 +4,4 @@ nvs, data, nvs, 0x9000, 0x6000 phy_init, data, phy, 0xf000, 0x1000 factory, app, factory, 0x10000, 1M, -part0, 0x40, 0x1, 0x200000, 14M, encrypted +part0, 0x40, 0x1, 0x200000, 1M, encrypted diff --git a/sdkconfig.defaults b/sdkconfig.defaults index 8982635..4086232 100755 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -8,7 +8,7 @@ CONFIG_TINYUSB=y CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="config/esp32/partitions.csv" CONFIG_PARTITION_TABLE_FILENAME="config/esp32/partitions.csv" -CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_WL_SECTOR_SIZE_512=y CONFIG_WL_SECTOR_MODE_PERF=y COMPILER_OPTIMIZATION="Performance" From 29c3ee9162f0e30674d31ec10df36f8cf8230a7c Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Tue, 14 Oct 2025 20:11:52 +0800 Subject: [PATCH 05/24] Update partitions.csv --- config/esp32/partitions.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/esp32/partitions.csv b/config/esp32/partitions.csv index 9fae82f..c268ad1 100755 --- a/config/esp32/partitions.csv +++ b/config/esp32/partitions.csv @@ -4,4 +4,4 @@ nvs, data, nvs, 0x9000, 0x6000 phy_init, data, phy, 0xf000, 0x1000 factory, app, factory, 0x10000, 1M, -part0, 0x40, 0x1, 0x200000, 1M, encrypted +part0, 0x40, 0x1, 0x200000, 2M, encrypted From fb7ddfeca56528cff12cc8a824ac1bebea25f9de Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Tue, 14 Oct 2025 23:14:59 +0800 Subject: [PATCH 06/24] Update sdkconfig.defaults --- sdkconfig.defaults | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sdkconfig.defaults b/sdkconfig.defaults index 4086232..adb55e4 100755 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -9,6 +9,8 @@ CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="config/esp32/partitions.csv" CONFIG_PARTITION_TABLE_FILENAME="config/esp32/partitions.csv" CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_WL_SECTOR_SIZE_512=y CONFIG_WL_SECTOR_MODE_PERF=y COMPILER_OPTIMIZATION="Performance" From 84ccd98ebef5c074f8d3e2680280f0bb9459f946 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 01:32:39 +0800 Subject: [PATCH 07/24] Update sdkconfig.defaults --- sdkconfig.defaults | 1 + 1 file changed, 1 insertion(+) diff --git a/sdkconfig.defaults b/sdkconfig.defaults index adb55e4..7cdcc41 100755 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -14,3 +14,4 @@ CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_WL_SECTOR_SIZE_512=y CONFIG_WL_SECTOR_MODE_PERF=y COMPILER_OPTIMIZATION="Performance" +CONFIG_ESP_TASK_WDT_EN=n From 85aff9c288892cdac212f8ecc25aa2fcdd6d6778 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 14:27:18 +0800 Subject: [PATCH 08/24] fix --- src/fs/low_flash.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index d2124bb..051797e 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -152,10 +152,6 @@ void do_flash() { } } flash_available = false; -#ifdef ESP_PLATFORM - esp_partition_munmap(fd_map); - esp_partition_mmap(part0, 0, part0->size, ESP_PARTITION_MMAP_DATA, (const void **)&map, (esp_partition_mmap_handle_t *)&fd_map); -#endif mutex_exit(&mtx_flash); } sem_release(&sem_flash); From e947e4c7a9a22833e4d0e610fd3cf67b7edc9dff Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 15:36:36 +0800 Subject: [PATCH 09/24] Update low_flash.c --- src/fs/low_flash.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index 051797e..fa2992c 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -152,6 +152,10 @@ void do_flash() { } } flash_available = false; +#ifdef ESP_PLATFORM + esp_partition_munmap(fd_map); + esp_partition_mmap(part0, 0, part0->size, ESP_PARTITION_MMAP_DATA, (const void **)&map, (esp_partition_mmap_handle_t *)&fd_map); +#endif mutex_exit(&mtx_flash); } sem_release(&sem_flash); @@ -242,7 +246,7 @@ page_flash_t *find_free_page(uintptr_t addr) { flash_pages[r].address == addr_alg) { //first available p = &flash_pages[r]; if (!flash_pages[r].ready && !flash_pages[r].erase) { -#ifdef PICO_PLATFORM +#if defined(PICO_PLATFORM) || defined(ESP_PLATFORM) memcpy(p->page, (uint8_t *) addr_alg, FLASH_SECTOR_SIZE); #else memcpy(p->page, (addr >= start_data_pool && addr <= end_rom_pool + sizeof(uintptr_t)) ? (uint8_t *) (map + addr_alg) : (uint8_t *) addr_alg, FLASH_SECTOR_SIZE); From f1dd0fe68715d84cefda6499bc1452d1575f7ba2 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 16:15:46 +0800 Subject: [PATCH 10/24] Revert "Update low_flash.c" This reverts commit e947e4c7a9a22833e4d0e610fd3cf67b7edc9dff. --- src/fs/low_flash.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index fa2992c..051797e 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -152,10 +152,6 @@ void do_flash() { } } flash_available = false; -#ifdef ESP_PLATFORM - esp_partition_munmap(fd_map); - esp_partition_mmap(part0, 0, part0->size, ESP_PARTITION_MMAP_DATA, (const void **)&map, (esp_partition_mmap_handle_t *)&fd_map); -#endif mutex_exit(&mtx_flash); } sem_release(&sem_flash); @@ -246,7 +242,7 @@ page_flash_t *find_free_page(uintptr_t addr) { flash_pages[r].address == addr_alg) { //first available p = &flash_pages[r]; if (!flash_pages[r].ready && !flash_pages[r].erase) { -#if defined(PICO_PLATFORM) || defined(ESP_PLATFORM) +#ifdef PICO_PLATFORM memcpy(p->page, (uint8_t *) addr_alg, FLASH_SECTOR_SIZE); #else memcpy(p->page, (addr >= start_data_pool && addr <= end_rom_pool + sizeof(uintptr_t)) ? (uint8_t *) (map + addr_alg) : (uint8_t *) addr_alg, FLASH_SECTOR_SIZE); From 18d574c295b1b6071e5eb656f5926b0382ef70d9 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 16:19:27 +0800 Subject: [PATCH 11/24] Update low_flash.c --- src/fs/low_flash.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index 051797e..14872b9 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -69,7 +69,11 @@ extern uint32_t FLASH_SIZE_BYTES; #define FLASH_SIZE_BYTES (8 * 1024 * 1024) #endif +#ifdef ESP_PLATFORM +#define TOTAL_FLASH_PAGES 512 +#else #define TOTAL_FLASH_PAGES 6 +#endif extern void flash_set_bounds(uintptr_t start, uintptr_t end); From 1a5d02adf8686f7ed3884fb8ae8aaebf42721d17 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 16:36:51 +0800 Subject: [PATCH 12/24] Revert "Update low_flash.c" This reverts commit 18d574c295b1b6071e5eb656f5926b0382ef70d9. --- src/fs/low_flash.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index 14872b9..051797e 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -69,11 +69,7 @@ extern uint32_t FLASH_SIZE_BYTES; #define FLASH_SIZE_BYTES (8 * 1024 * 1024) #endif -#ifdef ESP_PLATFORM -#define TOTAL_FLASH_PAGES 512 -#else #define TOTAL_FLASH_PAGES 6 -#endif extern void flash_set_bounds(uintptr_t start, uintptr_t end); From 1d4f18b277758e7390ed4395821c30c82c66b30a Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 17:07:01 +0800 Subject: [PATCH 13/24] Update low_flash.c --- src/fs/low_flash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index 051797e..e20df55 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -169,7 +169,7 @@ void low_flash_init() { part0 = esp_partition_find_first(0x40, 0x1, "part0"); esp_partition_mmap(part0, 0, part0->size, ESP_PARTITION_MMAP_DATA, (const void **)&map, (esp_partition_mmap_handle_t *)&fd_map); data_start_addr = 0; - data_end_addr = part0->size; + data_end_addr = FLASH_SECTOR_SIZE * TOTAL_FLASH_PAGES; FLASH_SIZE_BYTES = part0->size; #elif defined(PICO_PLATFORM) uint8_t txbuf[6] = {0x9f}; From 8c0b0956d3a74699cc1df811d49fd186c5c21b5b Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 17:42:18 +0800 Subject: [PATCH 14/24] Update low_flash.c --- src/fs/low_flash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index e20df55..8898385 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -170,7 +170,7 @@ void low_flash_init() { esp_partition_mmap(part0, 0, part0->size, ESP_PARTITION_MMAP_DATA, (const void **)&map, (esp_partition_mmap_handle_t *)&fd_map); data_start_addr = 0; data_end_addr = FLASH_SECTOR_SIZE * TOTAL_FLASH_PAGES; - FLASH_SIZE_BYTES = part0->size; + FLASH_SIZE_BYTES = FLASH_SECTOR_SIZE * TOTAL_FLASH_PAGES; #elif defined(PICO_PLATFORM) uint8_t txbuf[6] = {0x9f}; uint8_t rxbuf[6] = {0}; From 4c147b5aac5093ad16e996a62953e0a85e4df3f8 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 18:21:14 +0800 Subject: [PATCH 15/24] Update low_flash.c --- src/fs/low_flash.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index 8898385..5d6f9bb 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -245,7 +245,7 @@ page_flash_t *find_free_page(uintptr_t addr) { #ifdef PICO_PLATFORM memcpy(p->page, (uint8_t *) addr_alg, FLASH_SECTOR_SIZE); #else - memcpy(p->page, (addr >= start_data_pool && addr <= end_rom_pool + sizeof(uintptr_t)) ? (uint8_t *) (map + addr_alg) : (uint8_t *) addr_alg, FLASH_SECTOR_SIZE); + memcpy(p->page, (uint8_t *) (map + addr_alg), FLASH_SECTOR_SIZE); #endif ready_pages++; p->address = addr_alg; @@ -308,9 +308,9 @@ uint8_t *flash_read(uintptr_t addr) { uint8_t *v = (uint8_t *) addr; mutex_exit(&mtx_flash); #if !defined(PICO_PLATFORM) - if (addr >= start_data_pool && addr <= end_rom_pool + sizeof(uintptr_t)) { + //if (addr >= start_data_pool && addr <= end_rom_pool + sizeof(uintptr_t)) { v += (uintptr_t) map; - } + //} #endif return v; } From f0f0b218140559bf4b3eecac1ff4788fc1cd1ba2 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 19:17:22 +0800 Subject: [PATCH 16/24] Revert "Update low_flash.c" This reverts commit 4c147b5aac5093ad16e996a62953e0a85e4df3f8. --- src/fs/low_flash.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index 5d6f9bb..8898385 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -245,7 +245,7 @@ page_flash_t *find_free_page(uintptr_t addr) { #ifdef PICO_PLATFORM memcpy(p->page, (uint8_t *) addr_alg, FLASH_SECTOR_SIZE); #else - memcpy(p->page, (uint8_t *) (map + addr_alg), FLASH_SECTOR_SIZE); + memcpy(p->page, (addr >= start_data_pool && addr <= end_rom_pool + sizeof(uintptr_t)) ? (uint8_t *) (map + addr_alg) : (uint8_t *) addr_alg, FLASH_SECTOR_SIZE); #endif ready_pages++; p->address = addr_alg; @@ -308,9 +308,9 @@ uint8_t *flash_read(uintptr_t addr) { uint8_t *v = (uint8_t *) addr; mutex_exit(&mtx_flash); #if !defined(PICO_PLATFORM) - //if (addr >= start_data_pool && addr <= end_rom_pool + sizeof(uintptr_t)) { + if (addr >= start_data_pool && addr <= end_rom_pool + sizeof(uintptr_t)) { v += (uintptr_t) map; - //} + } #endif return v; } From 4d2c1d7032c2228027566f0993e7019ab6a9fcd5 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 19:17:29 +0800 Subject: [PATCH 17/24] Revert "Update low_flash.c" This reverts commit 8c0b0956d3a74699cc1df811d49fd186c5c21b5b. --- src/fs/low_flash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index 8898385..e20df55 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -170,7 +170,7 @@ void low_flash_init() { esp_partition_mmap(part0, 0, part0->size, ESP_PARTITION_MMAP_DATA, (const void **)&map, (esp_partition_mmap_handle_t *)&fd_map); data_start_addr = 0; data_end_addr = FLASH_SECTOR_SIZE * TOTAL_FLASH_PAGES; - FLASH_SIZE_BYTES = FLASH_SECTOR_SIZE * TOTAL_FLASH_PAGES; + FLASH_SIZE_BYTES = part0->size; #elif defined(PICO_PLATFORM) uint8_t txbuf[6] = {0x9f}; uint8_t rxbuf[6] = {0}; From ba56f2236fe836e64ef02f588533af75e037f8dc Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 19:17:34 +0800 Subject: [PATCH 18/24] Revert "Update low_flash.c" This reverts commit 1d4f18b277758e7390ed4395821c30c82c66b30a. --- src/fs/low_flash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index e20df55..051797e 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -169,7 +169,7 @@ void low_flash_init() { part0 = esp_partition_find_first(0x40, 0x1, "part0"); esp_partition_mmap(part0, 0, part0->size, ESP_PARTITION_MMAP_DATA, (const void **)&map, (esp_partition_mmap_handle_t *)&fd_map); data_start_addr = 0; - data_end_addr = FLASH_SECTOR_SIZE * TOTAL_FLASH_PAGES; + data_end_addr = part0->size; FLASH_SIZE_BYTES = part0->size; #elif defined(PICO_PLATFORM) uint8_t txbuf[6] = {0x9f}; From f8b1a9f8023e8f8b82979ad945406899ea348f96 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 20:46:31 +0800 Subject: [PATCH 19/24] fix --- src/fs/low_flash.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index 051797e..c201d5c 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -258,12 +258,20 @@ page_flash_t *find_free_page(uintptr_t addr) { } int flash_program_block(uintptr_t addr, const uint8_t *data, size_t len) { - page_flash_t *p = NULL; - if (!data || len == 0) { return PICOKEY_ERR_NULL_PARAM; } - +#if defined(ESP_PLATFORM) + uintptr_t addr_alg = addr & -FLASH_SECTOR_SIZE; + uint8_t *cache = (uint8_t *) malloc(FLASH_SECTOR_SIZE); + memcpy(cache,(uint8_t *) addr_alg + (uintptr_t) map, FLASH_SECTOR_SIZE); + flash_range_erase(addr_alg, FLASH_SECTOR_SIZE); + memcpy(cache + (addr & (FLASH_SECTOR_SIZE - 1)), data, len); + flash_range_program(addr_alg, cache, FLASH_SECTOR_SIZE); + free(cache); + return PICOKEY_OK; +#else + page_flash_t *p = NULL; mutex_enter_blocking(&mtx_flash); if (ready_pages == TOTAL_FLASH_PAGES) { mutex_exit(&mtx_flash); @@ -279,6 +287,7 @@ int flash_program_block(uintptr_t addr, const uint8_t *data, size_t len) { //printf("Flash: modified page %X with data %x at [%x]\n",(uintptr_t)addr,(uintptr_t)data,addr&(FLASH_SECTOR_SIZE-1)); mutex_exit(&mtx_flash); return PICOKEY_OK; +#endif } int flash_program_halfword(uintptr_t addr, uint16_t data) { @@ -294,6 +303,9 @@ int flash_program_uintptr(uintptr_t addr, uintptr_t data) { } uint8_t *flash_read(uintptr_t addr) { +#if defined(ESP_PLATFORM) + return (uint8_t *) addr + (uintptr_t) map; +#else uintptr_t addr_alg = addr & -FLASH_SECTOR_SIZE; mutex_enter_blocking(&mtx_flash); if (ready_pages > 0) { @@ -313,6 +325,7 @@ uint8_t *flash_read(uintptr_t addr) { } #endif return v; +#endif } uintptr_t flash_read_uintptr(uintptr_t addr) { @@ -336,6 +349,10 @@ uint8_t flash_read_uint8(uintptr_t addr) { } int flash_erase_page(uintptr_t addr, size_t page_size) { +#if defined(ESP_PLATFORM) + uintptr_t addr_alg = addr & -FLASH_SECTOR_SIZE; + flash_range_erase(addr_alg, page_size); +#else page_flash_t *p = NULL; mutex_enter_blocking(&mtx_flash); @@ -355,6 +372,7 @@ int flash_erase_page(uintptr_t addr, size_t page_size) { mutex_exit(&mtx_flash); return PICOKEY_OK; +#endif } bool flash_check_blank(const uint8_t *p_start, size_t size) { From 5a139cc3c7cbda0230a30dedaff6c8b6d328fbb4 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 20:59:10 +0800 Subject: [PATCH 20/24] Update low_flash.c --- src/fs/low_flash.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index c201d5c..1547222 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -370,9 +370,8 @@ int flash_erase_page(uintptr_t addr, size_t page_size) { p->ready = false; p->page_size = page_size; mutex_exit(&mtx_flash); - - return PICOKEY_OK; #endif + return PICOKEY_OK; } bool flash_check_blank(const uint8_t *p_start, size_t size) { From cf995983bbeee5b6215b39ce788bc5a9dd158919 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 22:03:15 +0800 Subject: [PATCH 21/24] Revert "Update low_flash.c" This reverts commit 5a139cc3c7cbda0230a30dedaff6c8b6d328fbb4. --- src/fs/low_flash.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index 1547222..c201d5c 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -370,8 +370,9 @@ int flash_erase_page(uintptr_t addr, size_t page_size) { p->ready = false; p->page_size = page_size; mutex_exit(&mtx_flash); -#endif + return PICOKEY_OK; +#endif } bool flash_check_blank(const uint8_t *p_start, size_t size) { From 3c8b471a83c6a87b0ccd785ac2f75f07e9c3f350 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 22:03:19 +0800 Subject: [PATCH 22/24] Revert "fix" This reverts commit f8b1a9f8023e8f8b82979ad945406899ea348f96. --- src/fs/low_flash.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index c201d5c..051797e 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -258,20 +258,12 @@ page_flash_t *find_free_page(uintptr_t addr) { } int flash_program_block(uintptr_t addr, const uint8_t *data, size_t len) { + page_flash_t *p = NULL; + if (!data || len == 0) { return PICOKEY_ERR_NULL_PARAM; } -#if defined(ESP_PLATFORM) - uintptr_t addr_alg = addr & -FLASH_SECTOR_SIZE; - uint8_t *cache = (uint8_t *) malloc(FLASH_SECTOR_SIZE); - memcpy(cache,(uint8_t *) addr_alg + (uintptr_t) map, FLASH_SECTOR_SIZE); - flash_range_erase(addr_alg, FLASH_SECTOR_SIZE); - memcpy(cache + (addr & (FLASH_SECTOR_SIZE - 1)), data, len); - flash_range_program(addr_alg, cache, FLASH_SECTOR_SIZE); - free(cache); - return PICOKEY_OK; -#else - page_flash_t *p = NULL; + mutex_enter_blocking(&mtx_flash); if (ready_pages == TOTAL_FLASH_PAGES) { mutex_exit(&mtx_flash); @@ -287,7 +279,6 @@ int flash_program_block(uintptr_t addr, const uint8_t *data, size_t len) { //printf("Flash: modified page %X with data %x at [%x]\n",(uintptr_t)addr,(uintptr_t)data,addr&(FLASH_SECTOR_SIZE-1)); mutex_exit(&mtx_flash); return PICOKEY_OK; -#endif } int flash_program_halfword(uintptr_t addr, uint16_t data) { @@ -303,9 +294,6 @@ int flash_program_uintptr(uintptr_t addr, uintptr_t data) { } uint8_t *flash_read(uintptr_t addr) { -#if defined(ESP_PLATFORM) - return (uint8_t *) addr + (uintptr_t) map; -#else uintptr_t addr_alg = addr & -FLASH_SECTOR_SIZE; mutex_enter_blocking(&mtx_flash); if (ready_pages > 0) { @@ -325,7 +313,6 @@ uint8_t *flash_read(uintptr_t addr) { } #endif return v; -#endif } uintptr_t flash_read_uintptr(uintptr_t addr) { @@ -349,10 +336,6 @@ uint8_t flash_read_uint8(uintptr_t addr) { } int flash_erase_page(uintptr_t addr, size_t page_size) { -#if defined(ESP_PLATFORM) - uintptr_t addr_alg = addr & -FLASH_SECTOR_SIZE; - flash_range_erase(addr_alg, page_size); -#else page_flash_t *p = NULL; mutex_enter_blocking(&mtx_flash); @@ -372,7 +355,6 @@ int flash_erase_page(uintptr_t addr, size_t page_size) { mutex_exit(&mtx_flash); return PICOKEY_OK; -#endif } bool flash_check_blank(const uint8_t *p_start, size_t size) { From 8517eca6d2a09f015b8d928d581baed5edec5f21 Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 22:44:52 +0800 Subject: [PATCH 23/24] Revert "change default led GPIO" This reverts commit 78ecb0ec475d307316d37b204cefb6f278a08d16. --- src/led/led_neopixel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/led/led_neopixel.c b/src/led/led_neopixel.c index 8f4c607..c3da4b2 100644 --- a/src/led/led_neopixel.c +++ b/src/led/led_neopixel.c @@ -36,7 +36,7 @@ tNeopixel pixel[] = { }; #if defined(CONFIG_IDF_TARGET_ESP32S3) - #define NEOPIXEL_PIN GPIO_NUM_21 + #define NEOPIXEL_PIN GPIO_NUM_48 #elif defined(CONFIG_IDF_TARGET_ESP32S2) #define NEOPIXEL_PIN GPIO_NUM_15 #elif defined(CONFIG_IDF_TARGET_ESP32C6) From c4297a3bacfe120d25086a9d3d32d3d8ab169e1c Mon Sep 17 00:00:00 2001 From: MageDelfador <9780339+MageDelfador@users.noreply.github.com> Date: Wed, 15 Oct 2025 22:46:01 +0800 Subject: [PATCH 24/24] update --- config/esp32/partitions.csv | 2 +- sdkconfig.defaults | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/config/esp32/partitions.csv b/config/esp32/partitions.csv index c268ad1..04dcea6 100755 --- a/config/esp32/partitions.csv +++ b/config/esp32/partitions.csv @@ -4,4 +4,4 @@ nvs, data, nvs, 0x9000, 0x6000 phy_init, data, phy, 0xf000, 0x1000 factory, app, factory, 0x10000, 1M, -part0, 0x40, 0x1, 0x200000, 2M, encrypted +part0, 0x40, 0x1, 0x200000, 2M, diff --git a/sdkconfig.defaults b/sdkconfig.defaults index 7cdcc41..adb55e4 100755 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -14,4 +14,3 @@ CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_WL_SECTOR_SIZE_512=y CONFIG_WL_SECTOR_MODE_PERF=y COMPILER_OPTIMIZATION="Performance" -CONFIG_ESP_TASK_WDT_EN=n