RFID API Documentation  1.0
Reference guide for RFID API
Inventory

Functions

RFID_STATUS WINAPI RFID_AddPreFilter (RFID_HANDLE32 readerHandle, UINT16 antennaID, LPPRE_FILTER lpPreFilter, UINT32 *pFilterIndex)
 This function provides interface to the select command, which the reader applies to sort a particular tag population. More...
 
RFID_STATUS WINAPI RFID_DeletePreFilter (RFID_HANDLE32 readerHandle, UINT16 antennaID, UINT32 filterIndex)
 This function removes one/all filters from the filter list, which the reader applies to sort a particular tag population. More...
 
RFID_STATUS WINAPI RFID_NXPBrandCheck (RFID_HANDLE32 readerHandle, LPPOST_FILTER lpPostFilter, LPANTENNA_INFO lpAntennaInfo, LPTRIGGER_INFO lpTriggerInfo, UINT16 brandID)
 This function performs the inventory operation. More...
 
RFID_STATUS WINAPI RFID_PerformInventory (RFID_HANDLE32 readerHandle, LPPOST_FILTER lpPostFilter, LPANTENNA_INFO lpAntennaInfo, LPTRIGGER_INFO lpTriggerInfo, LPVOID rsvd)
 This function performs the inventory operation. More...
 
RFID_STATUS WINAPI RFID_StartRFSurvey (RFID_HANDLE32 readerHandle, UINT16 antennaID, LPRFSURVEY_STOP_TRIGGER lpRfSurveyStopTriggerInfo, UINT32 startFrequency, UINT32 endFrequency, LPVOID rsvd)
 This function performs the rf survey operation. More...
 
RFID_STATUS WINAPI RFID_GetRFSurvey (RFID_HANDLE32 readerHandle, LPRFSURVEY_DATA lpRFSurveyData)
 This function returns a RFSurvey data if available. More...
 
RFID_STATUS WINAPI RFID_PerformZoneInventory (RFID_HANDLE32 readerHandle, LPPOST_FILTER lpPostFilter, LPANTENNA_INFO lpAntennaInfo, LPTRIGGER_INFO lpTriggerInfo, LPZONE_SEQUENCE lpZoneSequence, LPVOID rsvd)
 This function performs the inventory operation on Zone List. More...
 
RFID_STATUS WINAPI RFID_AddZoneW (RFID_HANDLE32 readerHandle, UINT16 zoneId, LPZONE_CONFIGW zoneConfig, LPVOID rsvd)
 This function Adds the Zone and sets configuration for Antennas in the Zone. More...
 
RFID_STATUS WINAPI RFID_AddZoneA (RFID_HANDLE32 readerHandle, UINT16 zoneId, LPZONE_CONFIGA zoneConfig, LPVOID rsvd)
 
RFID_STATUS WINAPI RFID_DeleteZone (RFID_HANDLE32 readerHandle, UINT32 zoneId, LPVOID rsvd)
 This function deletes zone based on provided zoneid. More...
 
RFID_STATUS WINAPI RFID_NXPStopBrandCheck (RFID_HANDLE32 readerHandle)
 This function stops the inventory operation. More...
 
RFID_STATUS WINAPI RFID_StopInventory (RFID_HANDLE32 readerHandle)
 This function stops the inventory operation. More...
 
RFID_STATUS WINAPI RFID_StopRFSurvey (RFID_HANDLE32 readerHandle)
 This function stops the rf survey operation. More...
 

Detailed Description

Function Documentation

◆ RFID_AddPreFilter()

RFID_STATUS WINAPI RFID_AddPreFilter ( RFID_HANDLE32  readerHandle,
UINT16  antennaID,
LPPRE_FILTER  lpPreFilter,
UINT32 pFilterIndex 
)

This function provides interface to the select command, which the reader applies to sort a particular tag population.

Parameters
[in]readerHandle
Handle to the RFID device.
[in]antennaID
0 for all Antenna or the specific antennaID.
[in]lpPreFilter
Pointer to PRE_FILTER.
[out]pFilterIndex
Pointer to the Index to the pre-filter created if the API succeeds.
Returns
If the function succeeds the return value is RFID_API_SUCCESS. If the function fails the return value is one of the following:
  • RFID_API_INVALID_HANDLE Handle provided is invalid
  • RFID_API_PARAM_ERROR Invalid parameter given
  • RFID_API_PARAM_OUT_OF_RANGE Parameter is out of Range
  • RFID_FILTER_MAX_FILTERS_EXCEEDED Reached limit for maximum number of filters that can be added
Remarks
The API returns a valid pFilterIndex if the API is successful. The filters set using this API will be applied for the next Inventory and Access operation. If the filters are not set or if the set filters are removed using RFID_DeletePreFilter, the reader will operate on factory defaults. The filters will not be persistant across application restarts. So the application will have to set the desired filters each time it is launched.
See also
RFID_PerformInventory, RFID_StopInventory, RFID_DeletePreFilter
Remarks
Example:
RFID_HANDLE32 readerHandle;
PRE_FILTER prefilter;
UINT8 tagPattern[2] = {0x12, 0x11};
UINT32 filterIndex = 0;
ANTENNA_INFO antennaInfo;
TRIGGER_INFO triggerInfo;
LPTAG_DATA pTagData;
HANDLE inventoryDone = CreateEvent(NULL, FALSE, FALSE, NULL);
UINT16 antennaIDList[2] = {1, 3};
antennaInfo.pAntennaList = antennaIDList;
antennaInfo.length = 2;
//we want the inventory to stop when 3 tags are found with in a duration of 2 seconds
triggerInfo.tagReportTrigger = 0;
if(RFID_API_SUCCESS == RFID_Connect(&readerHandle, TEXT("157.235.208.20"), 0, 0, 0))
{
pTagData = RFID_AllocateTag(readerHandle);
if(NULL == pTagData)
{
printf("\n Tag Allocation failed");
}
else
{
// Register an Event for Inventory Completion
// Set pre-filters
prefilter.bitOffset = 32; // skip the PC bits
prefilter.tagPatternBitCount = 2 * 8;
prefilter.pTagPattern = tagPattern;
//Set this filter for All Antennas
rfidStatus = RFID_AddPreFilter(readerHandle, 0, &prefilter, &filterIndex);
rfidStatus = RFID_PerformInventory(readerHandle, NULL, &antennaInfo, &triggerInfo, NULL);
if(RFID_API_SUCCESS == rfidStatus)
{
printf("\n\n Inventory with pre-filter:");
WaitForSingleObject(inventoryDone, INFINITE);
// Fetch the tags in case of successful inventory with pre-filters
while(RFID_API_SUCCESS == RFID_GetReadTag(readerHandle, pTagData))
{
printTagData(pTagData->pTagID, pTagData->tagIDLength);
//printTagData: Refer RFID_PerformInventory - Example
}
}
else
{
printf("Error %S", RFID_GetErrorDescription(rfidStatus));
}
rfidStatus = RFID_DeletePreFilter(readerHandle, 0, filterIndex);
}
rfidStatus = RFID_Disconnect(readerHandle);
}
CloseHandle(inventoryDone);
}

◆ RFID_DeletePreFilter()

RFID_STATUS WINAPI RFID_DeletePreFilter ( RFID_HANDLE32  readerHandle,
UINT16  antennaID,
UINT32  filterIndex 
)

This function removes one/all filters from the filter list, which the reader applies to sort a particular tag population.

Parameters
[in]readerHandle
Handle to the RFID device.
[in]antennaID
0 for all Antenna or the specific antennaID.
[in]filterIndex
Index to the Filter to be removed.
Returns
If the function succeeds the return value is RFID_API_SUCCESS. If the function fails the return value is one of the following:
  • RFID_API_INVALID_HANDLE Handle provided is invalid
  • RFID_API_PARAM_ERROR Invalid parameter given
  • RFID_API_PARAM_OUT_OF_RANGE Parameter is out of Range
  • RFID_FILTER_INVALID_INDEX Invalid Index
Remarks
The Filter of matching filterIndex will be removed for the specified antennaID. If antennaID is zero, Filter of matching filterIndex will be removed for all Antenna, where-ever present. If filterIndex is zero, all Filters will be removed for the specified antennaID. If antennaID and filterIndex are both zero, all filters will be removed.
See also
RFID_PerformInventory, RFID_StopInventory, RFID_AddPreFilter
Remarks
Example: See

◆ RFID_NXPBrandCheck()

RFID_STATUS WINAPI RFID_NXPBrandCheck ( RFID_HANDLE32  readerHandle,
LPPOST_FILTER  lpPostFilter,
LPANTENNA_INFO  lpAntennaInfo,
LPTRIGGER_INFO  lpTriggerInfo,
UINT16  brandID 
)

This function performs the inventory operation.

Parameters
[in]readerHandle
Handle to the RFID device.
[in]lpPostFilter
Filter Criteria for the inventory operation to be performed. If this is NULL, inventory operation will be based on the pre-filters, which if not set, the Reader's default filters will apply.
[in]lpAntennaInfo
Antenna List on which the inventory operation is to be performed. If this is NULL, inventory is performed on ALL antennas.
[in]lpTriggerInfo
Trigger Criteria for the inventory operation. If this is NULL, inventory starts right away when this API is called, and stops when RFID_StopInventory is called.
[in]brandIDBrandID struct
Returns
If the function succeeds the return value is RFID_API_SUCCESS. If the function fails the return value is one of the following:
  • RFID_API_INVALID_HANDLE Handle provided is invalid
  • RFID_API_PARAM_ERROR Invalid parameter given
  • RFID_API_PARAM_OUT_OF_RANGE Parameter out of range [Antenna ID/GPI]
  • RFID_INVENTORY_IN_PROGRESS Inventory in progress, cannot perform requested operation
  • RFID_ACCESS_IN_PROGRESS Access Operation in progress, cannot perform requested operation
  • RFID_TAG_LOCATING_IN_PROGRESS Tag Locating in progress, cannot perform requested operation
  • RFID_NXP_EAS_SCAN_IN_PROGRESS NXP EAS SCAN in progress, cannot perform requested operation
  • RFID_NXP_BRANDID_CHECK_IN_PROGRESS BrandID check in progress, cannot perform requested operation
Remarks

Tags inventoried as a result of RFID_PerformInventory can be obtained using RFID_GetReadTag. The application can wait on the event registered for TAG_READ_EVENT before calling RFID_GetReadTag or RFID_GetEventData.
See also
RFID_NXPStopBrandCheck
Remarks
Example:

◆ RFID_PerformInventory()

RFID_STATUS WINAPI RFID_PerformInventory ( RFID_HANDLE32  readerHandle,
LPPOST_FILTER  lpPostFilter,
LPANTENNA_INFO  lpAntennaInfo,
LPTRIGGER_INFO  lpTriggerInfo,
LPVOID  rsvd 
)

This function performs the inventory operation.

Parameters
[in]readerHandle
Handle to the RFID device.
[in]lpPostFilter
Filter Criteria for the inventory operation to be performed. If this is NULL, inventory operation will be based on the pre-filters, which if not set, the Reader's default filters will apply.
[in]lpAntennaInfo
Antenna List on which the inventory operation is to be performed. If this is NULL, inventory is performed on ALL antennas.
[in]lpTriggerInfo
Trigger Criteria for the inventory operation. If this is NULL, inventory starts right away when this API is called, and stops when RFID_StopInventory is called.
[in]rsvd
Reserved for future use
Returns
If the function succeeds the return value is RFID_API_SUCCESS. If the function fails the return value is one of the following:
  • RFID_API_INVALID_HANDLE Handle provided is invalid
  • RFID_API_PARAM_ERROR Invalid parameter given
  • RFID_API_PARAM_OUT_OF_RANGE Parameter out of range [Antenna ID/GPI]
  • RFID_INVENTORY_IN_PROGRESS Inventory in progress, cannot perform requested operation
  • RFID_ACCESS_IN_PROGRESS Access Operation in progress, cannot perform requested operation
  • RFID_TAG_LOCATING_IN_PROGRESS Tag Locating in progress, cannot perform requested operation
  • RFID_NXP_EAS_SCAN_IN_PROGRESS NXP EAS SCAN in progress, cannot perform requested operation
Remarks
Tags inventoried as a result of RFID_PerformInventory can be obtained using RFID_GetReadTag. The application can wait on the event registered for TAG_READ_EVENT before calling RFID_GetReadTag or RFID_GetEventData.
See also
RFID_StopInventory, RFID_SetSingulationControl, RFID_AddPreFilter, RFID_DeletePreFilter,
Remarks
Example:
//Sample Code that prints TagID and Memory Bank
void printTagData(UINT8*pTagID, UINT32 tagIDLength)
{
char tagBuffer[64] = {0, };
char* pTagReportData = tagBuffer;
for(UINT32 index = 0; index < tagIDLength; index++)
{
if(0 < index && index%2 == 0)
{
*pTagReportData++ = '-';
}
sprintf(pTagReportData, "%02X", pTagID[index]);
while(*pTagReportData) pTagReportData++;
}
printf("\n Tag ID: %s", tagBuffer);
}
// Event Management and Simple Inventory, GPO
// Code snippet for Simple Inventory without filters
RFID_HANDLE32 readerHandle;
HANDLE TagArrived = CreateEvent(NULL, FALSE, FALSE, NULL);
LPTAG_DATA pTagData;
TAG_STORAGE_SETTINGS tagStorageSettings;
BOOLEAN gpoState = FALSE;
if(RFID_API_SUCCESS == RFID_Connect(&readerHandle, TEXT("157.235.207.190"), 0, 0, 0))
{
// Optional step, Tag Storage Settings
tagStorageSettings.maxMemoryBankByteCount = 64;
tagStorageSettings.maxTagCount = 100;
tagStorageSettings.maxTagIDByteCount = 12;
rfidStatus = RFID_SetTagStorageSettings(readerHandle, &tagStorageSettings);
// Register Event Handle for Managing events
rfidStatus = RFID_RegisterEventNotification(readerHandle, TAG_READ_EVENT, TagArrived);
pTagData = RFID_AllocateTag(readerHandle);
if(pTagData)
{
printf("\n\n Inventory:");
rfidStatus = RFID_PurgeTags(readerHandle, NULL);
// Simple Inventory which runs without any pre/post filters
// on All Antennas, and which runs till RFID_StopInventory is called
rfidStatus = RFID_PerformInventory(readerHandle, NULL, NULL, NULL, NULL);
// Lets wait for 3 seconds for the Inventory operation to fetch a tag
if(WaitForSingleObject(TagArrived, 3000) == WAIT_OBJECT_0)
{
// You can read Tag using RFID_GetEventData
rfidStatus = RFID_GetEventData(readerHandle, TAG_READ_EVENT, pTagData);
if(RFID_API_SUCCESS == rfidStatus)
printTagData(pTagData->pTagID, pTagData->tagIDLength);
}
rfidStatus = RFID_StopInventory(readerHandle);
// You can also read Tag using RFID_GetReadTag
while(RFID_API_SUCCESS == RFID_GetReadTag(readerHandle, pTagData))
{
// Say GPO port 1 is connected to an LED, lets blink the
// Led when a tag is read
rfidStatus = RFID_SetGPOState(readerHandle, 1, TRUE);
printTagData(pTagData->pTagID, pTagData->tagIDLength);
}
if(RFID_API_SUCCESS == RFID_GetGPOState(readerHandle, 1, &gpoState))
{
// Disable the GPO now that inventory is over.
if(gpoState)
RFID_SetGPOState(readerHandle, 1, FALSE);
}
}
rfidStatus = RFID_DeregisterEventNotification(readerHandle, TAG_READ_EVENT);
rfidStatus = RFID_Disconnect(readerHandle);
}
CloseHandle(TagArrived);

◆ RFID_StartRFSurvey()

RFID_STATUS WINAPI RFID_StartRFSurvey ( RFID_HANDLE32  readerHandle,
UINT16  antennaID,
LPRFSURVEY_STOP_TRIGGER  lpRfSurveyStopTriggerInfo,
UINT32  startFrequency,
UINT32  endFrequency,
LPVOID  rsvd 
)

This function performs the rf survey operation.

Parameters
[in]readerHandle
Handle to the RFID device.
[in]antennaID
Antenna id on which the rf survey operation is to be performed.
[in]lpRfSurveyStopTriggerInfo
Stop Trigger Criteria for the rf survey operation. If this is NULL, rf survey stops when RFID_StopRFSurvey is called.
[in]startFrequency
start frequency value.
[in]endFrequency
end frequency value.
[in]rsvd
Reserved for future use.
Returns
If the function succeeds the return value is RFID_API_SUCCESS. If the function fails the return value is one of the following:
  • RFID_API_INVALID_HANDLE Handle provided is invalid
  • RFID_API_PARAM_ERROR Invalid parameter given
  • RFID_API_PARAM_OUT_OF_RANGE Parameter out of range [Antenna ID]
  • RFID_RFSURVEY_IN_PROGRESS RF Survey in progress, cannot perform requested operation
Remarks
RF Survey data as a result of RFID_StartRFSurvey can be obtained using RFID_GetRFSurvey. The application can wait on the event registered for RF_SURVEY_DATA_READ_EVENT before calling RFID_GetRFSurvey or RFID_GetEventData.
See also
RFID_StopRFSurvey
Remarks
Example:

◆ RFID_GetRFSurvey()

RFID_STATUS WINAPI RFID_GetRFSurvey ( RFID_HANDLE32  readerHandle,
LPRFSURVEY_DATA  lpRFSurveyData 
)

This function returns a RFSurvey data if available.

Parameters
[in]readerHandle
Handle to the RFID device.
[out]lpRFSurveyData
Pointer to RF_SURVEY_DATA.
Returns
If the function succeeds the return value is RFID_API_SUCCESS. If the function fails the return value is one of the following:
  • RFID_API_INVALID_HANDLE Handle provided is invalid
  • RFID_API_PARAM_ERROR Invalid parameter given
  • RFID_NO_RF_SURVEY_DATA No rf survey data
Remarks
None
See also
RFID_RegisterEventNotification, RFID_StartRFSurvey, RFID_SetRFSurveyStorageSettings, RFID_AllocateRFSurvey
Remarks
Example: See

◆ RFID_PerformZoneInventory()

RFID_STATUS WINAPI RFID_PerformZoneInventory ( RFID_HANDLE32  readerHandle,
LPPOST_FILTER  lpPostFilter,
LPANTENNA_INFO  lpAntennaInfo,
LPTRIGGER_INFO  lpTriggerInfo,
LPZONE_SEQUENCE  lpZoneSequence,
LPVOID  rsvd 
)

This function performs the inventory operation on Zone List.

Parameters
[in]readerHandle
Handle to the RFID device.
[in]lpPostFilter
Filter Criteria for the inventory operation to be performed. If this is NULL, inventory operation will be based on the pre-filters, which if not set, the Reader's default filters will apply.
[in]lpAntennaInfo
Zone information with Antenna List on which the inventory operation is to be performed in AAR. If this is NULL, inventory is performed on ALL available Zones.
[in]lpTriggerInfo
Trigger Criteria for the inventory operation. If this is NULL, inventory starts right away when this API is called, and stops when RFID_StopInventory is called.
[in]lpZoneSequence
Holds zoen information
[in]rsvdReserved for future use.
Returns
If the function succeeds the return value is RFID_API_SUCCESS. If the function fails the return value is one of the following:
  • RFID_API_INVALID_HANDLE Handle provided is invalid
  • RFID_API_PARAM_ERROR Invalid parameter given
  • RFID_API_PARAM_OUT_OF_RANGE Parameter out of range [Antenna ID/GPI]
  • RFID_INVENTORY_IN_PROGRESS Inventory in progress, cannot perform requested operation
  • RFID_ACCESS_IN_PROGRESS Access Operation in progress, cannot perform requested operation
  • RFID_TAG_LOCATING_IN_PROGRESS Tag Locating in progress, cannot perform requested operation
  • RFID_NXP_EAS_SCAN_IN_PROGRESS NXP EAS SCAN in progress, cannot perform requested operation
Remarks
Tags inventoried as a result of RFID_PerformInventory can be obtained using RFID_GetReadTag. The application can wait on the event registered for TAG_READ_EVENT before calling RFID_GetReadTag or RFID_GetEventData.
See also
RFID_StopInventory, RFID_SetSingulationControl, RFID_AddPreFilter, RFID_DeletePreFilter,
Remarks
Example:
//Sample Code that prints TagID and Memory Bank
void printTagData(UINT8*pTagID, UINT32 tagIDLength)
{
char tagBuffer[64] = {0, };
char* pTagReportData = tagBuffer;
for(UINT32 index = 0; index < tagIDLength; index++)
{
if(0 < index && index%2 == 0)
{
*pTagReportData++ = '-';
}
sprintf(pTagReportData, "%02X", pTagID[index]);
while(*pTagReportData) pTagReportData++;
}
printf("\n Tag ID: %s", tagBuffer);
}
// Event Management and Simple Inventory, GPO
// Code snippet for Simple Inventory without filters
RFID_HANDLE32 readerHandle;
HANDLE TagArrived = CreateEvent(NULL, FALSE, FALSE, NULL);
LPTAG_DATA pTagData;
TAG_STORAGE_SETTINGS tagStorageSettings;
BOOLEAN gpoState = FALSE;
if(RFID_API_SUCCESS == RFID_Connect(&readerHandle, TEXT("157.235.207.190"), 0, 0, 0))
{
// Optional step, Tag Storage Settings
tagStorageSettings.maxMemoryBankByteCount = 64;
tagStorageSettings.maxTagCount = 100;
tagStorageSettings.maxTagIDByteCount = 12;
rfidStatus = RFID_SetTagStorageSettings(readerHandle, &tagStorageSettings);
// Register Event Handle for Managing events
rfidStatus = RFID_RegisterEventNotification(readerHandle, TAG_READ_EVENT, TagArrived);
pTagData = RFID_AllocateTag(readerHandle);
if(pTagData)
{
printf("\n\n Inventory:");
rfidStatus = RFID_PurgeTags(readerHandle, NULL);
// Simple Inventory which runs without any pre/post filters
// on All Antennas, and which runs till RFID_StopInventory is called
rfidStatus = RFID_PerformZoneInventory(readerHandle, NULL, NULL, NULL, NULL);
// Lets wait for 3 seconds for the Inventory operation to fetch a tag
if(WaitForSingleObject(TagArrived, 3000) == WAIT_OBJECT_0)
{
// You can read Tag using RFID_GetEventData
rfidStatus = RFID_GetEventData(readerHandle, TAG_READ_EVENT, pTagData);
if(RFID_API_SUCCESS == rfidStatus)
printTagData(pTagData->pTagID, pTagData->tagIDLength);
}
rfidStatus = RFID_StopInventory(readerHandle);
// You can also read Tag using RFID_GetReadTag
while(RFID_API_SUCCESS == RFID_GetReadTag(readerHandle, pTagData))
{
// Say GPO port 1 is connected to an LED, lets blink the
// Led when a tag is read
rfidStatus = RFID_SetGPOState(readerHandle, 1, TRUE);
printTagData(pTagData->pTagID, pTagData->tagIDLength);
}
if(RFID_API_SUCCESS == RFID_GetGPOState(readerHandle, 1, &gpoState))
{
// Disable the GPO now that inventory is over.
if(gpoState)
RFID_SetGPOState(readerHandle, 1, FALSE);
}
}
rfidStatus = RFID_DeregisterEventNotification(readerHandle, TAG_READ_EVENT);
rfidStatus = RFID_Disconnect(readerHandle);
}
CloseHandle(TagArrived);

◆ RFID_AddZoneW()

RFID_STATUS WINAPI RFID_AddZoneW ( RFID_HANDLE32  readerHandle,
UINT16  zoneId,
LPZONE_CONFIGW  zoneConfig,
LPVOID  rsvd 
)

This function Adds the Zone and sets configuration for Antennas in the Zone.

Parameters
[in]readerHandle
Handle to the RFID device.
[in]zoneId
ID of the Zone to be created, if the zone ID already exists returns Error
[in]zoneConfig
Contains the name and List of Antenna configuration which is part of the Zone
[in]rsvdReserved for future use.
Returns
If the function succeeds the return value is RFID_API_SUCCESS. If the function fails the return value is one of the following:
  • RFID_API_INVALID_HANDLE Handle provided is invalid
  • RFID_API_PARAM_ERROR Invalid parameter given
  • RFID_API_PARAM_OUT_OF_RANGE Parameter out of range [Antenna ID/GPI]
  • RFID_INVENTORY_IN_PROGRESS Inventory in progress, cannot perform requested operation
  • RFID_ACCESS_IN_PROGRESS Access Operation in progress, cannot perform requested operation
  • RFID_TAG_LOCATING_IN_PROGRESS Tag Locating in progress, cannot perform requested operation
  • RFID_NXP_EAS_SCAN_IN_PROGRESS NXP EAS SCAN in progress, cannot perform requested operation
Remarks
Zone information and antenna configuration will be set to the reader when performZoneInventory is called
See also
RFID_PerformZoneInventory,RFID_DeleteZone
Remarks
Example:
void printTagData(UINT8*pTagID, UINT32 tagIDLength)
{
char tagBuffer[64] = {0, };
char* pTagReportData = tagBuffer;
for(UINT32 index = 0; index < tagIDLength; index++)
{
if(0 < index && index%2 == 0)
{
*pTagReportData++ = '-';
}
sprintf(pTagReportData, "%02X", pTagID[index]);
while(*pTagReportData) pTagReportData++;
}
printf("\n Tag ID: %s", tagBuffer);
}
// Event Management and Simple Inventory, GPO
// Code snippet for Simple Inventory without filters
RFID_HANDLE32 readerHandle;
HANDLE TagArrived = CreateEvent(NULL, FALSE, FALSE, NULL);
LPTAG_DATA pTagData;
TAG_STORAGE_SETTINGS tagStorageSettings;
BOOLEAN gpoState = FALSE;
if(RFID_API_SUCCESS == RFID_Connect(&readerHandle, TEXT("157.235.207.190"), 0, 0, 0))
{
TAG_STORAGE_SETTINGS tagStorageSetting;
RFID_GetTagStorageSettings(readerHandle, &tagStorageSetting);
tagStorageSetting.tagFields |= (ZONE_ID|ZONE_NAME);
tagStorageSetting.discardTagsOnInventoryStop = true;
RFID_SetTagStorageSettings(readerHandle, &tagStorageSetting);
LPTAG_DATA pTagData = RFID_AllocateTag(readerHandle);
if(NULL == pTagData)
{
return;
}
// Get Global RF Config and Stop Condition
ANTENNA_RF_CONFIG globalAntennaRFConfig={0};
rfidStatus = RFID_GetAntennaRfConfig(readerHandle, 1, &globalAntennaRFConfig);
globalAntennaRFConfig.antennaStopTrigger.stopTriggerValue = 3000;
rfidStatus = RFID_SetAntennaRfConfig(readerHandle, 0, &globalAntennaRFConfig);
// Override settings only for Antenna 1
globalAntennaRFConfig.antennaStopTrigger.stopTriggerValue = 2;
rfidStatus = RFID_SetAntennaRfConfig(readerHandle, 1, &globalAntennaRFConfig);
//
UINT16 zoneAntennaList[4] = {1,2,3,4};
UINT16 zoneAntennaList1[4] = {0};
UINT16 zoneAntennaList2[4] = {0};
char antennaIDs[] = "1 2";
AddZone(1, "Zone one two", antennaIDs,zoneAntennaList);
char antennaIDs1[] = "3 4";
AddZone(2, "Zone three four", antennaIDs1,zoneAntennaList1);
char antennaIDs2[] = "6 7";
AddZone(3, "Zone six seven" ,antennaIDs2,zoneAntennaList2);
ANTENNA_INFO antennaInfo;
antennaInfo.length = 2;
antennaInfo.pAntennaList = zoneAntennaList;
antennaInfo.pAntennaOpList = NULL;
ZONE_SEQUENCE zoneseq = {0};
ZONE_INFO zoneInfo[3] = {{1,zoneAntennaList,2,C1G2_OPERATION,0},{2,zoneAntennaList1,2,C1G2_OPERATION,0},{3,zoneAntennaList2,2,C1G2_OPERATION,0}};
zoneseq.pZoneList = zoneInfo;
zoneseq.zoneListCount = 3;
rfidStatus = RFID_PerformZoneInventory(readerHandle, NULL, &antennaInfo, NULL, &zoneseq, NULL);
if(RFID_API_SUCCESS == rfidStatus)
LOG_MSG(TEXT("PerformZoneInventory Success"));
//Wait for sometime so that some tags are reported from the Reader
Sleep(10000);
//
rfidStatus = RFID_StopInventory(readerHandle);
int tagCount = 0;
while(RFID_API_SUCCESS == RFID_GetReadTag(readerHandle, pTagData))
{
if(pTagData->opCode != ACCESS_OPERATION_NONE)
{
tagCount = 0;
break;
}
else
{
printTagData(pTagData);
tagCount++;
}
}
rfidStatus = RFID_DeleteZone(readerHandle,1,NULL);
if(RFID_API_SUCCESS == rfidStatus)
printf("DeleteZone Success");
rfidStatus = RFID_DeleteZone(readerHandle,0,NULL);
if(RFID_API_SUCCESS == rfidStatus)
printf("RFID_DeleteZone Delete All Zone Success");
RFID_DeallocateTag(readerHandle, pTagData);
}
void AddZone(int id, char* name, char* antennaIDs,UINT16 * zoneAntennaList)
{
int antennaCount = 0;
char *pchT = antennaIDs;
while (*pchT++ != NULL)
{
if (*pchT == ' ')
antennaCount++;
}
if (antennaCount > 0) antennaCount++;
char *pch;
pch = strtok(antennaIDs, " ");
int antennaIndex = 0;
int antennaID;
ANTENNA_RF_CONFIG globalAntennaRFConfig={0};
RFID_STATUS rfidStatus = RFID_GetAntennaRfConfig(readerHandle, 1, &globalAntennaRFConfig);
globalAntennaRFConfig.antennaStopTrigger.stopTriggerValue = 3000;
ZONE_CONFIG zoneConfig={0};
zoneConfig.antennaCount = antennaCount;
zoneConfig.lpAntennaConfiguartions;
#ifndef UNICODE
strcpy(zoneConfig.ZoneName,name);
#else
mbstowcs(zoneConfig.ZoneName,name,MAX_PATH);
#endif
zoneConfig.lpAntennaConfiguartions = new ANTENNA_CONFIG[antennaCount];
while (pch != NULL)
{
antennaID = atoi(pch);
zoneAntennaList[antennaIndex] = antennaID;
zoneConfig.lpAntennaConfiguartions[antennaIndex].antennaID = antennaID;
zoneConfig.lpAntennaConfiguartions[antennaIndex].lpAntennaRfConfig = &globalAntennaRFConfig;
zoneConfig.lpAntennaConfiguartions[antennaIndex].lpAntennaRfConfig->antennaStopTrigger.stopTriggerType = ANTENNA_STOP_TRIGGER_TYPE_DURATION_SECS;
zoneConfig.lpAntennaConfiguartions[antennaIndex].lpAntennaRfConfig->antennaStopTrigger.stopTriggerValue = 2;
// Get Singulation Control
SINGULATION_CONTROL singulationControl;
RFID_GetSingulationControl(readerHandle, antennaID, &singulationControl);
singulationControl.tagPopulation = 2 ^ 6;
singulationControl.session = SESSION_S0;
zoneConfig.lpAntennaConfiguartions[antennaIndex].lpSingulationControl = &singulationControl;
zoneConfig.lpAntennaConfiguartions[antennaIndex].lpPreFilterList = NULL;
antennaIndex++;
// Fetch the next antenna
pch = strtok(NULL, " ");
}
rfidStatus = RFID_AddZone(readerHandle,id,&zoneConfig,0);
if(RFID_API_SUCCESS == rfidStatus)
LOG_MSG(TEXT("Addzone done"));
}

◆ RFID_AddZoneA()

RFID_STATUS WINAPI RFID_AddZoneA ( RFID_HANDLE32  readerHandle,
UINT16  zoneId,
LPZONE_CONFIGA  zoneConfig,
LPVOID  rsvd 
)

◆ RFID_DeleteZone()

RFID_STATUS WINAPI RFID_DeleteZone ( RFID_HANDLE32  readerHandle,
UINT32  zoneId,
LPVOID  rsvd 
)

This function deletes zone based on provided zoneid.

Parameters
[in]readerHandle
Handle to the RFID device.
[in]zoneId
Zone ID assigned at a time of AddZone
[in]rsvd
Reserved for future use.
Returns
If the function succeeds the return value is RFID_API_SUCCESS. If the function fails the return value is one of the following:
  • RFID_API_INVALID_HANDLE Handle provided is invalid
  • RFID_API_PARAM_ERROR Invalid parameter given
  • RFID_API_PARAM_OUT_OF_RANGE Parameter out of range [Antenna ID/GPI]
  • RFID_INVENTORY_IN_PROGRESS Inventory in progress, cannot perform requested operation
  • RFID_ACCESS_IN_PROGRESS Access Operation in progress, cannot perform requested operation
  • RFID_TAG_LOCATING_IN_PROGRESS Tag Locating in progress, cannot perform requested operation
  • RFID_NXP_EAS_SCAN_IN_PROGRESS NXP EAS SCAN in progress, cannot perform requested operation
Remarks
Provide zoneID value equal to zero to delete all zones
See also
RFID_PerformZoneInventory, RFID_AddZone
Remarks
Example: Refer to RFID_AddZone example

◆ RFID_NXPStopBrandCheck()

RFID_STATUS WINAPI RFID_NXPStopBrandCheck ( RFID_HANDLE32  readerHandle)

This function stops the inventory operation.

Parameters
[in]readerHandle
Handle to the RFID device.
Returns
If the function succeeds the return value is RFID_API_SUCCESS. If the function fails the return value is one of the following:
  • RFID_API_INVALID_HANDLE Handle provided is invalid
  • NXP_BRANDID_CHECK There is no BrandId check in progress
Remarks
See also
RFID_NXPBrandCheck
Remarks
Example: See

◆ RFID_StopInventory()

RFID_STATUS WINAPI RFID_StopInventory ( RFID_HANDLE32  readerHandle)

This function stops the inventory operation.

Parameters
[in]readerHandle
Handle to the RFID device.
Returns
If the function succeeds the return value is RFID_API_SUCCESS. If the function fails the return value is one of the following:
  • RFID_API_INVALID_HANDLE Handle provided is invalid
  • RFID_NO_INVENTORY_IN_PROGRESS There is no Inventory in progress
Remarks
See also
RFID_PerformInventory, RFID_SetSingulationControl, RFID_AddPreFilter, RFID_DeletePreFilter
Remarks
Example: See

◆ RFID_StopRFSurvey()

RFID_STATUS WINAPI RFID_StopRFSurvey ( RFID_HANDLE32  readerHandle)

This function stops the rf survey operation.

Parameters
[in]readerHandle
Handle to the RFID device.
Returns
If the function succeeds the return value is RFID_API_SUCCESS. If the function fails the return value is one of the following:
  • RFID_API_INVALID_HANDLE Handle provided is invalid
  • RFID_NO_RF_SURVEY_OPERATION_IN_PROGRESS There is no RF Survey in progress
Remarks
See also
RFID_StartRFSurvey
Remarks
Example: See
RFID_AddPreFilter
RFID_STATUS WINAPI RFID_AddPreFilter(RFID_HANDLE32 readerHandle, UINT16 antennaID, LPPRE_FILTER lpPreFilter, UINT32 *pFilterIndex)
This function provides interface to the select command, which the reader applies to sort a particular...
Definition: rfidapi.cpp:3842
STATE_UNAWARE_ACTION_UNSELECT
@ STATE_UNAWARE_ACTION_UNSELECT
Action 3: Matching tags: UNSELECT , Non-matching tags: do nothing.
Definition: rfidapiConstants.h:367
ZONE_CONFIGW::ZoneName
WCHAR ZoneName[MAX_PATH]
Name of the Zone.
Definition: rfidapiStructs.h:1353
RFID_SetAntennaRfConfig
RFID_STATUS WINAPI RFID_SetAntennaRfConfig(RFID_HANDLE32 readerHandle, UINT16 antennaID, LPANTENNA_RF_CONFIG lpAntennaRfConfig)
This function sets Antenna RF Configuration at the Reader.
Definition: rfidapi.cpp:1320
TRIGGER_WITH_TIMEOUT::n
UINT16 n
N attempts or N Tag-Observations.
Definition: rfidapiStructs.h:724
ZONE_ID
@ ZONE_ID
Fetch the Zone ID of the zone where the tag was found.
Definition: rfidapiConstants.h:522
RFID_GetErrorDescription
#define RFID_GetErrorDescription
Definition: rfidapi.h:1100
TAG_DATA::opCode
ACCESS_OPERATION_CODE opCode
C1G2 Operation as a result of which this Tag is being reported.
Definition: rfidapiStructs.h:949
RFID_StartRFSurvey
RFID_STATUS WINAPI RFID_StartRFSurvey(RFID_HANDLE32 readerHandle, UINT16 antennaID, LPRFSURVEY_STOP_TRIGGER lpRfSurveyStopTriggerInfo, UINT32 startFrequency, UINT32 endFrequency, LPVOID rsvd)
This function performs the rf survey operation.
Definition: rfidapi.cpp:4238
RFID_GetSingulationControl
RFID_STATUS WINAPI RFID_GetSingulationControl(RFID_HANDLE32 readerHandle, UINT16 antennaID, LPSINGULATION_CONTROL lpSingulationControl)
This function provides interface to the get the Singulation control.
Definition: rfidapi.cpp:1582
ZONE_CONFIGW::lpZoneGlobalAntennaConfiguration
LPANTENNA_CONFIG lpZoneGlobalAntennaConfiguration
Pointer to Global Antenna configurations of all the Antennas in the Zone.
Definition: rfidapiStructs.h:1356
RFID_ResetConfigToFactoryDefaults
RFID_STATUS WINAPI RFID_ResetConfigToFactoryDefaults(RFID_HANDLE32 readerHandle)
This function resets the reader configuration to factory defaults.
Definition: rfidapi.cpp:1736
RFID_GetTagStorageSettings
RFID_STATUS WINAPI RFID_GetTagStorageSettings(RFID_HANDLE32 readerHandle, LPTAG_STORAGE_SETTINGS lpTagStorageSettings)
This function gets the Tag-storage settings.
Definition: rfidapi.cpp:3296
ANTENNA_RF_CONFIG
Contains Antenna RF configuration.
Definition: rfidapiStructs.h:1316
TAG_STORAGE_SETTINGS::tagFields
UINT16 tagFields
Bit field indicating contents of TAG_DATA.
Definition: rfidapiStructs.h:1034
RFID_DeallocateTag
RFID_STATUS WINAPI RFID_DeallocateTag(RFID_HANDLE32 readerHandle, TAG_DATA *pTagData)
This function de-allocates the TAG_DATA structure previously created using RFID_AllocateTag.
Definition: rfidapi.cpp:3537
RFID_GetEventData
RFID_STATUS WINAPI RFID_GetEventData(RFID_HANDLE32 readerHandle, RFID_EVENT_TYPE eventType, STRUCT_HANDLE pEventData)
This function returns the event-data corresponding to a signaled event.
Definition: rfidapi.cpp:3225
TAG_READ_EVENT
@ TAG_READ_EVENT
Applications can register for this event to get Tag Reports from the Reader.
Definition: rfidapiConstants.h:56
BOOLEAN
BYTE BOOLEAN
Definition: rfidapiTypes.h:48
TRIGGER_INFO::stopTrigger
STOP_TRIGGER stopTrigger
Condition to be met to stop the operation.
Definition: rfidapiStructs.h:862
MEMORY_BANK_EPC
@ MEMORY_BANK_EPC
EPC Memory: Contains CRC, Protocol-Control Bits, EPC Code.
Definition: rfidapiConstants.h:259
RFID_DeletePreFilter
RFID_STATUS WINAPI RFID_DeletePreFilter(RFID_HANDLE32 readerHandle, UINT16 antennaID, UINT32 filterIndex)
This function removes one/all filters from the filter list, which the reader applies to sort a partic...
Definition: rfidapi.cpp:3929
ACCESS_OPERATION_NONE
@ ACCESS_OPERATION_NONE
Not to be used for RFID_AddOperationToAccessSequence.
Definition: rfidapiConstants.h:503
SESSION_S0
@ SESSION_S0
Indicates to perform inventory based on Session S0.
Definition: rfidapiConstants.h:304
RFID_RegisterEventNotification
RFID_STATUS WINAPI RFID_RegisterEventNotification(RFID_HANDLE32 readerHandle, RFID_EVENT_TYPE eventType, EVENT_HANDLE notifyObject)
This function is used to enable notification of single Reader event type.
Definition: rfidapi.cpp:2957
START_TRIGGER_TYPE_IMMEDIATE
@ START_TRIGGER_TYPE_IMMEDIATE
Start immediately when RFID_PerformInventory or RFID_PerformAccessSequence is called.
Definition: rfidapiConstants.h:269
RFID_PerformZoneInventory
RFID_STATUS WINAPI RFID_PerformZoneInventory(RFID_HANDLE32 readerHandle, LPPOST_FILTER lpPostFilter, LPANTENNA_INFO lpAntennaInfo, LPTRIGGER_INFO lpTriggerInfo, LPZONE_SEQUENCE lpZoneSequence, LPVOID rsvd)
This function performs the inventory operation on Zone List.
Definition: rfidapi.cpp:4435
TRIGGER_INFO::startTrigger
START_TRIGGER startTrigger
Condition to be met to start the operation.
Definition: rfidapiStructs.h:861
SINGULATION_CONTROL::session
SESSION session
Session number to use for the inventory operation.
Definition: rfidapiStructs.h:278
TRIGGER_INFO
Contains trigger criteria to be used for an Inventory or Access Sequence operation.
Definition: rfidapiStructs.h:860
PRE_FILTER::stateUnawareAction
STATE_UNAWARE_ACTION stateUnawareAction
Parameters for StateAware action if filterAction is FILTER_ACTION_STATE_UNAWARE.
Definition: rfidapiStructs.h:1274
RFID_Disconnect
RFID_STATUS WINAPI RFID_Disconnect(RFID_HANDLE32 readerHandle)
This function closes connection to the Reader.
Definition: rfidapi.cpp:1061
PRE_FILTER
This struct contains the filter criteria for Inventory.
Definition: rfidapiStructs.h:1261
ANTENNA_INFO::length
UINT32 length
Number of elements in array pAntennaList .
Definition: rfidapiStructs.h:82
RFID_NXPBrandCheck
RFID_STATUS WINAPI RFID_NXPBrandCheck(RFID_HANDLE32 readerHandle, LPPOST_FILTER lpPostFilter, LPANTENNA_INFO lpAntennaInfo, LPTRIGGER_INFO lpTriggerInfo, UINT16 brandID)
This function performs the inventory operation.
Definition: rfidapi.cpp:4007
RFID_SetTagStorageSettings
RFID_STATUS WINAPI RFID_SetTagStorageSettings(RFID_HANDLE32 readerHandle, LPTAG_STORAGE_SETTINGS lpTagStorageSettings)
This function allows configuring the maximum Tag-storage capacity of the DLL and the storage to be al...
Definition: rfidapi.cpp:3377
FALSE
#define FALSE
Definition: rfidapiTypes.h:55
PRE_FILTER::bitOffset
UINT16 bitOffset
Bit offset; The first (msb) bit location of the specified memory bank against which to compare the Ta...
Definition: rfidapiStructs.h:1267
RFID_HANDLE32
void * RFID_HANDLE32
Definition: rfidapiTypes.h:76
ZONE_CONFIGW
This struct contains the Configuration of a Zone for Inventory.Unicode version.
Definition: rfidapiStructs.h:1352
UINT8
unsigned char UINT8
Definition: rfidapiTypes.h:26
PRE_FILTER::filterActionParams
union PRE_FILTER::@13 filterActionParams
This field is ignored for FilterAction: FILTER_ACTION_DEFAULT.
SINGULATION_CONTROL
Singulation Control parameters.
Definition: rfidapiStructs.h:277
RFID_DeregisterEventNotification
RFID_STATUS WINAPI RFID_DeregisterEventNotification(RFID_HANDLE32 readerHandle, RFID_EVENT_TYPE eventType)
This function is used to disable notification of single Reader event type.
Definition: rfidapi.cpp:3077
ANTENNA_INFO
Contains Antenna Information to be used for Inventory or Access Operations.
Definition: rfidapiStructs.h:79
ANTENNA_STOP_TRIGGER::stopTriggerType
ANTENNA_STOP_TRIGGER_TYPE stopTriggerType
Antenna stop trigger of type ANTENNA_STOP_TRIGGER_TYPE.
Definition: rfidapiStructs.h:1305
RFID_GetGPOState
RFID_STATUS WINAPI RFID_GetGPOState(RFID_HANDLE32 readerHandle, UINT32 portNumber, BOOLEAN *pGPOState)
This function gets the current state of the specified GPO port.
Definition: rfidapi.cpp:1956
TAG_STORAGE_SETTINGS::maxTagCount
UINT32 maxTagCount
Maximum Tag Count maintained in the API internal Queue.
Definition: rfidapiStructs.h:1031
ZONE_SEQUENCE::pZoneList
LPZONE_INFO pZoneList
Array for holding the zone information to be used for the operation: Range: 1 - N (N = Max.
Definition: rfidapiStructs.h:1434
SINGULATION_CONTROL::tagPopulation
UINT16 tagPopulation
An estimate of the tag population in view of the RF field of the antenna.
Definition: rfidapiStructs.h:279
START_TRIGGER::type
START_TRIGGER_TYPE type
Start trigger of type START_TRIGGER_TYPE.
Definition: rfidapiStructs.h:751
RFID_API_SUCCESS
@ RFID_API_SUCCESS
Definition: rfidapiErrors.h:27
ZONE_INFO
Contains Antenna Information to be used for Zone Inventory or Access Operations.
Definition: rfidapiStructs.h:1390
TAG_DATA::pTagID
UINT8 * pTagID
Tag ID, for C1G2 this field refers EPC Data.
Definition: rfidapiStructs.h:925
FILTER_ACTION_STATE_UNAWARE
@ FILTER_ACTION_STATE_UNAWARE
State Unaware.
Definition: rfidapiConstants.h:329
UINT32
unsigned int UINT32
Definition: rfidapiTypes.h:30
TRUE
#define TRUE
Definition: rfidapiTypes.h:58
ANTENNA_INFO::pAntennaOpList
OPERATION_QUALIFIER * pAntennaOpList
Definition: rfidapiStructs.h:84
TAG_DATA
Contains Tag related information.
Definition: rfidapiStructs.h:920
RFID_Connect
#define RFID_Connect
Definition: rfidapi.h:51
PRE_FILTER::filterAction
FILTER_ACTION filterAction
Definition: rfidapiStructs.h:1269
STOP_TRIGGER::type
STOP_TRIGGER_TYPE type
Stop trigger of type STOP_TRIGGER_TYPE.
Definition: rfidapiStructs.h:768
STOP_TRIGGER::value
union STOP_TRIGGER::@9 value
value corresponding to the stop trigger type.
ZONE_NAME
@ ZONE_NAME
Fetch the Zone Name where the tag was found.
Definition: rfidapiConstants.h:523
ANTENNA_STOP_TRIGGER_TYPE_N_ATTEMPTS
@ ANTENNA_STOP_TRIGGER_TYPE_N_ATTEMPTS
Stop after a specified number of attempts.
Definition: rfidapiConstants.h:733
TAG_STORAGE_SETTINGS::discardTagsOnInventoryStop
BOOLEAN discardTagsOnInventoryStop
Option to discard the tags which are reported by the reader when inventory/access-sequence operation ...
Definition: rfidapiStructs.h:1046
ZONE_SEQUENCE::zoneListCount
UINT32 zoneListCount
Number of elements in array pAntennaList .
Definition: rfidapiStructs.h:1432
UINT16
unsigned short UINT16
Definition: rfidapiTypes.h:28
RFID_STATUS
RFID_STATUS
Definition: rfidapiErrors.h:26
TAG_STORAGE_SETTINGS::maxTagIDByteCount
UINT32 maxTagIDByteCount
Maximum size of EPC Data in Bytes (Should be WORD aligned, i.e.
Definition: rfidapiStructs.h:1033
RFID_PerformInventory
RFID_STATUS WINAPI RFID_PerformInventory(RFID_HANDLE32 readerHandle, LPPOST_FILTER lpPostFilter, LPANTENNA_INFO lpAntennaInfo, LPTRIGGER_INFO lpTriggerInfo, LPVOID rsvd)
This function performs the inventory operation.
Definition: rfidapi.cpp:4156
TAG_DATA::tagIDLength
UINT32 tagIDLength
Tag ID Length (Number of Bytes).
Definition: rfidapiStructs.h:926
ANTENNA_RF_CONFIG::antennaStopTrigger
ANTENNA_STOP_TRIGGER antennaStopTrigger
Antenna stop trigger configuration.
Definition: rfidapiStructs.h:1325
RFID_PurgeTags
RFID_STATUS WINAPI RFID_PurgeTags(RFID_HANDLE32 readerHandle, LPVOID rsvd)
This function purges all tags present in Dll and Reader queues.
Definition: rfidapi.cpp:3710
PRE_FILTER::pTagPattern
UINT8 * pTagPattern
The bit pattern against which to compare for tag-filtering, as UINT8*.
Definition: rfidapiStructs.h:1264
RFID_SetGPOState
RFID_STATUS WINAPI RFID_SetGPOState(RFID_HANDLE32 readerHandle, UINT32 portNumber, BOOLEAN gpoState)
This function performs the write to a general purpose output port.
Definition: rfidapi.cpp:1901
ANTENNA_STOP_TRIGGER_TYPE_DURATION_SECS
@ ANTENNA_STOP_TRIGGER_TYPE_DURATION_SECS
Stop after a specified Second duration.
Definition: rfidapiConstants.h:735
RFID_AddZone
#define RFID_AddZone
Definition: rfidapi.h:331
C1G2_OPERATION
@ C1G2_OPERATION
Inventory or Access operation(Default)
Definition: rfidapiConstants.h:706
ZONE_CONFIGW::antennaCount
UINT32 antennaCount
Number of elements in array lpAntennaConfiguartions .
Definition: rfidapiStructs.h:1354
STOP_TRIGGER::tagObservation
TRIGGER_WITH_TIMEOUT tagObservation
Upon seeing N tag observations, or timeout if type is STOP_TRIGGER_TYPE_TAG_OBSERVATION_WITH_TIMEOUT.
Definition: rfidapiStructs.h:772
RFID_DeleteZone
RFID_STATUS WINAPI RFID_DeleteZone(RFID_HANDLE32 readerHandle, UINT32 zoneId, LPVOID rsvd)
This function deletes zone based on provided zoneid.
Definition: rfidapi.cpp:4855
ANTENNA_CONFIG
This structure exposes a mechanism to provide the full Antenna configuration including the RF Config,...
Definition: rfidapiStructs.h:1337
PRE_FILTER::memoryBank
MEMORY_BANK memoryBank
Memory Bank on which the filter is to be applied MEMORY_BANK_RESERVED is not allowed for Inventory/Pr...
Definition: rfidapiStructs.h:1262
INVENTORY_STOP_EVENT
@ INVENTORY_STOP_EVENT
Inventory Operation has stopped.
Definition: rfidapiConstants.h:78
MAX_PATH
#define MAX_PATH
Definition: rfidapiTypes.h:43
ZONE_SEQUENCE
Contains Zone sequence Information to be used for Zone Inventory or Access Operations.
Definition: rfidapiStructs.h:1430
TAG_STORAGE_SETTINGS::maxMemoryBankByteCount
UINT32 maxMemoryBankByteCount
Maximum Size of Memory Bank in Bytes (Should be WORD aligned, i.e.
Definition: rfidapiStructs.h:1032
ANTENNA_STOP_TRIGGER::stopTriggerValue
UINT16 stopTriggerValue
Stop Trigger Value.
Definition: rfidapiStructs.h:1306
TRIGGER_INFO::tagReportTrigger
UINT32 tagReportTrigger
Signifies when to get triggered on TAG_READ_EVENT.
Definition: rfidapiStructs.h:863
PRE_FILTER::tagPatternBitCount
UINT16 tagPatternBitCount
Number of bits in pTagPattern to be taken for comparison.
Definition: rfidapiStructs.h:1266
RFID_GetAntennaRfConfig
RFID_STATUS WINAPI RFID_GetAntennaRfConfig(RFID_HANDLE32 readerHandle, UINT16 antennaID, LPANTENNA_RF_CONFIG lpAntennaRfConfig)
This function gets Antenna Configuration at the Reader.
Definition: rfidapi.cpp:1412
RFID_AllocateTag
LPTAG_DATA WINAPI RFID_AllocateTag(RFID_HANDLE32 readerHandle)
This function allocates and initializes the TAG_DATA structure for the application.
Definition: rfidapi.cpp:3438
TAG_STORAGE_SETTINGS
This struct is used to specify the storage settings related to Tags using RFID_SetTagStorageSettings.
Definition: rfidapiStructs.h:1030
TRIGGER_WITH_TIMEOUT::timeoutMilliseconds
UINT32 timeoutMilliseconds
For specifying a fail-safe timeout when this trigger is used as a stop trigger.
Definition: rfidapiStructs.h:725
RFID_NXPStopBrandCheck
RFID_STATUS WINAPI RFID_NXPStopBrandCheck(RFID_HANDLE32 readerHandle)
This function stops the inventory operation.
Definition: rfidapi.cpp:4918
RFID_GetReadTag
RFID_STATUS WINAPI RFID_GetReadTag(RFID_HANDLE32 readerHandle, LPTAG_DATA lpTagData)
This function returns a Tag if available.
Definition: rfidapi.cpp:3651
RFID_StopInventory
RFID_STATUS WINAPI RFID_StopInventory(RFID_HANDLE32 readerHandle)
This function stops the inventory operation.
Definition: rfidapi.cpp:4973
STOP_TRIGGER_TYPE_TAG_OBSERVATION_WITH_TIMEOUT
@ STOP_TRIGGER_TYPE_TAG_OBSERVATION_WITH_TIMEOUT
Stop after a specified number of Tags are read.
Definition: rfidapiConstants.h:283
ANTENNA_INFO::pAntennaList
UINT16 * pAntennaList
Array for holding the Antennas to be used for the operation: Range: 1 - N (N = Max.
Definition: rfidapiStructs.h:80