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

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

`#include "grx_hal.h"`
`#include "app_io.h"`
`#include "app_drv_error.h"`
`#include "app_drv_config.h"`
`#include "stdbool.h"`
Include dependency graph for app_iso7816.h:

Go to the source code of this file.

## Classes
struct | app_iso7816_pin_t
| ISO7816 IO configuration Structures. More...
struct | app_iso7816_pin_cfg_t
| ISO7816 pin configure structure definition. More...
struct | app_iso7816_evt_t
| ISO7816 event structure definition. More...
struct | iso7816_env_t
| ISO7816 device structure definition. More...
struct | app_iso7816_params_t
| ISO7816 parameters structure definition. More...

## Macros
#define | APP_ISO7816_ACTION_NONE HAL_ISO7816_ACTION_NONE
| Do Nothing. More...
#define | APP_ISO7816_ACTION_OFF HAL_ISO7816_ACTION_OFF
| Switch Off. More...
#define | APP_ISO7816_ACTION_STOPCLK HAL_ISO7816_ACTION_STOPCLK
| Stop the clock. More...
#define | APP_ISO7816_ACTION_ON HAL_ISO7816_ACTION_ON
| Switch on and receive ATR. More...
#define | APP_ISO7816_ACTION_WARMRST HAL_ISO7816_ACTION_WARMRST
| Trigger warm reset and receive ATR. More...
#define | APP_ISO7816_ACTION_RX HAL_ISO7816_ACTION_RX
| Receive. More...
#define | APP_ISO7816_ACTION_TX HAL_ISO7816_ACTION_TX
| Transmit. More...
#define | APP_ISO7816_ACTION_TXRX HAL_ISO7816_ACTION_TXRX
| Transmit, followed by RX. More...
#define | APP_ISO7816_INTR_PRESENCE HAL_ISO7816_INTR_PRESENCE
| Source presence interrupt More...
#define | APP_ISO7816_INTR_STATE_ERR HAL_ISO7816_INTR_STATE_ERR
| Source state error interrupt More...
#define | APP_ISO7816_INTR_DMA_ERR HAL_ISO7816_INTR_DMA_ERR
| Source dma error interrupt More...
#define | APP_ISO7816_INTR_RETRY_ERR HAL_ISO7816_INTR_RETRY_ERR
| Source retry error interrupt More...
#define | APP_ISO7816_INTR_RX_ERR HAL_ISO7816_INTR_RX_ERR
| Source rx error interrupt More...
#define | APP_ISO7816_INTR_DONE HAL_ISO7816_INTR_DONE
| Source done error interrupt More...
#define | APP_ISO7816_CARD_ABSENT HAL_ISO7816_CARD_ABSENT
| SIM Card is absent. More...
#define | APP_ISO7816_CARD_PRESENT HAL_ISO7816_CARD_PRESENT
| SIM Card is present. More...
#define | APP_ISO7816_IO_STATE_OFF HAL_ISO7816_IO_STATE_OFF
| Off More...
#define | APP_ISO7816_IO_STATE_IDLE HAL_ISO7816_IO_STATE_IDLE
| Idle More...
#define | APP_ISO7816_IO_STATE_RX_WAIT HAL_ISO7816_IO_STATE_RX_WAIT
| Receive Wait More...
#define | APP_ISO7816_IO_STATE_RX HAL_ISO7816_IO_STATE_RX
| Receive More...
#define | APP_ISO7816_IO_STATE_TX HAL_ISO7816_IO_STATE_TX
| Transmit More...
#define | APP_ISO7816_IO_STATE_TX_GUARD HAL_ISO7816_IO_STATE_TX_GUARD
| Transmit Guard More...
#define | APP_ISO7816_PWR_STATE_OFF HAL_ISO7816_PWR_STATE_OFF
| Off More...
#define | APP_ISO7816_PWR_STATE_PWRUP_VCC HAL_ISO7816_PWR_STATE_PWRUP_VCC
| Power up VCC More...
#define | APP_ISO7816_PWR_STATE_PWRUP_RST HAL_ISO7816_PWR_STATE_PWRUP_RST
| Power up reset More...
#define | APP_ISO7816_PWR_STATE_PWRDN_RST HAL_ISO7816_PWR_STATE_PWRDN_RST
| Power Down reset More...
#define | APP_ISO7816_PWR_STATE_PWRDN_VCC HAL_ISO7816_PWR_STATE_PWRDN_VCC
| Power Down VCC More...
#define | APP_ISO7816_PWR_STATE_STOP_PRE HAL_ISO7816_PWR_STATE_STOP_PRE
| Preparing Clock Stop More...
#define | APP_ISO7816_PWR_STATE_STOP HAL_ISO7816_PWR_STATE_STOP
| Clock Stopped More...
#define | APP_ISO7816_PWR_STATE_STOP_POST HAL_ISO7816_PWR_STATE_STOP_POST
| Exiting Clock Stop More...
#define | APP_ISO7816_PWR_STATE_IDLE HAL_ISO7816_PWR_STATE_IDLE
| Idle More...
#define | APP_ISO7816_PWR_STATE_RX_TS0 HAL_ISO7816_PWR_STATE_RX_TS0
| RX TS Character More...
#define | APP_ISO7816_PWR_STATE_RX_TS1 HAL_ISO7816_PWR_STATE_RX_TS1
| RX TS Character More...
#define | APP_ISO7816_PWR_STATE_RX HAL_ISO7816_PWR_STATE_RX
| Receive More...
#define | APP_ISO7816_PWR_STATE_TX HAL_ISO7816_PWR_STATE_TX
| Transmit More...
#define | APP_ISO7816_PWR_STATE_TX_RX HAL_ISO7816_PWR_STATE_TX_RX
| Transmit and Receive More...

## Typedefs
typedef void(* | app_iso7816_evt_handler_t) (app_iso7816_evt_t *p_evt)
| ISO7816 event callback definition. More...

## Enumerations
enum | app_iso7816_mode_t { APP_ISO7816_TYPE_INTERRUPT, APP_ISO7816_TYPE_POLLING, APP_ISO7816_TYPE_MAX }
| ISO7816 operating mode Enumerations definition. More...
enum | app_iso7816_evt_type_t { APP_ISO7816_EVT_ERROR, APP_ISO7816_EVT_ABORT, APP_ISO7816_EVT_PRESENCE, APP_ISO7816_EVT_ATR_CPLT, APP_ISO7816_EVT_TX_CPLT, APP_ISO7816_EVT_RX_CPLT, APP_ISO7816_EVT_TX_RX_CPLT }
| ISO7816 event Enumerations definition. More...
enum | app_iso7816_state_t { APP_ISO7816_INVALID = 0, APP_ISO7816_ACTIVITY }
| App iso7816 state types. More...

## Functions
uint16_t | app_iso7816_init (app_iso7816_params_t *p_params, app_iso7816_evt_handler_t evt_handler)
| Initialize the APP ISO7816 DRIVER according to the specified parameters in the app_iso7816_params_t and app_iso7816_evt_handler_t. More...
uint16_t | app_iso7816_deinit (void)
| De-initialize the APP ISO7816 DRIVER peripheral. More...
uint16_t | app_iso7816_receive_sync (uint16_t size, uint32_t timeout)
| Receive an amount of data in blocking mode. More...
uint16_t | app_iso7816_receive_async (uint16_t size)
| Receive an amount of data in non-blocking mode with Interrupt/DMA. More...
uint16_t | app_iso7816_transmit_sync (uint16_t size, uint32_t timeout)
| Transmits an amount of data in blocking mode. More...
uint16_t | app_iso7816_transmit_async (uint16_t size)
| Transmits an amount of data in non-blocking mode with Interrupt/DMA. More...
uint16_t | app_iso7816_transmit_receive_sync (uint16_t tx_size, uint16_t rx_size, uint32_t timeout)
| Transmit and receive in master mode an amount of data in blocking mode. More...
uint16_t | app_iso7816_transmit_receive_async (uint16_t tx_size, uint16_t rx_size)
| Transmit and receive in master mode an amount of data in non-blocking mode. More...
uint16_t | app_iso7816_set_action (uint32_t action)
| Request ISO7816 to go to the next action. More...
uint32_t | app_iso7816_get_power_states (void)
| Get ISO7816 Power States. More...
uint16_t | app_iso7816_set_etudiv (uint32_t divide)
| Set divide ISO7816 clock. More...
iso7816_handle_t * | app_iso7816_get_handle (void)
| Return the ISO7816 handle. More...

## Detailed Description

Header file containing functions prototypes of ISO7816 app 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 app_iso7816.h.