These Components implement the ICODE ILT support. More...

Modules | |
| Component : Software | |
Functions | |
| phStatus_t | phalI18000p3m3_Ack (void *pDataParams, uint8_t **ppRxBuffer, uint16_t *pRxBitLength) |
| Acknowledge a single tag. More... | |
| phStatus_t | phalI18000p3m3_ReqRn (void *pDataParams, uint8_t bOption, uint8_t **ppRxBuffer) |
| Instruct a tag to loadmodulate a new RN16 or Handle. More... | |
| phStatus_t | phalI18000p3m3_Read (void *pDataParams, uint8_t bMemBank, uint8_t *pWordPtr, uint8_t bWordPtrLength, uint8_t bWordCount, uint8_t **ppRxBuffer, uint16_t *pRxBitLength) |
| Read part or all of a tag Reserved, UII, TID, or User memory. More... | |
| phStatus_t | phalI18000p3m3_Write (void *pDataParams, uint8_t bOption, uint8_t bMemBank, uint8_t *pWordPtr, uint8_t bWordPtrLength, uint8_t *pData) |
| Write a word in a tag Reserved, UII, TID, or User memory. More... | |
| phStatus_t | phalI18000p3m3_Kill (void *pDataParams, uint8_t bOption, uint8_t *pPassword, uint8_t bRecom) |
| Render a tag killed or recommissioned as appropriate. More... | |
| phStatus_t | phalI18000p3m3_Lock (void *pDataParams, uint8_t *pMask, uint8_t *pAction) |
| Lock or Permalock individual passwords and memory banks. More... | |
| phStatus_t | phalI18000p3m3_Access (void *pDataParams, uint8_t bOption, uint8_t *pPassword) |
| Cause a tag with a non-zero-valued access password to transition from the open to the secured state. More... | |
| phStatus_t | phalI18000p3m3_BlockWrite (void *pDataParams, uint8_t bMemBank, uint8_t *pWordPtr, uint8_t bWordPtrLength, uint8_t bWordCount, uint8_t *pData) |
| Write multiple words in a tag Reserved, UII, TID, or User memory. More... | |
| phStatus_t | phalI18000p3m3_BlockErase (void *pDataParams, uint8_t bMemBank, uint8_t *pWordPtr, uint8_t bWordPtrLength, uint8_t bWordCount) |
| Erase multiple words in a tag Reserved, UII, TID, or User memory. More... | |
| phStatus_t | phalI18000p3m3_BlockPermaLock (void *pDataParams, uint8_t bRFU, uint8_t bReadLock, uint8_t bMemBank, uint8_t *pBlockPtr, uint8_t bBlockPtrLength, uint8_t bBlockRange, uint8_t *pMask, uint8_t **ppRxBuffer, uint16_t *pRxBitLength) |
| Erase multiple words in a tag Reserved, UII, TID, or User memory. More... | |
| phStatus_t | phalI18000p3m3_SetHandle (void *pDataParams, uint8_t *pHandle) |
| Set the Handle into the internal data structure. More... | |
ReqRn Options | |
| #define | PHAL_I18000P3M3_REQRN_USE_CRC 0x00U |
| Use StoredCrc for ReqRn command. | |
| #define | PHAL_I18000P3M3_REQRN_USE_HANDLE 0x01U |
| Use given Handle for ReqRn command. | |
Access Command Options | |
| #define | PHAL_I18000P3M3_AC_NO_COVER_CODING 0x00U |
| Use cover coding to diversify passwords. | |
| #define | PHAL_I18000P3M3_AC_USE_COVER_CODING 0x01U |
| Do not use cover coding, send plain passwords. | |
These Components implement the ICODE ILT support.
| phStatus_t phalI18000p3m3_Ack | ( | void * | pDataParams, |
| uint8_t ** | ppRxBuffer, | ||
| uint16_t * | pRxBitLength | ||
| ) |
Acknowledge a single tag.
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [out] | ppRxBuffer | [Out] Pointer to Tag data and, if required, PacketCRC. |
| [out] | pRxBitLength | [Out] Tag response length in bits. |
| phStatus_t phalI18000p3m3_ReqRn | ( | void * | pDataParams, |
| uint8_t | bOption, | ||
| uint8_t ** | ppRxBuffer | ||
| ) |
Instruct a tag to loadmodulate a new RN16 or Handle.
bOption is :
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [in] | bOption | [In] Option parameter. |
| [out] | ppRxBuffer | [Out] New RN16 or handle. |
| phStatus_t phalI18000p3m3_Read | ( | void * | pDataParams, |
| uint8_t | bMemBank, | ||
| uint8_t * | pWordPtr, | ||
| uint8_t | bWordPtrLength, | ||
| uint8_t | bWordCount, | ||
| uint8_t ** | ppRxBuffer, | ||
| uint16_t * | pRxBitLength | ||
| ) |
Read part or all of a tag Reserved, UII, TID, or User memory.
bWordPtrLength depends on the TAG memory size. For TAGs with 8 bits memory, bWordPtrLength should be always '0'. If we make 'bWordPtrLength' =1 (16bits) or higher for 8 bits memory TAGs then this function returns MEMORY_OVERRUN error. This is an expected behaviour.
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [in] | bMemBank | [In] Memory bank where the read shall be performed. |
| [in] | pWordPtr | [In] Starting read address. |
| [in] | bWordPtrLength | [In] Length of the pointer in bytes; 0 -> 1byte,1->2bytes,2->3bytes or 3->4bytes. |
| [in] | bWordCount | [In] Number of bytes to read. |
| [out] | ppRxBuffer | [Out] Header and requested memory words. |
| [out] | pRxBitLength | [Out] Number of received bits. |
| phStatus_t phalI18000p3m3_Write | ( | void * | pDataParams, |
| uint8_t | bOption, | ||
| uint8_t | bMemBank, | ||
| uint8_t * | pWordPtr, | ||
| uint8_t | bWordPtrLength, | ||
| uint8_t * | pData | ||
| ) |
Write a word in a tag Reserved, UII, TID, or User memory.
bWordPtrLength depends on the TAG memory size. For TAGs with 8 bits memory, bWordPtrLength should be always '0'. If we make 'bWordPtrLength' =1 (16bits) or higher for 8 bits memory TAGs then this function returns MEMORY_OVERRUN error. This is an expected behaviour.
bOption can be one of:
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [in] | bOption | [In] Option parameter. |
| [in] | bMemBank | [In] Memory bank where the write shall be performed. |
| [in] | pWordPtr | [In] Starting write address. |
| [in] | bWordPtrLength | [In] Length of the pointer in bytes; 0 -> 1byte,1->2bytes,2->3bytes or 3->4bytes. |
| [in] | pData | [In] Word to write; uint8_t[2]. |
| phStatus_t phalI18000p3m3_Kill | ( | void * | pDataParams, |
| uint8_t | bOption, | ||
| uint8_t * | pPassword, | ||
| uint8_t | bRecom | ||
| ) |
Render a tag killed or recommissioned as appropriate.
bOption can be one of:
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [in] | bOption | [In] Option parameter. |
| [in] | pPassword | [In] Full kill password; uint8_t[4] |
| [in] | bRecom | [In] Recommissioning bits. |
| phStatus_t phalI18000p3m3_Lock | ( | void * | pDataParams, |
| uint8_t * | pMask, | ||
| uint8_t * | pAction | ||
| ) |
Lock or Permalock individual passwords and memory banks.
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [in] | pMask | [In] 10bit Action Field Mask; uint8_t[2]. |
| [in] | pAction | [In] 10bit Action Field; uint8_t[2]. |
| phStatus_t phalI18000p3m3_Access | ( | void * | pDataParams, |
| uint8_t | bOption, | ||
| uint8_t * | pPassword | ||
| ) |
Cause a tag with a non-zero-valued access password to transition from the open to the secured state.
bOption can be one of:
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [in] | bOption | [In] Option parameter. |
| [in] | pPassword | [In] Full access password; uint8_t[4] |
| phStatus_t phalI18000p3m3_BlockWrite | ( | void * | pDataParams, |
| uint8_t | bMemBank, | ||
| uint8_t * | pWordPtr, | ||
| uint8_t | bWordPtrLength, | ||
| uint8_t | bWordCount, | ||
| uint8_t * | pData | ||
| ) |
Write multiple words in a tag Reserved, UII, TID, or User memory.
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [in] | bMemBank | [In] Memory bank where the write shall be performed. |
| [in] | pWordPtr | [In] Starting write adress. |
| [in] | bWordPtrLength | [In] Length of the pointer in bytes; 1,2,3 or 4. |
| [in] | bWordCount | [In] Number of blocks to write. |
| [in] | pData | [In] Words to write; uint8_t[2U * bWordCount]. |
| phStatus_t phalI18000p3m3_BlockErase | ( | void * | pDataParams, |
| uint8_t | bMemBank, | ||
| uint8_t * | pWordPtr, | ||
| uint8_t | bWordPtrLength, | ||
| uint8_t | bWordCount | ||
| ) |
Erase multiple words in a tag Reserved, UII, TID, or User memory.
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [in] | bMemBank | [In] Memory bank where the erase shall be performed. |
| [in] | pWordPtr | [In] Starting erase adress. |
| [in] | bWordPtrLength | [In] Length of the pointer in bytes; 1,2,3 or 4. |
| [in] | bWordCount | [In] Number of blocks to erase. |
| phStatus_t phalI18000p3m3_BlockPermaLock | ( | void * | pDataParams, |
| uint8_t | bRFU, | ||
| uint8_t | bReadLock, | ||
| uint8_t | bMemBank, | ||
| uint8_t * | pBlockPtr, | ||
| uint8_t | bBlockPtrLength, | ||
| uint8_t | bBlockRange, | ||
| uint8_t * | pMask, | ||
| uint8_t ** | ppRxBuffer, | ||
| uint16_t * | pRxBitLength | ||
| ) |
Erase multiple words in a tag Reserved, UII, TID, or User memory.
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [in] | bRFU | [In] RFU, shall be set to 0. |
| [in] | bReadLock | [In] Whether the permalock states shall be retrieved (0) or the blocks shall be permalocked (1). |
| [in] | bMemBank | [In] Memory bank where the erase shall be performed. |
| [in] | pBlockPtr | [In] Starting erase adress. |
| [in] | bBlockPtrLength | [In] Length of the pointer in bytes; 1,2,3 or 4. |
| [in] | bBlockRange | [In] Mask range, specified in units of 16 blocks. |
| [in] | pMask | [In] Specifies which memory blocks a tag permalocks; uint8_t[2U * bBlockRange] Ignored if bReadLock is 0. |
| [out] | ppRxBuffer | [Out] Header and Permalock bits if bReadLock is 0 or NULL otherwise. |
| [out] | pRxBitLength | [Out] Number of received bits if bReadLock is 0. |
| phStatus_t phalI18000p3m3_SetHandle | ( | void * | pDataParams, |
| uint8_t * | pHandle | ||
| ) |
Set the Handle into the internal data structure.
| PH_ERR_SUCCESS | Operation successful. |
| Other | Depending on implementation and underlaying component. |
| [in] | pDataParams | [In] Pointer to this layer's parameter structure. |
| [in] | pHandle | [In] Handle to the Card. |