Revert "Revert "Merge branch 'pr/450' into 420""

This reverts commit 076b11e872.
This commit is contained in:
RogueMaster
2022-11-26 17:05:26 -05:00
parent 076b11e872
commit 16a037fc4e
6 changed files with 159 additions and 87 deletions

View File

@@ -1186,7 +1186,6 @@ Function,+,furi_hal_nfc_emulate_nfca,_Bool,"uint8_t*, uint8_t, uint8_t*, uint8_t
Function,+,furi_hal_nfc_exit_sleep,void,
Function,+,furi_hal_nfc_field_off,void,
Function,+,furi_hal_nfc_field_on,void,
Function,-,furi_hal_nfc_gen_bitstream,void,"FuriHalNfcTxRxContext*, uint8_t*, size_t"
Function,-,furi_hal_nfc_init,void,
Function,+,furi_hal_nfc_is_busy,_Bool,
Function,+,furi_hal_nfc_is_init,_Bool,
@@ -1210,7 +1209,6 @@ Function,+,furi_hal_nfc_stop,void,
Function,+,furi_hal_nfc_stop_cmd,void,
Function,+,furi_hal_nfc_tx_rx,_Bool,"FuriHalNfcTxRxContext*, uint16_t"
Function,+,furi_hal_nfc_tx_rx_full,_Bool,FuriHalNfcTxRxContext*
Function,-,furi_hal_nfcv_listen_start,void,
Function,-,furi_hal_os_init,void,
Function,+,furi_hal_os_tick,void,
Function,+,furi_hal_power_check_otg_status,void,
@@ -2027,10 +2025,6 @@ Function,-,nfca_get_crc16,uint16_t,"uint8_t*, uint16_t"
Function,-,nfca_signal_alloc,NfcaSignal*,
Function,-,nfca_signal_encode,void,"NfcaSignal*, uint8_t*, uint16_t, uint8_t*"
Function,-,nfca_signal_free,void,NfcaSignal*
Function,-,nfca_trans_rx_continue,void,NfcaTransRxState*
Function,-,nfca_trans_rx_deinit,void,NfcaTransRxState*
Function,-,nfca_trans_rx_init,void,NfcaTransRxState*
Function,-,nfca_trans_rx_loop,_Bool,"NfcaTransRxState*, uint32_t"
Function,-,nfcv_emu_deinit,void,NfcVData*
Function,-,nfcv_emu_init,void,"FuriHalNfcDevData*, NfcVData*"
Function,-,nfcv_emu_loop,_Bool,"FuriHalNfcTxRxContext*, FuriHalNfcDevData*, NfcVData*, uint32_t"
1 entry status name type params
1186 Function + furi_hal_nfc_exit_sleep void
1187 Function + furi_hal_nfc_field_off void
1188 Function + furi_hal_nfc_field_on void
Function - furi_hal_nfc_gen_bitstream void FuriHalNfcTxRxContext*, uint8_t*, size_t
1189 Function - furi_hal_nfc_init void
1190 Function + furi_hal_nfc_is_busy _Bool
1191 Function + furi_hal_nfc_is_init _Bool
1209 Function + furi_hal_nfc_stop_cmd void
1210 Function + furi_hal_nfc_tx_rx _Bool FuriHalNfcTxRxContext*, uint16_t
1211 Function + furi_hal_nfc_tx_rx_full _Bool FuriHalNfcTxRxContext*
Function - furi_hal_nfcv_listen_start void
1212 Function - furi_hal_os_init void
1213 Function + furi_hal_os_tick void
1214 Function + furi_hal_power_check_otg_status void
2025 Function - nfca_signal_alloc NfcaSignal*
2026 Function - nfca_signal_encode void NfcaSignal*, uint8_t*, uint16_t, uint8_t*
2027 Function - nfca_signal_free void NfcaSignal*
Function - nfca_trans_rx_continue void NfcaTransRxState*
Function - nfca_trans_rx_deinit void NfcaTransRxState*
Function - nfca_trans_rx_init void NfcaTransRxState*
Function - nfca_trans_rx_loop _Bool NfcaTransRxState*, uint32_t
2028 Function - nfcv_emu_deinit void NfcVData*
2029 Function - nfcv_emu_init void FuriHalNfcDevData*, NfcVData*
2030 Function - nfcv_emu_loop _Bool FuriHalNfcTxRxContext*, FuriHalNfcDevData*, NfcVData*, uint32_t

View File

@@ -367,38 +367,6 @@ void furi_hal_nfc_listen_start(FuriHalNfcDevData* nfc_data) {
st25r3916ExecuteCommand(ST25R3916_CMD_GOTO_SENSE);
}
void furi_hal_nfcv_listen_start() {
furi_hal_gpio_init(&gpio_nfc_irq_rfid_pull, GpioModeInput, GpioPullDown, GpioSpeedVeryHigh);
// Clear interrupts
st25r3916ClearInterrupts();
// Mask all interrupts
st25r3916DisableInterrupts(ST25R3916_IRQ_MASK_ALL);
// RESET
st25r3916ExecuteCommand(ST25R3916_CMD_STOP);
// Setup registers
st25r3916WriteRegister(
ST25R3916_REG_OP_CONTROL,
ST25R3916_REG_OP_CONTROL_en | ST25R3916_REG_OP_CONTROL_rx_en |
ST25R3916_REG_OP_CONTROL_en_fd_auto_efd);
st25r3916WriteRegister(
ST25R3916_REG_MODE,
ST25R3916_REG_MODE_targ_targ | ST25R3916_REG_MODE_om3 | ST25R3916_REG_MODE_om0);
st25r3916WriteRegister(
ST25R3916_REG_PASSIVE_TARGET,
ST25R3916_REG_PASSIVE_TARGET_fdel_2 | ST25R3916_REG_PASSIVE_TARGET_fdel_0 |
ST25R3916_REG_PASSIVE_TARGET_d_ac_ap2p | ST25R3916_REG_PASSIVE_TARGET_d_212_424_1r);
st25r3916WriteRegister(ST25R3916_REG_MASK_RX_TIMER, 0x02);
// Mask interrupts
uint32_t clear_irq_mask =
(ST25R3916_IRQ_MASK_RXE | ST25R3916_IRQ_MASK_RXE_PTA | ST25R3916_IRQ_MASK_WU_A_X |
ST25R3916_IRQ_MASK_WU_A);
st25r3916EnableInterrupts(clear_irq_mask);
// Go to sense
st25r3916ExecuteCommand(ST25R3916_CMD_GOTO_SENSE);
}
void rfal_interrupt_callback_handler() {
furi_event_flag_set(event, EVENT_FLAG_INTERRUPT);
}

View File

@@ -177,12 +177,6 @@ bool furi_hal_nfc_listen(
*/
void furi_hal_nfc_listen_start(FuriHalNfcDevData* nfc_data);
/** Start Target Listen mode
* @note RFAL free implementation
*
*/
void furi_hal_nfcv_listen_start();
/** Read data in Target Listen mode
* @note Must be called only after furi_hal_nfc_listen_start()
*