7static const char*
TAG =
"FactoryReset";
12 uint16_t progressEvery,
13 void (*onRmemProgress)(uint16_t, uint16_t)) {
17 LOG_E(
TAG,
"Cannot wipe TROPIC01: SE session unavailable");
30 for (uint16_t slot = 0; slot < total; ++slot) {
31 if (progressEvery && onRmemProgress && (slot % progressEvery) == 0) {
32 onRmemProgress(slot, total);
39 if (progressEvery && onRmemProgress) {
40 onRmemProgress(total, total);
47 esp_err_t err = nvs_flash_erase();
49 LOG_E(
TAG,
"nvs_flash_erase failed: %s", esp_err_to_name(err));
52 err = nvs_flash_init();
54 LOG_E(
TAG,
"nvs_flash_init failed: %s", esp_err_to_name(err));
61 nvs_handle_t handle = 0;
CDC Log: logging over TinyUSB CDC and UART.
#define LOG_E(tag, fmt,...)
virtual bool rmemSlotUsed(uint16_t slot) const =0
virtual bool eccSlotUsed(uint8_t slot) const =0
static constexpr uint16_t RMEM_SLOT_COUNT
virtual SeResult eccDelete(uint8_t slot)=0
static constexpr uint8_t ECC_SLOT_COUNT
virtual SeResult rmemErase(uint16_t slot)=0
virtual bool isSessionActive() const =0
esp_err_t wipeNvs()
Erases the NVS partition and re-initializes it blank.
TropicWipeResult wipeTropic(hal::ISecureElement *se, uint16_t progressEvery=0, void(*onRmemProgress)(uint16_t current, uint16_t total)=nullptr)
Iterates every TROPIC01 ECC slot (0..ECC_SLOT_COUNT-1) and R-Memory slot (0..RMEM_SLOT_COUNT-1),...
void selfDestruct()
Triggers a full factory wipe on the next boot and restarts.
constexpr const char * kBootProfileNs
constexpr const char * kBootProfileKey