Classes | Macros | Typedefs | Enumerations | Functions
gr55xx_hal_iso7816.h File Reference

Header file containing functions prototypes of ISO7816 HAL library. More...

`#include "gr55xx_ll_iso7816.h"`
`#include "gr55xx_hal_def.h"`
Include dependency graph for gr55xx_hal_iso7816.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
struct | iso7816_init_t
| ISO7816 init structure definition. More...
struct | _iso7816_handle_t
| ISO7816 handle Structure definition. More...
struct | _hal_iso7816_callback
| HAL_ISO7816 Callback function definition. More...

## Macros
#define | HAL_ISO7816_ACTION_NONE LL_ISO7816_ACTION_NONE
| Do Nothing. More...
#define | HAL_ISO7816_ACTION_OFF LL_ISO7816_ACTION_OFF
| Switch Off. More...
#define | HAL_ISO7816_ACTION_STOPCLK LL_ISO7816_ACTION_STOPCLK
| Stop the clock. More...
#define | HAL_ISO7816_ACTION_ON LL_ISO7816_ACTION_ON
| Switch on and receive ATR. More...
#define | HAL_ISO7816_ACTION_WARMRST LL_ISO7816_ACTION_WARMRST
| Trigger warm reset and receive ATR. More...
#define | HAL_ISO7816_ACTION_RX LL_ISO7816_ACTION_RX
| Receive. More...
#define | HAL_ISO7816_ACTION_TX LL_ISO7816_ACTION_TX
| Transmit. More...
#define | HAL_ISO7816_ACTION_TXRX LL_ISO7816_ACTION_TXRX
| Transmit, followed by RX. More...
#define | HAL_ISO7816_INTR_TEST LL_ISO7816_INTR_TEST
| Test interrupt More...
#define | HAL_ISO7816_INTR_PRESENCE LL_ISO7816_INTR_PRESENCE
| Source presence interrupt More...
#define | HAL_ISO7816_INTR_STATE_ERR LL_ISO7816_INTR_STATE_ERR
| Source state error interrupt More...
#define | HAL_ISO7816_INTR_DMA_ERR LL_ISO7816_INTR_DMA_ERR
| Source dma error interrupt More...
#define | HAL_ISO7816_INTR_RETRY_ERR LL_ISO7816_INTR_RETRY_ERR
| Source retry error interrupt More...
#define | HAL_ISO7816_INTR_RX_ERR LL_ISO7816_INTR_RX_ERR
| Source rx error interrupt More...
#define | HAL_ISO7816_INTR_DONE LL_ISO7816_INTR_DONE
| Source done error interrupt More...
#define | HAL_ISO7816_CARD_ABSENT LL_ISO7816_CARD_ABSENT
| SIM Card is absent. More...
#define | HAL_ISO7816_CARD_PRESENT LL_ISO7816_CARD_PRESENT
| SIM Card is present. More...
#define | HAL_ISO7816_IO_STATE_OFF LL_ISO7816_IO_STATE_OFF
| Off More...
#define | HAL_ISO7816_IO_STATE_IDLE LL_ISO7816_IO_STATE_IDLE
| Idle More...
#define | HAL_ISO7816_IO_STATE_RX_WAIT LL_ISO7816_IO_STATE_RX_WAIT
| Receive Wait More...
#define | HAL_ISO7816_IO_STATE_RX LL_ISO7816_IO_STATE_RX
| Receive More...
#define | HAL_ISO7816_IO_STATE_TX LL_ISO7816_IO_STATE_TX
| Transmit More...
#define | HAL_ISO7816_IO_STATE_TX_GUARD LL_ISO7816_IO_STATE_TX_GUARD
| Transmit Guard More...
#define | HAL_ISO7816_PWR_STATE_OFF LL_ISO7816_PWR_STATE_OFF
| Off More...
#define | HAL_ISO7816_PWR_STATE_PWRUP_VCC LL_ISO7816_PWR_STATE_PWRUP_VCC
| Power up VCC More...
#define | HAL_ISO7816_PWR_STATE_PWRUP_RST LL_ISO7816_PWR_STATE_PWRUP_RST
| Power up reset More...
#define | HAL_ISO7816_PWR_STATE_PWRDN_RST LL_ISO7816_PWR_STATE_PWRDN_RST
| Power Down reset More...
#define | HAL_ISO7816_PWR_STATE_PWRDN_VCC LL_ISO7816_PWR_STATE_PWRDN_VCC
| Power Down VCC More...
#define | HAL_ISO7816_PWR_STATE_STOP_PRE LL_ISO7816_PWR_STATE_STOP_PRE
| Preparing Clock Stop More...
#define | HAL_ISO7816_PWR_STATE_STOP LL_ISO7816_PWR_STATE_STOP
| Clock Stopped More...
#define | HAL_ISO7816_PWR_STATE_STOP_POST LL_ISO7816_PWR_STATE_STOP_POST
| Exiting Clock Stop More...
#define | HAL_ISO7816_PWR_STATE_IDLE LL_ISO7816_PWR_STATE_IDLE
| Idle More...
#define | HAL_ISO7816_PWR_STATE_RX_TS0 LL_ISO7816_PWR_STATE_RX_TS0
| RX TS Character More...
#define | HAL_ISO7816_PWR_STATE_RX_TS1 LL_ISO7816_PWR_STATE_RX_TS1
| RX TS Character More...
#define | HAL_ISO7816_PWR_STATE_RX LL_ISO7816_PWR_STATE_RX
| Receive More...
#define | HAL_ISO7816_PWR_STATE_TX LL_ISO7816_PWR_STATE_TX
| Transmit More...
#define | HAL_ISO7816_PWR_STATE_TX_RX LL_ISO7816_PWR_STATE_TX_RX
| Transmit and Receive More...
#define | HAL_ISO7816_ERROR_NONE ((uint32_t)0x00000000)
| No error More...
#define | HAL_ISO7816_ERROR_TIMEOUT ((uint32_t)0x00000001)
| Timeout error More...
#define | HAL_ISO7816_ERROR_TRANSFER ((uint32_t)0x00000002)
| Transfer error More...
#define | HAL_ISO7816_ERROR_INVALID_PARAM ((uint32_t)0x00000008)
| Invalid parameters error. More...
#define | ISO7816_DEFAULT_CONFIG
| ISO7816_default_config InitStruct default configuration. More...
#define | __HAL_ISO7816_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BITS((__HANDLE__)->p_instance->INT_MASK, (__INTERRUPT__))
| Enable the specified ISO7816 interrupts. More...
#define | __HAL_ISO7816_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BITS((__HANDLE__)->p_instance->INT_MASK, (__INTERRUPT__))
| Disable the specified ISO7816 interrupts. More...
#define | __HAL_ISO7816_IT_GET_IT_FLAG(__ISO7816_REGS) ll_iso7816_get_it_flag(__ISO7816_REGS)
| Get the ISO7816 interrupt flags. More...

## Typedefs
typedef struct _iso7816_handle_t | iso7816_handle_t
| ISO7816 handle Structure definition. More...
typedef struct _hal_iso7816_callback | hal_iso7816_callback_t
| HAL_ISO7816 Callback function definition. More...

## Enumerations
enum | hal_iso7816_state_t { HAL_ISO7816_STATE_RESET = 0x00U, HAL_ISO7816_STATE_READY = 0x20U, HAL_ISO7816_STATE_BUSY = 0x24U, HAL_ISO7816_STATE_BUSY_TX = 0x21U, HAL_ISO7816_STATE_BUSY_RX = 0x22U, HAL_ISO7816_STATE_BUSY_TX_RX = 0x23U, HAL_ISO7816_STATE_ABORT = 0x08U, HAL_ISO7816_STATE_TIMEOUT = 0xA0U, HAL_ISO7816_STATE_ERROR = 0xE0U }
| HAL ISO7816 State Enumerations definition. More...

## Functions
hal_status_t | hal_iso7816_transmit (iso7816_handle_t *p_iso7816, uint16_t tx_size, uint32_t timeout)
| Transimit data in blocking mode. More...
hal_status_t | hal_iso7816_receive (iso7816_handle_t *p_iso7816, uint16_t rx_size, uint32_t timeout)
| Receive data in blocking mode. More...
hal_status_t | hal_iso7816_transmit_receive (iso7816_handle_t *p_iso7816, uint16_t tx_size, uint16_t rx_size, uint32_t timeout)
| Transimit and receive data in blocking mode. More...
hal_status_t | hal_iso7816_transmit_it (iso7816_handle_t *p_iso7816, uint16_t tx_size)
| Transimit data in non-blocking mode with Interrupt. More...
hal_status_t | hal_iso7816_receive_it (iso7816_handle_t *p_iso7816, uint16_t rx_size)
| Receive data in non-blocking mode with Interrupt. More...
hal_status_t | hal_iso7816_transmit_receive_it (iso7816_handle_t *p_iso7816, uint16_t tx_size, uint16_t rx_size)
| Transimit and receive data in non-blocking mode with Interrupt. More...
hal_status_t | hal_iso7816_abort (iso7816_handle_t *p_iso7816)
| Transfer Abort functions. More...
hal_status_t | hal_iso7816_init (iso7816_handle_t *p_iso7816)
| Initializes the ISO7816 according to the specified parameters in the iso7816_init_t and initialize the associated handle. More...
hal_status_t | hal_iso7816_deinit (iso7816_handle_t *p_iso7816)
| De-initializes the ISO7816 according to the specified parameters in the iso7816_init_t and initialize the associated handle. More...
void | hal_iso7816_msp_init (iso7816_handle_t *p_iso7816)
| Initialize the ISO7816 MSP. More...
void | hal_iso7816_msp_deinit (iso7816_handle_t *p_iso7816)
| De-initialize the ISO7816 MSP. More...
void | hal_iso7816_irq_handler (iso7816_handle_t *p_iso7816)
| Handle ISO7816 interrupt request. More...
void | hal_iso7816_presence_callback (iso7816_handle_t *p_iso7816)
| Card presence state changed callback. More...
void | hal_iso7816_atr_cplt_callback (iso7816_handle_t *p_iso7816)
| Receive ART completed callback. More...
void | hal_iso7816_rx_cplt_callback (iso7816_handle_t *p_iso7816)
| Rx Transfer completed callback. More...
void | hal_iso7816_tx_cplt_callback (iso7816_handle_t *p_iso7816)
| Tx Transfer completed callback. More...
void | hal_iso7816_tx_rx_cplt_callback (iso7816_handle_t *p_iso7816)
| Tx and Rx Transfer completed callback. More...
void | hal_iso7816_error_callback (iso7816_handle_t *p_iso7816)
| ISO7816 error callback. More...
void | hal_iso7816_abort_cplt_callback (iso7816_handle_t *p_iso7816)
| ISO7816 Abort Completed callback. More...
hal_iso7816_state_t | hal_iso7816_get_state (iso7816_handle_t *p_iso7816)
| Return the ISO7816 handle state. More...
hal_status_t | hal_iso7816_set_action (iso7816_handle_t *p_iso7816, uint32_t action)
| Request ISO7816 to go to the next action. More...
uint32_t | hal_iso7816_get_power_states (iso7816_handle_t *p_iso7816)
| Get ISO7816 Power States. More...
hal_status_t | hal_iso7816_set_etudiv (iso7816_handle_t *p_iso7816, uint32_t divide)
| Set divide ISO7816 clock. More...
uint32_t | hal_iso7816_get_error (iso7816_handle_t *p_iso7816)
| Return the ISO7816 error code. More...
hal_status_t | hal_iso7816_suspend_reg (iso7816_handle_t *p_iso7816)
| Suspend some registers related to ISO7816 configuration before sleep. More...
hal_status_t | hal_iso7816_resume_reg (iso7816_handle_t *p_iso7816)
| Restore some registers related to ISO7816 configuration after sleep. More...

## Detailed Description

Header file containing functions prototypes of ISO7816 HAL library.

Author
  BLE Driver Team

Attention

  ##### Copyright (c) 2019 GOODIX

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of GOODIX nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file gr55xx_hal_iso7816.h.