Hardware abstraction layer for the NFC Type 4 Tag library. More...
Typedefs |
|
| typedef void(* | hal_nfc_callback_t )(void *p_context, hal_nfc_event_t event, const uint8_t *p_data, size_t data_length) |
|
Callback from HAL_NFC layer into the upper layer.
More...
|
|
Enumerations |
|
| enum |
hal_nfc_event_t
{
HAL_NFC_EVENT_FIELD_ON , HAL_NFC_EVENT_FIELD_OFF , HAL_NFC_EVENT_DATA_RECEIVED , HAL_NFC_EVENT_DATA_TRANSMITTED , HAL_NFC_EVENT_FIELD_ON , HAL_NFC_EVENT_FIELD_OFF , HAL_NFC_EVENT_DATA_RECEIVED , HAL_NFC_EVENT_DATA_TRANSMITTED } |
|
Events passed to the upper-layer callback function.
More...
|
|
| enum |
hal_nfc_param_id_t
{
HAL_NFC_PARAM_ID_TESTING , HAL_NFC_PARAM_ID_UNKNOWN , HAL_NFC_PARAM_ID_TESTING , HAL_NFC_PARAM_FWI , HAL_NFC_PARAM_SELRES , HAL_NFC_PARAM_ID_UNKNOWN } |
|
Parameter IDs for the set/get function.
More...
|
|
Functions |
|
| ret_code_t | hal_nfc_setup ( hal_nfc_callback_t callback, void *p_context) |
|
Function for initializing the NFC layer.
More...
|
|
| ret_code_t | hal_nfc_parameter_set ( hal_nfc_param_id_t id, void *p_data, size_t data_length) |
|
Function for setting a HAL_NFC parameter.
More...
|
|
| ret_code_t | hal_nfc_parameter_get ( hal_nfc_param_id_t id, void *p_data, size_t *p_max_data_length) |
|
Function for querying a HAL_NFC parameter value.
More...
|
|
| ret_code_t | hal_nfc_start (void) |
|
Function for starting the NFC subsystem.
More...
|
|
| ret_code_t | hal_nfc_send (const uint8_t *p_data, size_t data_length) |
|
Function for sending a packet to the connected NFC reader.
More...
|
|
| ret_code_t | hal_nfc_stop (void) |
|
Function for stopping the NFC subsystem.
More...
|
|
| ret_code_t | hal_nfc_done (void) |
|
Function for releasing resources.
More...
|
|
Detailed Description
Hardware abstraction layer for the NFC Type 4 Tag library.
- Note
- Before the NFCT peripheral enters ACTIVATED state, the HFXO must be running. To fulfill this requirement and allow other software modules to also request the HFXO, the NFC Type 4 Tag HAL uses Clock driver module.
Typedef Documentation
| typedef void(* hal_nfc_callback_t)(void *p_context, hal_nfc_event_t event, const uint8_t *p_data, size_t data_length) |
Callback from HAL_NFC layer into the upper layer.
If event == HAL_NFC_EVENT_DATA_RECEIVED: p_data points to the received packet. The memory belongs to the HAL_NFC layer and is guaranteed to be valid only until the callback returns.
If event == HAL_NFC_EVENT_DATA_TRANSMITTED: p_data points to the transmitted packet. The memory belongs to the application.
If event == <Other event>: p_data definition is event-specific (to be defined).
- Parameters
-
[in] p_context Context for callback execution. [in] event The event that occurred. [in] p_data Received/transmitted data or NULL. [in] data_length Size of the received/transmitted packet.
Enumeration Type Documentation
| enum hal_nfc_event_t |
Events passed to the upper-layer callback function.
| enum hal_nfc_param_id_t |
Function Documentation
| ret_code_t hal_nfc_done | ( | void | ) |
Function for releasing resources.
After this call returns, the callback is considered invalid and no more events will be posted to it.
- Return values
-
NRF_SUCCESS This function always succeeds.
| ret_code_t hal_nfc_parameter_get | ( | hal_nfc_param_id_t | id , |
| void * | p_data , | ||
| size_t * | p_max_data_length | ||
| ) |
Function for querying a HAL_NFC parameter value.
The queried value will be placed into the passed data buffer. If the buffer is too small, p_max_data_length will contain the required buffer size.
- Parameters
-
[in] id ID of the parameter to query. [in,out] p_data Pointer to a buffer receiving the queried data. [in,out] p_max_data_length Size of the buffer. It receives the required size if buffer is too small.
- Return values
-
NRF_SUCCESS If the parameter was received successfully. If one of the arguments was invalid (for example, the buffer was too small), an error code is returned.
| ret_code_t hal_nfc_parameter_set | ( | hal_nfc_param_id_t | id , |
| void * | p_data , | ||
| size_t | data_length | ||
| ) |
Function for setting a HAL_NFC parameter.
This function allows to set any parameter defined as available by HAL_NFC.
- Parameters
-
[in] id ID of the parameter to set. [in] p_data Pointer to the buffer containing the data to set. [in] data_length Size of the buffer containing the data to set.
- Return values
-
NRF_SUCCESS If the parameter was set successfully. If one of the arguments was invalid (for example, wrong data length), an error code is returned.
| ret_code_t hal_nfc_send | ( | const uint8_t * | p_data , |
| size_t | data_length | ||
| ) |
Function for sending a packet to the connected NFC reader.
The provided data buffer belongs to the caller and is guaranteed to be valid until the HAL_NFC_EVENT_DATA_TRANSMITTED event is received by the callback.
- Parameters
-
[in] p_data The data packet to send. [in] data_length Size of the packet in bytes.
- Return values
-
NRF_SUCCESS If the packet was sent. Otherwise, an error code is returned.
| ret_code_t hal_nfc_setup | ( | hal_nfc_callback_t | callback , |
| void * | p_context | ||
| ) |
Function for initializing the NFC layer.
This function provides a pointer to a callback function and the callback context to the NFC layer.
- Parameters
-
[in] callback Pointer to the callback function. [in] p_context Context of callback.
- Return values
-
NRF_SUCCESS If the NFC layer was initialized successfully. If one of the arguments was invalid, an error code is returned.
| ret_code_t hal_nfc_start | ( | void | ) |
Function for starting the NFC subsystem.
After this function completes, NFC readers will be able to detect the chip.
- Return values
-
NRF_SUCCESS If the NFC subsystem was started successfully. If the NFC subsystem could not be started, an error code is returned.
| ret_code_t hal_nfc_stop | ( | void | ) |
Function for stopping the NFC subsystem.
After this function returns, NFC readers will no longer be able to connect to the chip.
- Return values
-
NRF_SUCCESS If the NFC subsystem was stopped. Otherwise, an error code is returned.