mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2025-02-17 05:48:33 +00:00
Review changes and extra logging
This commit is contained in:
parent
d638b9b1a4
commit
c8a779da3f
3 changed files with 17 additions and 10 deletions
|
@ -32,11 +32,13 @@ bool mf_plus_get_type_from_version(
|
|||
mf_plus_data->type = MfPlusTypePlus;
|
||||
mf_plus_data->size = MfPlusSize2K;
|
||||
mf_plus_data->security_level = MfPlusSecurityLevel2;
|
||||
FURI_LOG_D(TAG, "Mifare Plus 2K SL2");
|
||||
} else if(iso14443_4a_data->iso14443_3a_data->sak == 0x11) {
|
||||
// Mifare Plus 4K SL3
|
||||
mf_plus_data->type = MfPlusTypePlus;
|
||||
mf_plus_data->size = MfPlusSize4K;
|
||||
mf_plus_data->security_level = MfPlusSecurityLevel3;
|
||||
FURI_LOG_D(TAG, "Mifare Plus 4K SL3");
|
||||
} else {
|
||||
// Mifare Plus EV1/EV2
|
||||
|
||||
|
@ -44,12 +46,15 @@ bool mf_plus_get_type_from_version(
|
|||
switch(mf_plus_data->version.hw_major) {
|
||||
case 0x11:
|
||||
mf_plus_data->type = MfPlusTypeEV1;
|
||||
FURI_LOG_D(TAG, "Mifare Plus EV1");
|
||||
break;
|
||||
case 0x22:
|
||||
mf_plus_data->type = MfPlusTypeEV2;
|
||||
FURI_LOG_D(TAG, "Mifare Plus EV2");
|
||||
break;
|
||||
default:
|
||||
mf_plus_data->type = MfPlusTypeUnknown;
|
||||
FURI_LOG_D(TAG, "Unknown Mifare Plus EV type");
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -57,12 +62,15 @@ bool mf_plus_get_type_from_version(
|
|||
switch(mf_plus_data->version.hw_storage) {
|
||||
case 0x16:
|
||||
mf_plus_data->size = MfPlusSize2K;
|
||||
FURI_LOG_D(TAG, "2K");
|
||||
break;
|
||||
case 0x18:
|
||||
mf_plus_data->size = MfPlusSize4K;
|
||||
FURI_LOG_D(TAG, "4K");
|
||||
break;
|
||||
default:
|
||||
mf_plus_data->size = MfPlusSizeUnknown;
|
||||
FURI_LOG_D(TAG, "Unknown storage size");
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -70,9 +78,11 @@ bool mf_plus_get_type_from_version(
|
|||
if(iso14443_4a_data->iso14443_3a_data->sak == 0x20) {
|
||||
// Mifare Plus EV1/2 SL3
|
||||
mf_plus_data->security_level = MfPlusSecurityLevel3;
|
||||
FURI_LOG_D(TAG, "Miare Plus EV1/2 SL3");
|
||||
} else {
|
||||
// Mifare Plus EV1/2 SL1
|
||||
mf_plus_data->security_level = MfPlusSecurityLevel1;
|
||||
FURI_LOG_D(TAG, "Miare Plus EV1/2 SL1");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -158,6 +168,7 @@ bool mf_plus_get_type_from_iso4(const Iso14443_4aData* iso4_data, MfPlusData* mf
|
|||
mf_plus_ats_t1_tk_values[0],
|
||||
simple_array_get_count(iso4_data->ats_data.t1_tk)) == 0) {
|
||||
// Mifare Plus S 2/4K SL3
|
||||
FURI_LOG_D(TAG, "Mifare Plus S SL3");
|
||||
mf_plus_data->type = MfPlusTypeS;
|
||||
mf_plus_data->security_level = MfPlusSecurityLevel3;
|
||||
|
||||
|
@ -179,6 +190,7 @@ bool mf_plus_get_type_from_iso4(const Iso14443_4aData* iso4_data, MfPlusData* mf
|
|||
iso4_data->ats_data.t1_tk,
|
||||
mf_plus_ats_t1_tk_values[1],
|
||||
simple_array_get_count(iso4_data->ats_data.t1_tk)) == 0) {
|
||||
FURI_LOG_D(TAG, "Mifare Plus X SL3");
|
||||
mf_plus_data->type = MfPlusTypeX;
|
||||
mf_plus_data->security_level = MfPlusSecurityLevel3;
|
||||
|
||||
|
|
|
@ -183,15 +183,14 @@ static bool mf_plus_poller_detect(NfcGenericEvent event, void* context) {
|
|||
bool detected = false;
|
||||
|
||||
if(iso14443_4a_event->type == Iso14443_4aPollerEventTypeReady) {
|
||||
detected = mf_plus_poller_read_version(instance, &instance->data->version);
|
||||
detected =
|
||||
(mf_plus_poller_read_version(instance, &instance->data->version) == MfPlusErrorNone);
|
||||
if(detected) {
|
||||
detected = mf_plus_get_type_from_version(
|
||||
iso14443_4a_poller_get_data(instance->iso14443_4a_poller),
|
||||
instance->data) == MfPlusErrorNone;
|
||||
iso14443_4a_poller_get_data(instance->iso14443_4a_poller), instance->data);
|
||||
} else {
|
||||
detected = mf_plus_get_type_from_iso4(
|
||||
iso14443_4a_poller_get_data(instance->iso14443_4a_poller),
|
||||
instance->data) == MfPlusErrorNone;
|
||||
iso14443_4a_poller_get_data(instance->iso14443_4a_poller), instance->data);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -42,12 +42,8 @@ MfPlusError mf_plus_poller_send_chunk(
|
|||
}
|
||||
|
||||
bit_buffer_reset(instance->tx_buffer);
|
||||
bit_buffer_copy(rx_buffer, instance->rx_buffer);
|
||||
|
||||
if(bit_buffer_get_size_bytes(instance->rx_buffer) > sizeof(uint8_t)) {
|
||||
bit_buffer_copy_right(rx_buffer, instance->rx_buffer, sizeof(uint8_t));
|
||||
} else {
|
||||
bit_buffer_reset(rx_buffer);
|
||||
}
|
||||
} while(false);
|
||||
|
||||
return error;
|
||||
|
|
Loading…
Add table
Reference in a new issue