uFCoder 2.62
Loading...
Searching...
No Matches
Anti-collision support i.e. multi card reader mode

Functions

UFR_STATUS DL_API DeslectCardM (UFR_HANDLE hndUFR)
 Multi reader support. If the reader is in a “anti-collision” mode of operation, this function deselects currently selected card. Otherwise function returns ANTI_COLLISION_DISABLED status code.
 
UFR_STATUS DL_API DisableAntiCollisionM (UFR_HANDLE hndUFR)
 Multi reader support. Exits from “anti-collision” mode of operation i.e. put the reader in to “single card” mode of operation.
 
UFR_STATUS DL_API EnableAntiCollisionM (UFR_HANDLE hndUFR)
 Multi reader support. This function puts the reader in an “anti-collision” mode of operation.
 
UFR_STATUS DL_API EnumCardsM (UFR_HANDLE hndUFR, VAR uint8_t *lpucCardsNumber, OUT uint8_t *lpucUidListSize)
 Multi reader support. If the reader is in an “anti-collision” mode of operation, this function enumerates cards which are found in the reader field. Otherwise the function returns ANTI_COLLISION_DISABLED status code. All the calls to the ListCards(), SelectCard() and DeselectCard() work with UIDs from the actual UID list of the enumerated cards, which is obtained by the last call of this function.
 
UFR_STATUS DL_API GetAntiCollisionStatusM (UFR_HANDLE hndUFR, VAR int8_t *lpcIsAntiCollEnabled, VAR int8_t *lpcIsAnyCardSelected)
 Multi reader support. Calling this function you can get current anti-collision status of the reader.
 
UFR_STATUS DL_API ListCardsM (UFR_HANDLE hndUFR, OUT uint8_t *aucUidList, uint8_t ucUidListSize)
 Multi reader support. Before calling this function you have to call EnumCards() first. For each UID of the cards detected in the reader field, there are 11 “UID record bytes” allocated in the list. First of those 11 bytes allocated designate actual UID length immediately followed by the exactly 10 bytes of UID (which is maximum hypothetical UID size). E.g, if the actual UID length is 4 bytes, you should ignore last 6 bytes of the UID record.
 
UFR_STATUS DL_API SelectCardM (UFR_HANDLE hndUFR, IN const uint8_t *aucUid, uint8_t ucUidSize, OUT uint8_t *lpucSelctedCardType)
 Multi reader support. Selects one of the cards which UID is on the actual UID list of the enumerated cards. If there is any of the cards previously selected calling this function you will get an CARD_ALREADY_SELECTED status code and, in such a case, you should call DeslectCard() function prior using SelectCard(). If UID list of the enumerated cards is empty, you will get an NO_TAGS_ENUMERRATED status code.
 

Detailed Description

Function Documentation

◆ DeslectCardM()

UFR_STATUS DL_API DeslectCardM ( UFR_HANDLE hndUFR)

Multi reader support. If the reader is in a “anti-collision” mode of operation, this function deselects currently selected card. Otherwise function returns ANTI_COLLISION_DISABLED status code.

Parameters
hndUFRhandle of the uFR device
Returns
Operation status

◆ DisableAntiCollisionM()

UFR_STATUS DL_API DisableAntiCollisionM ( UFR_HANDLE hndUFR)

Multi reader support. Exits from “anti-collision” mode of operation i.e. put the reader in to “single card” mode of operation.

Parameters
hndUFRhandle of the uFR device
Returns
Operation status

◆ EnableAntiCollisionM()

UFR_STATUS DL_API EnableAntiCollisionM ( UFR_HANDLE hndUFR)

Multi reader support. This function puts the reader in an “anti-collision” mode of operation.

Parameters
hndUFRhandle of the uFR device
Returns
Operation status

◆ EnumCardsM()

UFR_STATUS DL_API EnumCardsM ( UFR_HANDLE hndUFR,
VAR uint8_t * lpucCardsNumber,
OUT uint8_t * lpucUidListSize )

Multi reader support. If the reader is in an “anti-collision” mode of operation, this function enumerates cards which are found in the reader field. Otherwise the function returns ANTI_COLLISION_DISABLED status code. All the calls to the ListCards(), SelectCard() and DeselectCard() work with UIDs from the actual UID list of the enumerated cards, which is obtained by the last call of this function.

Parameters
hndUFRhandle of the uFR device
lpucCardsNumberIf the function is successfully executed, the memory location on which this pointer points to, will contain a number of the enumerated cards.
lpucUidListSizeIf the function is successfully executed, the memory location on which this pointer points to, will contain a UID list of the enumerated cards size in bytes.
Returns
Operation status

◆ GetAntiCollisionStatusM()

UFR_STATUS DL_API GetAntiCollisionStatusM ( UFR_HANDLE hndUFR,
VAR int8_t * lpcIsAntiCollEnabled,
VAR int8_t * lpcIsAnyCardSelected )

Multi reader support. Calling this function you can get current anti-collision status of the reader.

Parameters
hndUFRhandle of the uFR device
lpcIsAntiCollEnabledpointer to byte which will contain 1 if reader is in a “anti-collision” mode of operation, 0 otherwise
lpcIsAnyCardSelectedpointer to byte which will contain 1 if reader is in a “anti-collision” mode of operation and there is selected card, 0 otherwise
Returns
Operation status

◆ ListCardsM()

UFR_STATUS DL_API ListCardsM ( UFR_HANDLE hndUFR,
OUT uint8_t * aucUidList,
uint8_t ucUidListSize )

Multi reader support. Before calling this function you have to call EnumCards() first. For each UID of the cards detected in the reader field, there are 11 “UID record bytes” allocated in the list. First of those 11 bytes allocated designate actual UID length immediately followed by the exactly 10 bytes of UID (which is maximum hypothetical UID size). E.g, if the actual UID length is 4 bytes, you should ignore last 6 bytes of the UID record.

Parameters
hndUFRhandle of the uFR device
aucUidListPointer to the memory alocated for the UID list. Before calling this function, you should alocate atleast *lpucUidListSize bytes which is returned by the prior call to EnumCards() function.
ucUidListSizeSize (in bytes) of the array alocated on the memory location aucUidList points to.
Returns
Operation status

◆ SelectCardM()

UFR_STATUS DL_API SelectCardM ( UFR_HANDLE hndUFR,
IN const uint8_t * aucUid,
uint8_t ucUidSize,
OUT uint8_t * lpucSelctedCardType )

Multi reader support. Selects one of the cards which UID is on the actual UID list of the enumerated cards. If there is any of the cards previously selected calling this function you will get an CARD_ALREADY_SELECTED status code and, in such a case, you should call DeslectCard() function prior using SelectCard(). If UID list of the enumerated cards is empty, you will get an NO_TAGS_ENUMERRATED status code.

Parameters
hndUFRhandle of the uFR device
aucUidpointer to the byte array containing UID of the card which is to be selected
ucUidSizeactual UID size
lpucSelctedCardTypepointer to byte which will contain DlogicCardType constant of the selected card, in case of successful execution of this function
Returns
Operation status