1
mirror of https://github.com/DarkFlippers/unleashed-firmware.git synced 2025-12-12 12:42:30 +04:00

Read Ultralight block by block

This commit is contained in:
Mykhailo Shevchuk
2024-10-16 02:24:43 +03:00
parent 2c70dd51a1
commit d3f192ac36

View File

@@ -505,16 +505,14 @@ static NfcCommand mf_ultralight_poller_handler_read_pages(MfUltralightPoller* in
instance->error = mf_ultralight_poller_read_page(instance, start_page, &data); instance->error = mf_ultralight_poller_read_page(instance, start_page, &data);
} }
const uint8_t read_cnt = instance->data->type == MfUltralightTypeMfulC ? 1 : 4;
if(instance->error == MfUltralightErrorNone) { if(instance->error == MfUltralightErrorNone) {
for(size_t i = 0; i < read_cnt; i++) { if (start_page < instance->pages_total) {
if(start_page + i < instance->pages_total) { FURI_LOG_D(TAG, "Read page %d success", start_page);
FURI_LOG_D(TAG, "Read page %d success", start_page + i); instance->data->page[start_page] = data.page[start_page];
instance->data->page[start_page + i] = data.page[i]; instance->pages_read++;
instance->pages_read++; instance->data->pages_read = instance->pages_read;
instance->data->pages_read = instance->pages_read; }
}
}
if(instance->pages_read == instance->pages_total) { if(instance->pages_read == instance->pages_total) {
instance->state = MfUltralightPollerStateReadCounters; instance->state = MfUltralightPollerStateReadCounters;
} }