mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-06-06 18:51:53 -07:00
u2f over nfc
https://github.com/flipperdevices/flipperzero-firmware/pull/1755 from @devsnek may need more testing
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
entry,status,name,type,params
|
||||
Version,+,12.0,,
|
||||
Version,+,13.0,,
|
||||
Header,+,applications/services/bt/bt_service/bt.h,,
|
||||
Header,+,applications/services/cli/cli.h,,
|
||||
Header,+,applications/services/cli/cli_vcp.h,,
|
||||
@@ -1198,7 +1198,7 @@ Function,+,furi_hal_nfc_field_on,void,
|
||||
Function,-,furi_hal_nfc_init,void,
|
||||
Function,+,furi_hal_nfc_is_busy,_Bool,
|
||||
Function,+,furi_hal_nfc_is_init,_Bool,
|
||||
Function,+,furi_hal_nfc_listen,_Bool,"uint8_t*, uint8_t, uint8_t*, uint8_t, _Bool, uint32_t"
|
||||
Function,+,furi_hal_nfc_listen,_Bool,"FuriHalNfcDevData*, _Bool, uint32_t"
|
||||
Function,+,furi_hal_nfc_listen_rx,_Bool,"FuriHalNfcTxRxContext*, uint32_t"
|
||||
Function,+,furi_hal_nfc_listen_sleep,void,
|
||||
Function,+,furi_hal_nfc_listen_start,void,FuriHalNfcDevData*
|
||||
|
||||
|
@@ -206,10 +206,7 @@ bool furi_hal_nfc_activate_nfca(uint32_t timeout, uint32_t* cuid) {
|
||||
}
|
||||
|
||||
bool furi_hal_nfc_listen(
|
||||
uint8_t* uid,
|
||||
uint8_t uid_len,
|
||||
uint8_t* atqa,
|
||||
uint8_t sak,
|
||||
FuriHalNfcDevData* nfc_data,
|
||||
bool activate_after_sak,
|
||||
uint32_t timeout) {
|
||||
rfalNfcState state = rfalNfcGetState();
|
||||
@@ -232,16 +229,19 @@ bool furi_hal_nfc_listen(
|
||||
.notifyCb = NULL,
|
||||
.activate_after_sak = activate_after_sak,
|
||||
};
|
||||
if(FURI_BIT(sak, 5)) {
|
||||
if (nfc_data->interface == FuriHalNfcInterfaceIsoDep) {
|
||||
params.compMode = RFAL_COMPLIANCE_MODE_ISO;
|
||||
}
|
||||
else if (FURI_BIT(nfc_data->sak, 5)) {
|
||||
params.compMode = RFAL_COMPLIANCE_MODE_EMV;
|
||||
} else {
|
||||
params.compMode = RFAL_COMPLIANCE_MODE_NFC;
|
||||
}
|
||||
params.lmConfigPA.nfcidLen = uid_len;
|
||||
memcpy(params.lmConfigPA.nfcid, uid, uid_len);
|
||||
params.lmConfigPA.SENS_RES[0] = atqa[0];
|
||||
params.lmConfigPA.SENS_RES[1] = atqa[1];
|
||||
params.lmConfigPA.SEL_RES = sak;
|
||||
params.lmConfigPA.nfcidLen = nfc_data->uid_len;
|
||||
memcpy(params.lmConfigPA.nfcid, nfc_data->uid, nfc_data->uid_len);
|
||||
params.lmConfigPA.SENS_RES[0] = nfc_data->atqa[0];
|
||||
params.lmConfigPA.SENS_RES[1] = nfc_data->atqa[1];
|
||||
params.lmConfigPA.SEL_RES = nfc_data->sak;
|
||||
rfalNfcDiscover(¶ms);
|
||||
|
||||
// Disable EMD suppression.
|
||||
|
||||
Reference in New Issue
Block a user