Copy mode and intensity settings before reset

Signed-off-by: Markus Birth <markus@birth-online.de>
This commit is contained in:
2026-08-15 00:44:05 +01:00
parent 8efc64f611
commit 4a65c603c8
+6
View File
@@ -39,10 +39,16 @@ static NfcCommand sonicare_scene_reset_poller_callback(NfcGenericEvent event, vo
} else if(ev->type == MfUltralightPollerEventTypeAuthSuccess) { } else if(ev->type == MfUltralightPollerEventTypeAuthSuccess) {
FURI_LOG_I("sonicare_scene_reset", "Auth success, writing page 0x24"); FURI_LOG_I("sonicare_scene_reset", "Auth success, writing page 0x24");
const MfUltralightData* ul_data = app->nfc_data;
MfUltralightPoller* poller = (MfUltralightPoller*)event.instance; MfUltralightPoller* poller = (MfUltralightPoller*)event.instance;
// Official reset: write page 0x24 = {00 00 02 00} // Official reset: write page 0x24 = {00 00 02 00}
MfUltralightPage page = {.data = {0x00, 0x00, 0x02, 0x00}}; MfUltralightPage page = {.data = {0x00, 0x00, 0x02, 0x00}};
// copy mode and intensity settings
page.data[2] = ul_data->page[SONICARE_PAGE_USAGE].data[2];
page.data[3] = ul_data->page[SONICARE_PAGE_USAGE].data[3];
MfUltralightError err = MfUltralightError err =
mf_ultralight_poller_write_page(poller, SONICARE_PAGE_USAGE, &page); mf_ultralight_poller_write_page(poller, SONICARE_PAGE_USAGE, &page);