C API for BALTECH SDK
iso14l4.h File Reference

This command group implements the low-level ISO 14443-4 commands according to the ISO 14443-4 standard. More...

#include "../typedefs.h"

Go to the source code of this file.

Macros

#define BRP_Iso14L4_ErrNoTag   BRP_ERR_STATUS(0x1600, 0x01)
 No card in field of antenna or card in field of antenna does not match given VHL-file. More...
 
#define BRP_Iso14L4_ErrHf   BRP_ERR_STATUS(0x1600, 0x04)
 General HF error. More...
 
#define BRP_Iso14L4_ErrCard   BRP_ERR_STATUS(0x1600, 0x05)
 PICC corrupt or behaves unspecified. More...
 
#define BRP_Iso14L4_ErrCom   BRP_ERR_STATUS(0x1600, 0x10)
 Error in communication to reader chip. More...
 
#define BRP_Iso14L4_ErrCmd   BRP_ERR_STATUS(0x1600, 0x23)
 Command and/or parameters invalid. More...
 

Functions

brp_errcode brp_Iso14L4_SetupAPDU (brp_protocol protocol, bool EnDefault, unsigned ToggleAB, bool EnNAD, bool EnCID, unsigned CID, unsigned NAD, brp_Iso14L4_SetupAPDU_FSCI FSCI, brp_Iso14L4_SetupAPDU_FWI FWI, brp_DivisorInteger DSI, brp_DivisorInteger DRI)
 Setup communication parameters and select a certain PICC for APDU exchange. More...
 
brp_errcode brp_Iso14L4_ExchangeAPDU (brp_protocol protocol, brp_buf SendData, size_t SendData_len, brp_buf *RecvData, size_t *RecvData_len, brp_mempool *mempool)
 This command allows to transmit/receive Application Protocol Data Units (APDUs) according to the ISO 14443-4 standard. More...
 
brp_errcode brp_Iso14L4_Deselect (brp_protocol protocol)
 This command switches one or multiple PICC(s) to halt state. More...
 

Detailed Description

This command group implements the low-level ISO 14443-4 commands according to the ISO 14443-4 standard.

While the ISO 14443-3 Type A and Type B standards define request and selection mechanisms for PICCs, the ISO 14443-4 standard defines a protocol capable of transferring so-called application layer data units (APDUs) with previously selected labels.

Please refer to the iso14a.h or to the iso14b.h for more information on how to put ISO 14443-3 (Type A) or ISO 14443-3 (Type B) PICCs into the active state.

APDUs can be transmitted and received to/from a PICC using the brp_Iso14L4_ExchangeAPDU() command, provided the PICC is in active state. Before calling the brp_Iso14L4_ExchangeAPDU() command, the target PICC has to be selected using the brp_Iso14L4_SetupAPDU() command. The brp_Iso14L4_SetupAPDU() command furthermore enables to change the communication parameters of the reader to match the capabilities of the target PICC. These communication parameters apply to all following calls of the brp_Iso14L4_ExchangeAPDU() and brp_Iso14L4_Deselect() commands, until the brp_Iso14L4_SetupAPDU() command is called with different parameters. The brp_Iso14L4_Deselect() command is used to switch a PICC to halt state after exchange with this PICC has been completed.

PICCs can also be put to the halt state using the brp_Iso14a_Halt() command or the brp_Iso14b_Halt() command. However these commands only work for PICCs which are not in ISO 14443-4 mode (when considering Type A PICCs) or for PICCs in ready state, not in active state (when considering Type B PICCs). In other situations, the brp_Iso14L4_Deselect() command should be used.

Definition in file iso14l4.h.