Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends
FedmIscTagHandler_ISO14443_4 Class Reference

Transponder class providing commands for all ISO 14443-4 compliant Transponders. More...

#include <FedmIscTagHandler_ISO14443_4.h>

Inheritance diagram for FedmIscTagHandler_ISO14443_4:
Inheritance graph
[legend]

List of all members.

Public Member Functions

int Apdu (unsigned char *pucRequestData, unsigned int iRequestLen, unsigned char *pucResponseData, unsigned int uiResponseBufferLen, unsigned int &uiResponseLen)
 [0xB2][0xBE] : T=CL APDU for synchronous call
int Apdu (unsigned char *pucRequestData, unsigned int iRequestLen, void *pAny, void(*cbFct)(void *, int, int, int))
 [0xB2][0xBE] : T=CL APDU for asynchronous call
int Deselect ()
 [0xB2][0xBE] : T=CL Deselect command
int EnableCID (bool bEnable)
 Enable CID usage.
int EnableNAD (bool bEnable)
 Enable CID usage.
unsigned char GetCID ()
 Get CID, actually in use.
unsigned char GetLastISOErrorCode ()
 Return of additional, Transponder specific error code.
unsigned char GetNAD ()
 Get NAD, actually in use.
int GetResponseData (unsigned char *pucResponseData, unsigned int uiResponseBufferLen, unsigned int &uiResponseLen)
 Returns the responded APDU.
int GetTransponderInfo (unsigned char &ucFSCI, unsigned char &ucFWI, unsigned char &ucDSI, unsigned char &ucDRI, unsigned char &ucNADSupport, unsigned char &ucCIDSupport)
 [0xB2][0x2B] : Get Transponder Info command
virtual void Init ()
 Initialization method.
bool IsCIDEnabled ()
 Query, if CID usage is enabled.
bool IsNADEnabled ()
 Query, if NAD usage is enabled.
int Ping ()
 [0xB2][0xBE] : T=CL Ping command
void SetCID (unsigned char ucCID)
 Set CID for next use, if enabled.
void SetNAD (unsigned char ucNAD)
 Set NAD for next use, if enabled.

Static Public Member Functions

static void ApduCallback (void *pAny, int iApduHnd, int iError, int iDataLength)

Protected Member Functions

 FedmIscTagHandler_ISO14443_4 (FEDM_ISCReader *pReader, FEDM_ISOTabItem *pTabItem)
 FedmIscTagHandler_ISO14443_4 (FEDM_ISCReader *pReader, unsigned int uiTagHandlerType, FEDM_ISOTabItem *pTabItem)
virtual ~FedmIscTagHandler_ISO14443_4 ()

Protected Attributes

bool m_bUseCID
bool m_bUseNAD
void(* m_cbFct )(void *, int, int, int)
int m_iFetclHnd
void * m_pAny
unsigned char m_ucCID
unsigned char m_ucISO14443ErrorCode
unsigned char m_ucNAD
unsigned char m_ucRequestData [FEDM_ISO14443_4_APDU_BUFFER_SIZE]
unsigned char m_ucResponseData [FEDM_ISO14443_4_APDU_BUFFER_SIZE]
unsigned int m_uiResponseLen

Friends

class FEDM_ISCReader
class FEDM_ISCReaderModule
class FEDM_ISOTabItem

Detailed Description

Transponder class providing commands for all ISO 14443-4 compliant Transponders.

Description
High-level class for easy-to-use Transponder specific communication. See OBID::FEDM::Core::ITagGroup for additional information.

Note:
Programmers should be familiar with the ISO 14443 and ISO/IEC 7816 standards

Definition at line 69 of file FedmIscTagHandler_ISO14443_4.h.


Constructor & Destructor Documentation

Definition at line 58 of file FedmIscTagHandler_ISO14443_4.cpp.

FedmIscTagHandler_ISO14443_4::FedmIscTagHandler_ISO14443_4 ( FEDM_ISCReader pReader,
unsigned int  uiTagHandlerType,
FEDM_ISOTabItem pTabItem 
) [protected]

Definition at line 90 of file FedmIscTagHandler_ISO14443_4.cpp.

Definition at line 123 of file FedmIscTagHandler_ISO14443_4.cpp.


Member Function Documentation

int FedmIscTagHandler_ISO14443_4::Apdu ( unsigned char *  pucRequestData,
unsigned int  iRequestLen,
unsigned char *  pucResponseData,
unsigned int  uiResponseBufferLen,
unsigned int &  uiResponseLen 
)

[0xB2][0xBE] : T=CL APDU for synchronous call

Parameters:
[in]pucRequestDataPointer to array with request APDU
[in]iRequestLenLength (number of bytes) of request APDU
[out]pucResponseDataPointer to array for responded APDU
[in]uiResponseBufferLenBuffer size for responded APDU
[out]uiResponseLenLength (number of bytes) of responded APDU
Returns:
  • 0 if OK
  • < 0 [error code](OBID::FEDM::Core::Error)
  • > 0 status byte of the responded protocol, if the Reader signals a problem. See Reader's System Manual for the full list with all status bytes.

Description
See Reader's System Manual for detailed information about the command and the method parameters
The structure of an APDU is defined by ISO/IEC 7816-4.

Note:
An APDU exchange can be a long term function call. The necessary timeout for the communication port is adapted internally and set to the previous value when the method returns. If an application cannot wait such a long time, use the overloaded APDU(unsigned char*,unsigned int,void*,void (*)(void*,int,int,int)) method for asynchronous execution.

Definition at line 311 of file FedmIscTagHandler_ISO14443_4.cpp.

int FedmIscTagHandler_ISO14443_4::Apdu ( unsigned char *  pucRequestData,
unsigned int  iRequestLen,
void *  pAny,
void(*)(void *, int, int, int)  cbFct 
)

[0xB2][0xBE] : T=CL APDU for asynchronous call

Parameters:
[in]pucRequestDataPointer to array with request APDU
[in]iRequestLenLength (number of bytes) of request APDU
[in]pAnyPointer to anything, which is reflected as the first parameter in the callback function
[in]cbFctfunction to be called, if APDU is received or an error must be notified
Returns:
  • 0 if OK
  • < 0 [error code](OBID::FEDM::Core::Error)
  • > 0 status byte of the responded protocol, if the Reader signals a problem. See Reader's System Manual for the full list with all status bytes.

Description
See Reader's System Manual for detailed information about the command and the method parameters.
The structure of an APDU is defined by ISO/IEC 7816-4.
The responded APDU must be requested with the method GetResponseData() inside the callback function, if the 3rd parameter iError is 0.

Definition at line 380 of file FedmIscTagHandler_ISO14443_4.cpp.

void FedmIscTagHandler_ISO14443_4::ApduCallback ( void *  pAny,
int  iApduHnd,
int  iError,
int  iDataLength 
) [static]

Definition at line 565 of file FedmIscTagHandler_ISO14443_4.cpp.

[0xB2][0xBE] : T=CL Deselect command

Returns:
  • 0 if OK
  • < 0 [error code](OBID::FEDM::Core::Error)
  • > 0 status byte of the responded protocol, if the Reader signals a problem. See Reader's System Manual for the full list with all status bytes.

Description
See Reader's System Manual for detailed information about the command

Definition at line 477 of file FedmIscTagHandler_ISO14443_4.cpp.

Enable CID usage.

Returns:

Description

Definition at line 154 of file FedmIscTagHandler_ISO14443_4.cpp.

Enable CID usage.

Returns:

Description

Definition at line 191 of file FedmIscTagHandler_ISO14443_4.cpp.

Get CID, actually in use.

Returns:
CID

Description

Definition at line 175 of file FedmIscTagHandler_ISO14443_4.cpp.

Return of additional, Transponder specific error code.

Returns:
Error code

Description

Reimplemented from FedmIscTagHandler.

Definition at line 144 of file FedmIscTagHandler_ISO14443_4.cpp.

Get NAD, actually in use.

Returns:
NAD

Description

Definition at line 212 of file FedmIscTagHandler_ISO14443_4.cpp.

int FedmIscTagHandler_ISO14443_4::GetResponseData ( unsigned char *  pucResponseData,
unsigned int  uiResponseBufferLen,
unsigned int &  uiResponseLen 
)

Returns the responded APDU.

Parameters:
[out]pucResponseDataPointer to array for responded APDU
[in]uiResponseBufferLenBuffer size for responded APDU
[out]uiResponseLenLength (number of bytes) of responded APDU
Returns:

Description
The structure of an APDU is defined by ISO/IEC 7816-4.

Definition at line 530 of file FedmIscTagHandler_ISO14443_4.cpp.

int FedmIscTagHandler_ISO14443_4::GetTransponderInfo ( unsigned char &  ucFSCI,
unsigned char &  ucFWI,
unsigned char &  ucDSI,
unsigned char &  ucDRI,
unsigned char &  ucNADSupport,
unsigned char &  ucCIDSupport 
)

[0xB2][0x2B] : Get Transponder Info command

Parameters:
[out]ucFSCI
[out]ucFWI
[out]ucDSI
[out]ucDRI
[out]ucNADSupport
[out]ucCIDSupport
Returns:
  • 0 if OK
  • < 0 [error code](OBID::FEDM::Core::Error)
  • > 0 status byte of the responded protocol, if the Reader signals a problem. See Reader's System Manual for the full list with all status bytes.

Description
See Reader's System Manual for detailed information about the command and the method parameters.

Definition at line 244 of file FedmIscTagHandler_ISO14443_4.cpp.

Initialization method.

Description
Clears all data members

Reimplemented from FedmIscTagHandler.

Reimplemented in FedmIscTagHandler_ISO14443_4_MIFARE_DESFire, and FedmIscTagHandler_ISO14443_4_MIFARE_Plus.

Definition at line 130 of file FedmIscTagHandler_ISO14443_4.cpp.

Query, if CID usage is enabled.

Returns:
true, if CID is enabled

Description

Definition at line 180 of file FedmIscTagHandler_ISO14443_4.cpp.

Query, if NAD usage is enabled.

Returns:
true, if NAD is enabled

Description

Definition at line 217 of file FedmIscTagHandler_ISO14443_4.cpp.

[0xB2][0xBE] : T=CL Ping command

Returns:
  • 0 if OK
  • < 0 [error code](OBID::FEDM::Core::Error)
  • > 0 status byte of the responded protocol, if the Reader signals a problem. See Reader's System Manual for the full list with all status bytes.

Description
See Reader's System Manual for detailed information about the command

Definition at line 438 of file FedmIscTagHandler_ISO14443_4.cpp.

void FedmIscTagHandler_ISO14443_4::SetCID ( unsigned char  ucCID)

Set CID for next use, if enabled.

Description

Definition at line 149 of file FedmIscTagHandler_ISO14443_4.cpp.

void FedmIscTagHandler_ISO14443_4::SetNAD ( unsigned char  ucNAD)

Set NAD for next use, if enabled.

Description

Definition at line 186 of file FedmIscTagHandler_ISO14443_4.cpp.


Friends And Related Function Documentation

friend class FEDM_ISCReader [friend]
friend class FEDM_ISCReaderModule [friend]
friend class FEDM_ISOTabItem [friend]

Member Data Documentation

Definition at line 268 of file FedmIscTagHandler_ISO14443_4.h.

Definition at line 269 of file FedmIscTagHandler_ISO14443_4.h.

void(* FedmIscTagHandler_ISO14443_4::m_cbFct)(void *, int, int, int) [protected]

Definition at line 274 of file FedmIscTagHandler_ISO14443_4.h.

Definition at line 271 of file FedmIscTagHandler_ISO14443_4.h.

Definition at line 275 of file FedmIscTagHandler_ISO14443_4.h.

unsigned char FedmIscTagHandler_ISO14443_4::m_ucCID [protected]

Definition at line 266 of file FedmIscTagHandler_ISO14443_4.h.

Definition at line 277 of file FedmIscTagHandler_ISO14443_4.h.

unsigned char FedmIscTagHandler_ISO14443_4::m_ucNAD [protected]

Definition at line 267 of file FedmIscTagHandler_ISO14443_4.h.

Definition at line 282 of file FedmIscTagHandler_ISO14443_4.h.


The documentation for this class was generated from the following files:


maggie_rfid_drivers
Author(s): Raul Perula-Martinez
autogenerated on Mon Sep 14 2015 03:05:32