NXP NFC Reader Library v4.040.05.011646

Data Fields
phacDiscLoop_Sw_DataParams Struct Reference
Activity Layer » Discovery Loop » Component : Software

Discovery loop parameter structure. More...

## Data Fields
uint16_t | wId
| ID for this component, not to be modified. More...
uint8_t | bPasPollTechCfg
| Technologies to poll for in passive mode. More...
uint8_t | bActPollTechCfg
| Technologies to poll for in active mode. More...
uint8_t | bPasPollBailOut
| Bail out for various technologies in Passive mode. More...
uint8_t | bPasLisTechCfg
| Technologies to listen for in passive listen mode. More...
uint8_t | bActLisTechCfg
| Technologies to listen for in active listen mode. More...
phacDiscLoop_Sw_PollState_t | bPollState
| Discovery loop stage to start with while in poll mode. More...
uint8_t | baPasConDevLim [PHAC_DISCLOOP_PASS_POLL_MAX_TECHS_SUPPORTED]
| Contains device limits for different technologies in passive poll mode. More...
uint16_t | waPasPollGTimeUs [PHAC_DISCLOOP_PASS_POLL_MAX_TECHS_SUPPORTED]
| Contains guard times for different technologies in passive poll mode. More...
uint16_t | wActPollGTimeUs
| Contains guard times for different technologies in Active poll mode. More...
uint8_t | bCollPend
| Flag to indicate whether collision is pending or not. More...
uint8_t | bLpcdEnabled
| Enable/Disable Low Power Card Detection. More...
uint8_t | bUseAntiColl
| Enable/Disable anti-collision for Type A for passive poll mode. More...
uint8_t | bOpeMode
| Operation mode of discovery loop. More...
uint8_t | bNumOfCards
| Number of cards detected in passive poll mode. More...
uint8_t | bFelicaBaud
| Current FELICA baud rate.
uint8_t | bNfcActivityVersion
| Supported NFC Activity version. More...
uint8_t | bDetectedTechs
| Detected technologies during poll mode. More...
phStatus_t | wErrorCode
| Hold error received from lower layer when phacDiscLoop_Run returns PHAC_DISCLOOP_FAILURE. More...
void * | pHalDataParams
| Pointer to the HAL data parameter. More...
void * | pPal1443p3aDataParams
| Pointer to the 14443P3A layer PAL data parameter. More...
void * | pPalFelicaDataParams
| Pointer to the Felica PAL data parameter. More...
void * | pPal1443p3bDataParams
| Pointer to the 14443P3B PAL data parameter. More...
void * | pPal14443p4DataParams
| Pointer to the 14443P4 PAL data parameter. More...
void * | pPal1443p4aDataParams
| Pointer to the 14443P4A PAL data parameter. More...
void * | pPalSli15693DataParams
| Pointer to the 15693 PAL data parameter. More...
void * | pPal18000p3m3DataParams
| Pointer to the 18000P3M3 PAL data parameter. More...
void * | pAl18000p3m3DataParams
| Pointer to the 18000P3M3 AL data parameter. More...
void * | pPal18092mPIDataParams
| Pointer to 18092MPI PAL data parameter. More...
void * | pAlT1TDataParams
| Pointer to T1T AL data parameter. More...
phacDiscLoop_Sw_TypeA_Info_t | sTypeATargetInfo
| Information gathered from TYPE A devices/tags in poll mode. More...
phacDiscLoop_Sw_TypeF_Info_t | sTypeFTargetInfo
| Information gathered from TYPE F devices/tags in poll mode. More...
phacDiscLoop_Sw_TypeB_Info_t | sTypeBTargetInfo
| Information gathered from TYPE B devices/tags in poll mode. More...
phacDiscLoop_Sw_TypeV_Info_t | sTypeVTargetInfo
| Information gathered from TYPE V (15693) devices/tags in poll mode. More...
phacDiscLoop_I18000p3m3_Info_t | sI18000p3m3TargetInfo
| Information gathered from 18000P3M3 devices/tags in poll mode. More...
phacDiscLoop_Sw_TargetParams_t | sTargetParams
| Information gathered from listen mode. More...

## Detailed Description

Discovery loop parameter structure.

## Field Documentation

## § wId

uint16_t phacDiscLoop_Sw_DataParams::wId

ID for this component, not to be modified.

This is initialized with PHAC_DISCLOOP_SW_ID in the initialization function phacDiscLoop_Sw_Init. This is used for validating the data parameter structure and to make sure that discovery loop APIs are called after initialization.

## § bPasPollTechCfg

uint8_t phacDiscLoop_Sw_DataParams::bPasPollTechCfg

Technologies to poll for in passive mode.

PHAC_DISCLOOP_POS_BIT_MASK_A -> Detect Type A.
PHAC_DISCLOOP_POS_BIT_MASK_B -> Detect Type B.
PHAC_DISCLOOP_POS_BIT_MASK_F212 -> Detect Type FELICA @ 212 kbps.
PHAC_DISCLOOP_POS_BIT_MASK_F424 -> Detect Type FELICA @ 424 kbps.
PHAC_DISCLOOP_POS_BIT_MASK_V -> Detect Type V / ISO 15693.
PHAC_DISCLOOP_POS_BIT_MASK_18000P3M3 -> Detect ISO 18000p3m3/ EPC Gen2.
Use phacDiscLoop_SetConfig with PHAC_DISCLOOP_CONFIG_PAS_POLL_TECH_CFG option to configure above values.

## § bActPollTechCfg

uint8_t phacDiscLoop_Sw_DataParams::bActPollTechCfg

Technologies to poll for in active mode.

PHAC_DISCLOOP_ACT_POS_BIT_MASK_106 -> Detect active target @ 106 kbps
PHAC_DISCLOOP_ACT_POS_BIT_MASK_212 -> Detect active target @ 212 kbps
PHAC_DISCLOOP_ACT_POS_BIT_MASK_424 -> Detect active target @ 424 kbps
Use phacDiscLoop_SetConfig with PHAC_DISCLOOP_CONFIG_ACT_POLL_TECH_CFG option to configure above values.

## § bPasPollBailOut

uint8_t phacDiscLoop_Sw_DataParams::bPasPollBailOut

Bail out for various technologies in Passive mode.

PHAC_DISCLOOP_POS_BIT_MASK_A -> Bail out for Type A.
PHAC_DISCLOOP_POS_BIT_MASK_B -> Bail out for Type B.
PHAC_DISCLOOP_POS_BIT_MASK_F212 -> Bail out for Type FELICA @ 212 kbps.
PHAC_DISCLOOP_POS_BIT_MASK_F424 -> Bail out for Type FELICA @ 424 kbps.
PHAC_DISCLOOP_POS_BIT_MASK_V -> Bail out for Type V / ISO 15693.
PHAC_DISCLOOP_POS_BIT_MASK_18000P3M3 -> Bail out for ISO 18000p3m3/ EPC Gen2.
Use phacDiscLoop_SetConfig with PHAC_DISCLOOP_CONFIG_BAIL_OUT option to configure above values.

## § bPasLisTechCfg

uint8_t phacDiscLoop_Sw_DataParams::bPasLisTechCfg

Technologies to listen for in passive listen mode.

PHAC_DISCLOOP_POS_BIT_MASK_A -> Listen for Type A.
PHAC_DISCLOOP_POS_BIT_MASK_B -> Listen for Type B. [Reserved. Not supported currently]
PHAC_DISCLOOP_POS_BIT_MASK_F212 -> Listen for Type FELICA @ 212 kbps.
PHAC_DISCLOOP_POS_BIT_MASK_F424 -> Listen for Type FELICA @ 424 kbps.
PHAC_DISCLOOP_POS_BIT_MASK_V -> Listen for Type V / ISO 15693.[Reserved. Not supported currently]
PHAC_DISCLOOP_POS_BIT_MASK_18000P3M3 -> Listen for ISO 18000p3m3/ EPC Gen2.[Reserved. Not supported currently]
Use phacDiscLoop_SetConfig with PHAC_DISCLOOP_CONFIG_PAS_LIS_TECH_CFG option to configure above values.

## § bActLisTechCfg

uint8_t phacDiscLoop_Sw_DataParams::bActLisTechCfg

Technologies to listen for in active listen mode.

PHAC_DISCLOOP_POS_BIT_MASK_A -> Listen for Type A.
PHAC_DISCLOOP_POS_BIT_MASK_B -> Listen for Type B.[Reserved. Not supported currently]
PHAC_DISCLOOP_POS_BIT_MASK_F212 -> Listen for Type FELICA @ 212 kbps.
PHAC_DISCLOOP_POS_BIT_MASK_F424 -> Listen for Type FELICA @ 424 kbps.
PHAC_DISCLOOP_POS_BIT_MASK_V -> Listen for Type V / ISO 15693.[Reserved. Not supported currently]
PHAC_DISCLOOP_POS_BIT_MASK_18000P3M3 -> Listen for ISO 18000p3m3/ EPC Gen2.[Reserved. Not supported currently]
Use phacDiscLoop_SetConfig with PHAC_DISCLOOP_CONFIG_ACT_LIS_TECH_CFG option to configure above values.

## § bPollState

phacDiscLoop_Sw_PollState_t phacDiscLoop_Sw_DataParams::bPollState

Discovery loop stage to start with while in poll mode.

PHAC_DISCLOOP_POLL_STATE_DETECTION -> Start with detection phase as per NFC Forum Activity Specification.
PHAC_DISCLOOP_POLL_STATE_COLLISION_RESOLUTION -> Start with collision resolution as per NFC Forum Activity Specification.
PHAC_DISCLOOP_POLL_STATE_REMOVAL -> Start with card removal phase (in EMVCo mode).
When phacDiscLoop_Run gives PHAC_DISCLOOP_MULTI_TECH_DETECTED in poll mode, application shall select one technology and start poll mode again in collision resolution state.

Use phacDiscLoop_SetConfig with PHAC_DISCLOOP_CONFIG_NEXT_POLL_STATE option to configure above states.

## § baPasConDevLim

uint8_t phacDiscLoop_Sw_DataParams::baPasConDevLim[PHAC_DISCLOOP_PASS_POLL_MAX_TECHS_SUPPORTED]

Contains device limits for different technologies in passive poll mode.

PHAC_DISCLOOP_CONFIG_TYPEA_DEVICE_LIMIT -> Device limit for Type A.
PHAC_DISCLOOP_CONFIG_TYPEB_DEVICE_LIMIT -> Device limit for Type B.
PHAC_DISCLOOP_CONFIG_TYPEF_DEVICE_LIMIT -> Device limit for Type F.
PHAC_DISCLOOP_CONFIG_TYPEV_DEVICE_LIMIT -> Device limit for Type V.
PHAC_DISCLOOP_CONFIG_18000P3M3_DEVICE_LIMIT -> Device limit for ISO 18000p3m3/ EPC Gen2.
Use phacDiscLoop_SetConfig with above options to configure device limit. Maximum device limit is PHAC_DISCLOOP_CFG_MAX_CARDS_SUPPORTED.

## § waPasPollGTimeUs

uint16_t phacDiscLoop_Sw_DataParams::waPasPollGTimeUs[PHAC_DISCLOOP_PASS_POLL_MAX_TECHS_SUPPORTED]

Contains guard times for different technologies in passive poll mode.

PHAC_DISCLOOP_CONFIG_GTA_VALUE_US -> Guard time for Type A.
PHAC_DISCLOOP_CONFIG_GTB_VALUE_US -> Guard time for Type B.
PHAC_DISCLOOP_CONFIG_GTFB_VALUE_US -> Guard time for Type F. Guard time is applied when polling for Type B is preceded by polling for Type F.
PHAC_DISCLOOP_CONFIG_GTBF_VALUE_US -> Guard time for Type F. Guard time is applied when polling for Type F is preceded by polling for Type B.
PHAC_DISCLOOP_CONFIG_GTV_VALUE_US -> Guard time for Type V.
PHAC_DISCLOOP_CONFIG_GT18000P3M3_VALUE_US -> Guard time for ISO 18000p3m3/ EPC Gen2.
Use phacDiscLoop_SetConfig with above options to configure guard time.

## § wActPollGTimeUs

uint16_t phacDiscLoop_Sw_DataParams::wActPollGTimeUs

Contains guard times for different technologies in Active poll mode.

PHAC_DISCLOOP_CONFIG_GT_ACTIVE_US -> Guard time for Active mode polling Default value is 5100 micro seconds.

Use phacDiscLoop_SetConfig with above options to configure guard time.

## § bCollPend

uint8_t phacDiscLoop_Sw_DataParams::bCollPend

Flag to indicate whether collision is pending or not.

PHAC_DISCLOOP_POS_BIT_MASK_A -> Type A.
PHAC_DISCLOOP_POS_BIT_MASK_B -> Type B.
PHAC_DISCLOOP_POS_BIT_MASK_F212 -> FELICA @ 212 kbps.
PHAC_DISCLOOP_POS_BIT_MASK_F424 -> FELICA @ 424 kbps.
PHAC_DISCLOOP_POS_BIT_MASK_V -> Type V / ISO 15693.
PHAC_DISCLOOP_POS_BIT_MASK_18000P3M3 -> ISO 18000p3m3/ EPC Gen2.
Use phacDiscLoop_GetConfig with PHAC_DISCLOOP_CONFIG_COLLISION_PENDING option to get collision pending status.

## § bLpcdEnabled

uint8_t phacDiscLoop_Sw_DataParams::bLpcdEnabled

Enable/Disable Low Power Card Detection.

Use phacDiscLoop_SetConfig with PHAC_DISCLOOP_CONFIG_ENABLE_LPCD option to PH_ON / PH_OFF LPCD.

## § bUseAntiColl

uint8_t phacDiscLoop_Sw_DataParams::bUseAntiColl

Enable/Disable anti-collision for Type A for passive poll mode.

Use phacDiscLoop_SetConfig with PHAC_DISCLOOP_CONFIG_ANTI_COLL option to PH_ON / PH_OFF anti-collision.

## § bOpeMode

uint8_t phacDiscLoop_Sw_DataParams::bOpeMode

Operation mode of discovery loop.

RD_LIB_MODE_EMVCO -> Run in EMVCO mode as per the EMVCo 2.5 Digital specification.
RD_LIB_MODE_NFC -> Run in NFC mode as per NFC Forum Activity Specification 1.1. This is the default mode.
Use phacDiscLoop_SetConfig with PHAC_DISCLOOP_CONFIG_OPE_MODE option to configure above modes.

## § bNumOfCards

uint8_t phacDiscLoop_Sw_DataParams::bNumOfCards

Number of cards detected in passive poll mode.

Use phacDiscLoop_GetConfig with PHAC_DISCLOOP_CONFIG_NR_TAGS_FOUND option to get number of tags.

## § bNfcActivityVersion

uint8_t phacDiscLoop_Sw_DataParams::bNfcActivityVersion

Supported NFC Activity version.

PHAC_DISCLOOP_NFC_ACTIVITY_VERSION_1_0 -> Run in NFC Forum Activity 1.0 mode.
PHAC_DISCLOOP_NFC_ACTIVITY_VERSION_1_1 -> Run in NFC Forum Activity 1.1 mode. This is the default.
Use phacDiscLoop_SetConfig with PHAC_DISCLOOP_CONFIG_ACTIVITY_VERSION option to configure above modes.

## § bDetectedTechs

uint8_t phacDiscLoop_Sw_DataParams::bDetectedTechs

Detected technologies during poll mode.

Passive technologies:
PHAC_DISCLOOP_POS_BIT_MASK_A -> Detected Type A.
PHAC_DISCLOOP_POS_BIT_MASK_B -> Detected Type B.
PHAC_DISCLOOP_POS_BIT_MASK_F212 -> Detected FELICA @ 212 kbps.
PHAC_DISCLOOP_POS_BIT_MASK_F424 -> Detected FELICA @ 424 kbps.
PHAC_DISCLOOP_POS_BIT_MASK_V -> Detected Type V / ISO 15693.
PHAC_DISCLOOP_POS_BIT_MASK_18000P3M3 -> Detected ISO 18000p3m3/ EPC Gen2.
Active technologies:
PHAC_DISCLOOP_ACT_POS_BIT_MASK_106 -> Detected active target @ 106 kbps.
PHAC_DISCLOOP_ACT_POS_BIT_MASK_212 -> Detected active target @ 212 kbps.
PHAC_DISCLOOP_ACT_POS_BIT_MASK_424 -> Detected active target @ 424 kbps.
Use phacDiscLoop_GetConfig with PHAC_DISCLOOP_CONFIG_TECH_DETECTED option to get detected technologies.

## § wErrorCode

phStatus_t phacDiscLoop_Sw_DataParams::wErrorCode

Hold error received from lower layer when phacDiscLoop_Run returns PHAC_DISCLOOP_FAILURE.

Use phacDiscLoop_GetConfig with PHAC_DISCLOOP_CONFIG_ADDITIONAL_INFO option to get error from lower layer.

## § pHalDataParams

void* phacDiscLoop_Sw_DataParams::pHalDataParams

Pointer to the HAL data parameter.

Application should initialize this pointer with address of HAL data parameter structure.

## § pPal1443p3aDataParams

void* phacDiscLoop_Sw_DataParams::pPal1443p3aDataParams

Pointer to the 14443P3A layer PAL data parameter.

Application should initialize this pointer with address of 14443P3A PAL data parameter structure.

## § pPalFelicaDataParams

void* phacDiscLoop_Sw_DataParams::pPalFelicaDataParams

Pointer to the Felica PAL data parameter.

Application should initialize this pointer with address of Felica PAL data parameter structure.

## § pPal1443p3bDataParams

void* phacDiscLoop_Sw_DataParams::pPal1443p3bDataParams

Pointer to the 14443P3B PAL data parameter.

Application should initialize this pointer with address of 14443P3B PAL data parameter structure.

## § pPal14443p4DataParams

void* phacDiscLoop_Sw_DataParams::pPal14443p4DataParams

Pointer to the 14443P4 PAL data parameter.

Application should initialize this pointer with address of 14443P4 PAL data parameter structure.

## § pPal1443p4aDataParams

void* phacDiscLoop_Sw_DataParams::pPal1443p4aDataParams

Pointer to the 14443P4A PAL data parameter.

Application should initialize this pointer with address of 14443P4A PAL data parameter structure.

## § pPalSli15693DataParams

void* phacDiscLoop_Sw_DataParams::pPalSli15693DataParams

Pointer to the 15693 PAL data parameter.

Application should initialize this pointer with address of 15693 PAL data parameter structure.

## § pPal18000p3m3DataParams

void* phacDiscLoop_Sw_DataParams::pPal18000p3m3DataParams

Pointer to the 18000P3M3 PAL data parameter.

Application should initialize this pointer with address of 18000P3M3 PAL data parameter structure.

## § pAl18000p3m3DataParams

void* phacDiscLoop_Sw_DataParams::pAl18000p3m3DataParams

Pointer to the 18000P3M3 AL data parameter.

Application should initialize this pointer with address of 18000P3M3 AL data parameter structure.

## § pPal18092mPIDataParams

void* phacDiscLoop_Sw_DataParams::pPal18092mPIDataParams

Pointer to 18092MPI PAL data parameter.

Application should initialize this pointer with address of 18092MPI PAL data parameter structure.

## § pAlT1TDataParams

void* phacDiscLoop_Sw_DataParams::pAlT1TDataParams

Pointer to T1T AL data parameter.

Application should initialize this pointer with address of T1T AL data parameter structure.

## § sTypeATargetInfo

phacDiscLoop_Sw_TypeA_Info_t phacDiscLoop_Sw_DataParams::sTypeATargetInfo

Information gathered from TYPE A devices/tags in poll mode.

Application can access this directly to get information like UID, UID size, SAK etc. of all Type A devices/tags detected in poll mode.

## § sTypeFTargetInfo

phacDiscLoop_Sw_TypeF_Info_t phacDiscLoop_Sw_DataParams::sTypeFTargetInfo

Information gathered from TYPE F devices/tags in poll mode.

Application can access this directly to get information like ID, Baud rate, etc. of all Type F devices/tags detected in poll mode.

## § sTypeBTargetInfo

phacDiscLoop_Sw_TypeB_Info_t phacDiscLoop_Sw_DataParams::sTypeBTargetInfo

Information gathered from TYPE B devices/tags in poll mode.

Application can access this directly to get information like PUPI, ATQB, ATQB length etc. of all Type B devices/tags detected in poll mode.

## § sTypeVTargetInfo

phacDiscLoop_Sw_TypeV_Info_t phacDiscLoop_Sw_DataParams::sTypeVTargetInfo

Information gathered from TYPE V (15693) devices/tags in poll mode.

Application can access this directly to get information like UID, DSFID, etc. of all Type V devices/tags detected in poll mode.

## § sI18000p3m3TargetInfo

phacDiscLoop_I18000p3m3_Info_t phacDiscLoop_Sw_DataParams::sI18000p3m3TargetInfo

Information gathered from 18000P3M3 devices/tags in poll mode.

Application can access this directly to get information like StoredCRC, etc. of all 18000P3M3 devices/tags detected in poll mode.

## § sTargetParams

phacDiscLoop_Sw_TargetParams_t phacDiscLoop_Sw_DataParams::sTargetParams

Information gathered from listen mode.

Application can access this directly to get information like Request received, Request length etc. from AUTOCOLL in listen mode.

The documentation for this struct was generated from the following file:

- phacDiscLoop.h