mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-22 05:14:46 -07:00
always save file even when tag was not locked
This commit is contained in:
@@ -43,7 +43,7 @@ void nfc_scene_nfcv_unlock_set_state(Nfc* nfc, NfcSceneNfcVUnlockState state) {
|
|||||||
popup_reset(popup);
|
popup_reset(popup);
|
||||||
|
|
||||||
if(nfc_worker_get_state(nfc->worker) == NfcWorkerStateNfcVUnlockAndSave) {
|
if(nfc_worker_get_state(nfc->worker) == NfcWorkerStateNfcVUnlockAndSave) {
|
||||||
nfc_text_store_set(nfc, "SLIX-L_%02X%02X%02X%02X%02X%02X%02X%02X",
|
nfc_text_store_set(nfc, "SLIX_%02X%02X%02X%02X%02X%02X%02X%02X",
|
||||||
nfc_data->uid[0], nfc_data->uid[1], nfc_data->uid[2], nfc_data->uid[3],
|
nfc_data->uid[0], nfc_data->uid[1], nfc_data->uid[2], nfc_data->uid[3],
|
||||||
nfc_data->uid[4], nfc_data->uid[5], nfc_data->uid[6], nfc_data->uid[7]);
|
nfc_data->uid[4], nfc_data->uid[5], nfc_data->uid[6], nfc_data->uid[7]);
|
||||||
|
|
||||||
|
|||||||
@@ -164,7 +164,27 @@ void nfc_worker_nfcv_unlock(NfcWorker* nfc_worker) {
|
|||||||
ret = nfcv_inventory(NULL);
|
ret = nfcv_inventory(NULL);
|
||||||
|
|
||||||
if(ret == ERR_NONE) {
|
if(ret == ERR_NONE) {
|
||||||
/* chip is also visible, so no action required */
|
/* chip is also visible, so no action required, just save */
|
||||||
|
if(nfc_worker->state == NfcWorkerStateNfcVUnlockAndSave) {
|
||||||
|
NfcVReader reader;
|
||||||
|
|
||||||
|
if(!nfcv_read_card(&reader, &nfc_worker->dev_data->nfc_data, nfcv_data)) {
|
||||||
|
furi_hal_console_printf(" => failed, wait for chip to disappear.\r\n");
|
||||||
|
snprintf(nfcv_data->error, sizeof(nfcv_data->error), "Read card\nfailed");
|
||||||
|
nfc_worker->callback(NfcWorkerEventWrongCardDetected, nfc_worker->context);
|
||||||
|
} else {
|
||||||
|
furi_hal_console_printf(" => success, wait for chip to disappear.\r\n");
|
||||||
|
nfc_worker->callback(NfcWorkerEventCardDetected, nfc_worker->context);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
furi_hal_console_printf(" => success, wait for chip to disappear.\r\n");
|
||||||
|
nfc_worker->callback(NfcWorkerEventCardDetected, nfc_worker->context);
|
||||||
|
}
|
||||||
|
|
||||||
|
while(slix_l_get_random(NULL) == ERR_NONE) {
|
||||||
|
furi_delay_ms(100);
|
||||||
|
}
|
||||||
|
|
||||||
furi_hal_console_printf(" => chip is already visible, wait for chip to disappear.\r\n");
|
furi_hal_console_printf(" => chip is already visible, wait for chip to disappear.\r\n");
|
||||||
nfc_worker->callback(NfcWorkerEventAborted, nfc_worker->context);
|
nfc_worker->callback(NfcWorkerEventAborted, nfc_worker->context);
|
||||||
while(slix_l_get_random(NULL) == ERR_NONE) {
|
while(slix_l_get_random(NULL) == ERR_NONE) {
|
||||||
@@ -200,29 +220,7 @@ void nfc_worker_nfcv_unlock(NfcWorker* nfc_worker) {
|
|||||||
ret = slix_l_unlock(4, rand, 0x0F0F0F0F);
|
ret = slix_l_unlock(4, rand, 0x0F0F0F0F);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(ret == ERR_NONE) {
|
if(ret != ERR_NONE) {
|
||||||
/* unlock succesful */
|
|
||||||
if(nfc_worker->state == NfcWorkerStateNfcVUnlockAndSave) {
|
|
||||||
NfcVReader reader;
|
|
||||||
|
|
||||||
if(!nfcv_read_card(&reader, &nfc_worker->dev_data->nfc_data, nfcv_data)) {
|
|
||||||
furi_hal_console_printf(" => failed, wait for chip to disappear.\r\n");
|
|
||||||
snprintf(nfcv_data->error, sizeof(nfcv_data->error), "Read card\nfailed");
|
|
||||||
nfc_worker->callback(NfcWorkerEventWrongCardDetected, nfc_worker->context);
|
|
||||||
} else {
|
|
||||||
furi_hal_console_printf(" => success, wait for chip to disappear.\r\n");
|
|
||||||
nfc_worker->callback(NfcWorkerEventCardDetected, nfc_worker->context);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
furi_hal_console_printf(" => success, wait for chip to disappear.\r\n");
|
|
||||||
nfc_worker->callback(NfcWorkerEventCardDetected, nfc_worker->context);
|
|
||||||
}
|
|
||||||
|
|
||||||
while(slix_l_get_random(NULL) == ERR_NONE) {
|
|
||||||
furi_delay_ms(100);
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
/* unlock failed */
|
/* unlock failed */
|
||||||
furi_hal_console_printf(" => failed, wait for chip to disappear.\r\n");
|
furi_hal_console_printf(" => failed, wait for chip to disappear.\r\n");
|
||||||
snprintf(nfcv_data->error, sizeof(nfcv_data->error), "Passwords not\naccepted");
|
snprintf(nfcv_data->error, sizeof(nfcv_data->error), "Passwords not\naccepted");
|
||||||
|
|||||||
Reference in New Issue
Block a user