Hi! Heads-up from The Firmware Hub.
FM-1 units sold recently (mostly AliExpress) carry a UC25HQ80 flash, JEDEC ID 0xB36014, instead of the Puya P25Q80 (0x856014). Same size (1 MiB), the same plain SPI NOR commands.
Your firmware checks for 0x856014, so it takes these units for unknown: saves stay in RAM ("flash error") and the update loader refuses to install. Users with the new chip are already writing in.
Fix: accept both IDs, in the app and in the update loader (ldr_flash_known in loader.c, if you have one):
#define FL_JEDEC_OK(id) ((id) == 0x856014u || (id) == 0xB36014u)
flash_ok = FL_JEDEC_OK(FL_FAR(fl_jedec_ram)());
OberVave 3.3.1, sloopDX and Dinghy have it already. A new release with this goes on your hub card by itself.
Thanks!
Sven – The Firmware Hub