RFID_STATUS WINAPI RFID_GetRFMode ( RFID_HANDLE32  readerHandle,
UINT16  antennaID,
UINT32 *  pRfModeTableIndex,
UINT32 *  pTari 
)

This function gets the current RFMode from the Reader.

Parameters:
[in] readerHandle 
Handle to the RFID device.
[in] antennaID 
Antenna ID; cannot be zero.
[out] pRfModeTableIndex 
Pointer to RfModeTableIndex which is an index to the RF_MODE_TABLE_ENTRY in UHF_RF_MODE_TABLE present in RF_MODES of READER_CAPS.
[out] pTari 
Pointer to current Tari value.
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 Invalid handle is provided
  • RFID_API_PARAM_ERROR Invalid parameter given
  • RFID_API_PARAM_OUT_OF_RANGE Parameter is out of Range
  • RFID_CONFIG_GET_FAILED Failed to get the configuration
Remarks:
See also:
RFID_SetRFMode
Remarks:
Example:
RFID_HANDLE32 readerHandle;
RFID_STATUS rfidStatus = RFID_API_SUCCESS;
READER_CAPS readerCaps;
UINT16 antennaId = 4;
UINT32 rfModeTableIndex, tari, minTari, maxTari;

if(RFID_API_SUCCESS == RFID_Connect(&readerHandle, TEXT("169.254.2.1"), 0, 0, NULL))
{
        // Get the Reader Capability
        rfidStatus = RFID_GetReaderCaps(readerHandle, &readerCaps);                     

        // Get RF Mode
        rfidStatus = RFID_GetRFMode(readerHandle, antennaId, &rfModeTableIndex, &tari);
        
        RF_MODES* pTable = &readerCaps.rfModes;
        if (pTable->numTables > 0)
        {
                for(int nIndex = 0; nIndex < pTable->pUHFTables[0].numEntries; nIndex++)
                {
                        if(rfModeTableIndex == nIndex)
                                printf("\n ***********Current RF Mode Table*********");
                        else
                                printf("\n ******************************************");

                        printf("\n RF Mode Table %d: Mode Identifier %d", nIndex, pTable->pUHFTables[0].pTablesEntries[nIndex].modeIdentifer);
                        printf("\n BDR Value: %d", pTable->pUHFTables[0].pTablesEntries[nIndex].bdrValue);
                        printf("\n DR: %d", pTable->pUHFTables[0].pTablesEntries[nIndex].divideRatio);
                        printf("\n Modulation: %d", pTable->pUHFTables[0].pTablesEntries[nIndex].modulation);
                        printf("\n PIE Value: %d", pTable->pUHFTables[0].pTablesEntries[nIndex].pieValue);
                        printf("\n Min TARI: %d", pTable->pUHFTables[0].pTablesEntries[nIndex].minTariValue);
                        printf("\n Max TARI: %d", pTable->pUHFTables[0].pTablesEntries[nIndex].maxTariValue);
                }
                if (pTable->pUHFTables[0].numEntries > 0)
                {
                        rfModeTableIndex = pTable->pUHFTables[0].numEntries - 1;
                        minTari = pTable->pUHFTables[0].pTablesEntries[0].minTariValue;
                        maxTari = pTable->pUHFTables[0].pTablesEntries[0].maxTariValue;
                        if (minTari == maxTari)
                        {
                                tari = 0;
                        }
                        else
                                tari = (UINT32)((minTari + maxTari) / 2);
                }                       
                //Set RF Mode
                rfidStatus = RFID_SetRFMode(readerHandle, antennaId, rfModeTableIndex, tari);
        }

        rfidStatus = RFID_Disconnect(readerHandle);
}


Generated on Fri Mar 4 02:25:29 2016 for RFIDAPI3 1.1 C API Documentation by  doxygen 1.5.6