[FL-2198], [FL-2161] NFC emulation refactoring (#968)

* rfal: add state changed callback
* furi_hal_nfc: add NFC-A emulation API
* nfc: add emulation logger, refactor scenes
* elements: fix text_box element
* gui: fix text box module
* nfc: remove unnecessary buffers
* nfc: introduce emulation callback concept
* nfc: format sources
* bt settings: fix incorrect scene switch
* bt settings: format sources
* Debug: fix x2d import for python 3
* Gui: rename method name widget_clear to widget_reset
* nfc: add nfca emulation handler
* nfc: add global custom events enum
* nfc: UID emulation Data -> Log
* furi_hal_nfc: fix incorrect timings
* u2f, badusb: widget_clear() -> widget_reset()

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
gornekich
2022-02-02 22:59:28 +03:00
committed by GitHub
parent 838df4c9ea
commit 8cfd0eab9e
46 changed files with 719 additions and 251 deletions

View File

@@ -545,10 +545,13 @@ typedef struct {
typedef void (*rfalUpperLayerCallback)(void);
/*! Callback to be executed before a Transceive */
typedef void (*rfalPreTxRxCallback)(void);
typedef void (*rfalPreTxRxCallback)(void* context);
/*! Callback to be executed after a Transceive */
typedef void (*rfalPostTxRxCallback)(void);
typedef void (*rfalPostTxRxCallback)(void* context);
/** Callback to be executed on each RFAL state change */
typedef void (*RfalStateChangedCallback)(void* context);
/*******************************************************************************/
/* ISO14443A */
@@ -819,6 +822,19 @@ void rfalSetPreTxRxCallback(rfalPreTxRxCallback pFunc);
*/
void rfalSetPostTxRxCallback(rfalPostTxRxCallback pFunc);
/** Set RFAL state changed callback
*
* @param cb RfalStateChangedCallback instance
* @param ctx pointer to context
*/
void rfal_set_state_changed_callback(RfalStateChangedCallback callback);
/** Set callback context
*
* @param ctx pointer to context
*/
void rfal_set_callback_context(void* context);
/*!
*****************************************************************************
* \brief RFAL Deinitialize
@@ -1480,6 +1496,15 @@ ReturnCode rfalTransceiveBlockingTxRx(
uint32_t flags,
uint32_t fwt);
ReturnCode rfalTransceiveBitsBlockingTx(
uint8_t* txBuf,
uint16_t txBufLen,
uint8_t* rxBuf,
uint16_t rxBufLen,
uint16_t* actLen,
uint32_t flags,
uint32_t fwt);
/*****************************************************************************
* Listen Mode *
*****************************************************************************/