C API for BALTECH SDK

§ brp_Iso14a_RequestATS()

brp_errcode brp_Iso14a_RequestATS ( brp_protocol  protocol,
brp_Iso14a_RequestATS_FSDI  FSDI,
unsigned  CID,
brp_buf ATS,
size_t *  ATS_len,
brp_mempool mempool 
)

This command requests the Answer to Select (ATS) of the PICC according to the ISO 14443-3 (Type A) standard.

RequestATS has to be called by the PCD (reader) directly after a successful call of the Iso14a.Select command if

  1. The selected PICC is ISO 14443-4 compliant (according to SAK byte) and
  2. communication as specified by ISO 14443-4 shall be performed via the Iso14L4.ExchangeAPDU command.

Since it is possible to keep several PICCs in active state at the same time according to ISO 14443-4, a unique CID has to be assigned to each of them. However, if you only want to communicate with a single label at a given time, the value 0 should be assigned to the CID variable. In this case, it is possible to call the Iso14L4.ExchangeAPDU command without bothering about CIDs.

Please refer to the Iso14a.PerformPPS and Iso14L4.ExchangeAPDU command descriptions for more information about frame sizes and timing issues.

After successful execution of this command, the communication parameters can be tuned with the Iso14a.PerformPPS command.

Parameters
[in]protocolused to execute the command
[in]FSDIFrame Size proximity coupling Device Integer (FSDI) value. This value is mapped to the Frame Size proximity coupling Device (FSD) value, which indicates the maximum frame size accepted by the PCD. The current Baltech reader supports FSD of at least up to 64 bytes (FSDI=0x05). It is not recommended to use a smaller FSDI. Future versions of the Baltech reader might support higher FSDI values.
[in]CIDChannel ID which shall be assigned to this PICC. Possible values: * 0x00: PICC will also respond to ISO 14443-4 commands with CID disabled. * 0x01-0x0E: valid CID value. * 0x0F-0xFF: rfu.
[out]ATSAnswer To Selection (ATS) of the PICC. This field has a variable length up to 32 Bytes according to the ISO 14443-4 standard.
[out]ATS_len
[in]mempoolis used to store response data. Maybe NULL to use an internal mempool, in this case the data is only available until another command uses the internal mempool