We stored some data in non volatile memory (in nv table) in the factory firmware code during blessing process. And we put the device to deep sleep using server.sleepfor. When the device wakes up the data in nv table is lost. However the same code works fine in the regular developer programming environment. But fails when run as factory firmware.
Currently the “nv” table doesn’t work in factory firmware, sorry. We hope to lift this restriction in a future release.
As you’re using an imp003, I’d suggest using the spiflash API to store the data that is needed on the other side of the sleep.