541 lines
19 KiB
Plaintext
541 lines
19 KiB
Plaintext
/*
|
|
* Copyright (c), NXP Semiconductors Gratkorn / Austria
|
|
*
|
|
* (C)NXP Semiconductors
|
|
* All rights are reserved. Reproduction in whole or in part is
|
|
* prohibited without the written consent of the copyright owner.
|
|
* NXP reserves the right to make changes without notice at any time.
|
|
* NXP makes no warranty, expressed, implied or statutory, including but
|
|
* not limited to any implied warranty of merchantability or fitness for any
|
|
*particular purpose, or that the use will not infringe any third party patent,
|
|
* copyright or trademark. NXP must not be liable for any loss or damage
|
|
* arising from its use.
|
|
*/
|
|
|
|
/** \file
|
|
* Generic ICode EPC/UID Component of Reader Library Framework.
|
|
* $Author$
|
|
* $Revision$ (v07.10.00)
|
|
* $Date$
|
|
*
|
|
* History:
|
|
* CHu: Generated 8. September 2009
|
|
*
|
|
*/
|
|
|
|
#include <ph_Status.h>
|
|
#include <phpalEpcUid.h>
|
|
#include <ph_RefDefs.h>
|
|
|
|
#ifdef NXPBUILD__PHPAL_EPCUID_SW
|
|
#include "Sw/phpalEpcUid_Sw.h"
|
|
#endif /* NXPBUILD__PHPAL_EPCUID_SW */
|
|
|
|
#ifdef NXPBUILD__PHPAL_EPCUID
|
|
|
|
#ifndef NXPRDLIB_REM_GEN_INTFS
|
|
|
|
phStatus_t phpalEpcUid_ActivateCard(
|
|
void * pDataParams,
|
|
uint8_t bTagType,
|
|
uint8_t bNumSlots,
|
|
uint8_t * pMask,
|
|
uint8_t bMaskLength,
|
|
uint8_t bHash,
|
|
uint8_t * pRxBuffer,
|
|
uint8_t * pRxLength,
|
|
uint8_t * pMoreCardsAvailable
|
|
)
|
|
{
|
|
phStatus_t PH_MEMLOC_REM status;
|
|
#ifdef NXPBUILD__PH_LOG
|
|
uint8_t PH_MEMLOC_REM bMaskByteLength;
|
|
#endif
|
|
|
|
PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalEpcUid_ActivateCard");
|
|
/*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(bTagType);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(bNumSlots);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(pMask);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(bHash);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(pRxBuffer);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(pMoreCardsAvailable);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(status);
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bTagType_log, &bTagType);
|
|
PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bNumSlots_log, &bNumSlots);
|
|
#ifdef NXPBUILD__PH_LOG
|
|
bMaskByteLength = bMaskLength >> 3U;
|
|
/* check for incomplete bytes */
|
|
if (0U != (bMaskLength & 0x07U))
|
|
{
|
|
++bMaskByteLength;
|
|
}
|
|
PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pMask_log, pMask, bMaskByteLength);
|
|
#endif
|
|
PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bHash_log, &bHash);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER);
|
|
PH_ASSERT_NULL (pDataParams);
|
|
if (0U != (bMaskLength)) PH_ASSERT_NULL (pMask);
|
|
PH_ASSERT_NULL (pRxBuffer);
|
|
PH_ASSERT_NULL (pRxLength);
|
|
PH_ASSERT_NULL (pMoreCardsAvailable);
|
|
|
|
/* Check data parameters */
|
|
if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_EPCUID)
|
|
{
|
|
status = PH_ADD_COMPCODE_FIXED(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID);
|
|
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE);
|
|
|
|
return status;
|
|
}
|
|
|
|
/* perform operation on active layer */
|
|
switch (PH_GET_COMPID(pDataParams))
|
|
{
|
|
#ifdef NXPBUILD__PHPAL_EPCUID_SW
|
|
case PHPAL_EPCUID_SW_ID:
|
|
status = phpalEpcUid_Sw_ActivateCard(
|
|
(phpalEpcUid_Sw_DataParams_t *)pDataParams,
|
|
bTagType,
|
|
bNumSlots,
|
|
pMask,
|
|
bMaskLength,
|
|
bHash,
|
|
pRxBuffer,
|
|
pRxLength,
|
|
pMoreCardsAvailable);
|
|
break;
|
|
#endif /* NXPBUILD__PHPAL_EPCUID_SW */
|
|
|
|
default:
|
|
status = PH_ADD_COMPCODE_FIXED(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID);
|
|
break;
|
|
}
|
|
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
#ifdef NXPBUILD__PH_LOG
|
|
if ((status & PH_ERR_MASK) == PH_ERR_SUCCESS)
|
|
{
|
|
PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pRxBuffer_log, pRxBuffer, *pRxLength);
|
|
PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, pMoreCardsAvailable_log, pMoreCardsAvailable);
|
|
}
|
|
#endif
|
|
PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE);
|
|
|
|
return status;
|
|
}
|
|
|
|
phStatus_t phpalEpcUid_BeginRound(
|
|
void * pDataParams,
|
|
uint8_t bTagType,
|
|
uint8_t bNumSlots,
|
|
uint8_t * pMask,
|
|
uint8_t bMaskLength,
|
|
uint8_t bHash,
|
|
uint8_t * pRxBuffer,
|
|
uint8_t * pRxLength
|
|
)
|
|
{
|
|
phStatus_t PH_MEMLOC_REM status;
|
|
#ifdef NXPBUILD__PH_LOG
|
|
uint8_t PH_MEMLOC_REM bMaskByteLength;
|
|
#endif
|
|
|
|
PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalEpcUid_BeginRound");
|
|
/*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(bTagType);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(bNumSlots);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(pMask);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(bHash);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(pRxBuffer);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(status);
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bTagType_log, &bTagType);
|
|
PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bNumSlots_log, &bNumSlots);
|
|
#ifdef NXPBUILD__PH_LOG
|
|
bMaskByteLength = bMaskLength >> 3U;
|
|
/* check for incomplete bytes */
|
|
if (0U != (bMaskLength & 0x07U))
|
|
{
|
|
++bMaskByteLength;
|
|
}
|
|
PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pMask_log, pMask, bMaskByteLength);
|
|
#endif
|
|
PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bHash_log, &bHash);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER);
|
|
PH_ASSERT_NULL (pDataParams);
|
|
if (0U != (bMaskLength)) PH_ASSERT_NULL (pMask);
|
|
PH_ASSERT_NULL (pRxBuffer);
|
|
PH_ASSERT_NULL (pRxLength);
|
|
|
|
/* Check data parameters */
|
|
if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_EPCUID)
|
|
{
|
|
status = PH_ADD_COMPCODE_FIXED(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID);
|
|
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE);
|
|
|
|
return status;
|
|
}
|
|
|
|
/* perform operation on active layer */
|
|
switch (PH_GET_COMPID(pDataParams))
|
|
{
|
|
#ifdef NXPBUILD__PHPAL_EPCUID_SW
|
|
case PHPAL_EPCUID_SW_ID:
|
|
status = phpalEpcUid_Sw_BeginRound(
|
|
(phpalEpcUid_Sw_DataParams_t *)pDataParams,
|
|
bTagType,
|
|
bNumSlots,
|
|
pMask,
|
|
bMaskLength,
|
|
bHash,
|
|
pRxBuffer,
|
|
pRxLength);
|
|
break;
|
|
#endif /* NXPBUILD__PHPAL_EPCUID_SW */
|
|
|
|
default:
|
|
status = PH_ADD_COMPCODE_FIXED(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID);
|
|
break;
|
|
}
|
|
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
#ifdef NXPBUILD__PH_LOG
|
|
if ((status & PH_ERR_MASK) == PH_ERR_SUCCESS)
|
|
{
|
|
PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pRxBuffer_log, pRxBuffer, *pRxLength);
|
|
}
|
|
#endif
|
|
PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE);
|
|
|
|
return status;
|
|
}
|
|
|
|
phStatus_t phpalEpcUid_CloseSlot(
|
|
void * pDataParams,
|
|
uint8_t bOption,
|
|
uint8_t* pRxBuffer,
|
|
uint8_t* pRxLength
|
|
)
|
|
{
|
|
phStatus_t PH_MEMLOC_REM status;
|
|
|
|
PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalEpcUid_CloseSlot");
|
|
/*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(bOption);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(pRxBuffer);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(status);
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bOption_log, &bOption);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER);
|
|
PH_ASSERT_NULL (pDataParams);
|
|
PH_ASSERT_NULL (pRxBuffer);
|
|
PH_ASSERT_NULL (pRxLength);
|
|
|
|
/* Check data parameters */
|
|
if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_EPCUID)
|
|
{
|
|
status = PH_ADD_COMPCODE_FIXED(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID);
|
|
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE);
|
|
|
|
return status;
|
|
}
|
|
|
|
/* perform operation on active layer */
|
|
switch (PH_GET_COMPID(pDataParams))
|
|
{
|
|
#ifdef NXPBUILD__PHPAL_EPCUID_SW
|
|
case PHPAL_EPCUID_SW_ID:
|
|
status = phpalEpcUid_Sw_CloseSlot(
|
|
(phpalEpcUid_Sw_DataParams_t *)pDataParams,
|
|
bOption,
|
|
pRxBuffer,
|
|
pRxLength);
|
|
break;
|
|
#endif /* NXPBUILD__PHPAL_EPCUID_SW */
|
|
|
|
default:
|
|
status = PH_ADD_COMPCODE_FIXED(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID);
|
|
break;
|
|
}
|
|
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
#ifdef NXPBUILD__PH_LOG
|
|
if ((status & PH_ERR_MASK) == PH_ERR_SUCCESS)
|
|
{
|
|
PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pRxBuffer_log, pRxBuffer, *pRxLength);
|
|
}
|
|
#endif
|
|
PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE);
|
|
|
|
return status;
|
|
}
|
|
|
|
phStatus_t phpalEpcUid_FixSlot(
|
|
void * pDataParams,
|
|
uint8_t bTagType,
|
|
uint8_t * pMask,
|
|
uint8_t bMaskLength
|
|
)
|
|
{
|
|
phStatus_t PH_MEMLOC_REM status;
|
|
#ifdef NXPBUILD__PH_LOG
|
|
uint8_t PH_MEMLOC_REM bMaskByteLength;
|
|
#endif
|
|
|
|
PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalEpcUid_FixSlot");
|
|
/*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(bTagType);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(pMask);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(status);
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bTagType_log, &bTagType);
|
|
#ifdef NXPBUILD__PH_LOG
|
|
bMaskByteLength = bMaskLength >> 3U;
|
|
/* check for incomplete bytes */
|
|
if (0U != (bMaskLength & 0x07U))
|
|
{
|
|
++bMaskByteLength;
|
|
}
|
|
PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pMask_log, pMask, bMaskByteLength);
|
|
#endif
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER);
|
|
PH_ASSERT_NULL (pDataParams);
|
|
if (0U != (bMaskLength)) PH_ASSERT_NULL (pMask);
|
|
|
|
/* Check data parameters */
|
|
if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_EPCUID)
|
|
{
|
|
status = PH_ADD_COMPCODE_FIXED(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID);
|
|
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE);
|
|
|
|
return status;
|
|
}
|
|
|
|
/* perform operation on active layer */
|
|
switch (PH_GET_COMPID(pDataParams))
|
|
{
|
|
#ifdef NXPBUILD__PHPAL_EPCUID_SW
|
|
case PHPAL_EPCUID_SW_ID:
|
|
status = phpalEpcUid_Sw_FixSlot(
|
|
(phpalEpcUid_Sw_DataParams_t *)pDataParams,
|
|
bTagType,
|
|
pMask,
|
|
bMaskLength);
|
|
break;
|
|
#endif /* NXPBUILD__PHPAL_EPCUID_SW */
|
|
|
|
default:
|
|
status = PH_ADD_COMPCODE_FIXED(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID);
|
|
break;
|
|
}
|
|
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE);
|
|
|
|
return status;
|
|
}
|
|
|
|
phStatus_t phpalEpcUid_Write(
|
|
void * pDataParams,
|
|
uint8_t bTagType,
|
|
uint8_t bBlockNo,
|
|
uint8_t bData
|
|
)
|
|
{
|
|
phStatus_t PH_MEMLOC_REM status;
|
|
|
|
PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalEpcUid_Write");
|
|
/*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(bTagType);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(bBlockNo);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(bData);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(status);
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bTagType_log, &bTagType);
|
|
PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bBlockNo_log, &bBlockNo);
|
|
PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bData_log, &bData);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER);
|
|
PH_ASSERT_NULL (pDataParams);
|
|
|
|
/* Check data parameters */
|
|
if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_EPCUID)
|
|
{
|
|
status = PH_ADD_COMPCODE_FIXED(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID);
|
|
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE);
|
|
|
|
return status;
|
|
}
|
|
|
|
/* perform operation on active layer */
|
|
switch (PH_GET_COMPID(pDataParams))
|
|
{
|
|
#ifdef NXPBUILD__PHPAL_EPCUID_SW
|
|
case PHPAL_EPCUID_SW_ID:
|
|
status = phpalEpcUid_Sw_Write(
|
|
(phpalEpcUid_Sw_DataParams_t *)pDataParams,
|
|
bTagType,
|
|
bBlockNo,
|
|
bData);
|
|
break;
|
|
#endif /* NXPBUILD__PHPAL_EPCUID_SW */
|
|
|
|
default:
|
|
status = PH_ADD_COMPCODE_FIXED(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID);
|
|
break;
|
|
}
|
|
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE);
|
|
|
|
return status;
|
|
}
|
|
|
|
phStatus_t phpalEpcUid_Destroy(
|
|
void * pDataParams,
|
|
uint8_t bTagType,
|
|
uint8_t* pData,
|
|
uint8_t bDataLength,
|
|
uint8_t* pDestroyCode
|
|
)
|
|
{
|
|
phStatus_t PH_MEMLOC_REM status;
|
|
|
|
PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalEpcUid_Destroy");
|
|
/*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(bTagType);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(pData);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDestroyCode);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(status);
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bTagType_log, &bTagType);
|
|
PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pData_log, pData, bDataLength);
|
|
PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pDestroyCode_log, pDestroyCode, 3);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER);
|
|
PH_ASSERT_NULL (pDataParams);
|
|
PH_ASSERT_NULL (pData);
|
|
PH_ASSERT_NULL (pDestroyCode);
|
|
|
|
/* Check data parameters */
|
|
if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_EPCUID)
|
|
{
|
|
status = PH_ADD_COMPCODE_FIXED(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID);
|
|
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE);
|
|
|
|
return status;
|
|
}
|
|
|
|
/* perform operation on active layer */
|
|
switch (PH_GET_COMPID(pDataParams))
|
|
{
|
|
#ifdef NXPBUILD__PHPAL_EPCUID_SW
|
|
case PHPAL_EPCUID_SW_ID:
|
|
status = phpalEpcUid_Sw_Destroy(
|
|
(phpalEpcUid_Sw_DataParams_t *)pDataParams,
|
|
bTagType,
|
|
pData,
|
|
bDataLength,
|
|
pDestroyCode);
|
|
break;
|
|
#endif /* NXPBUILD__PHPAL_EPCUID_SW */
|
|
|
|
default:
|
|
status = PH_ADD_COMPCODE_FIXED(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID);
|
|
break;
|
|
}
|
|
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE);
|
|
|
|
return status;
|
|
}
|
|
|
|
phStatus_t phpalEpcUid_GetSerialNo(
|
|
void * pDataParams,
|
|
uint8_t* pRxBuffer,
|
|
uint8_t* pRxLength
|
|
)
|
|
{
|
|
phStatus_t PH_MEMLOC_REM status;
|
|
|
|
PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalEpcUid_GetSerialNo");
|
|
/*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(pRxBuffer);
|
|
PH_LOG_HELPER_ALLOCATE_PARAMNAME(status);
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER);
|
|
PH_ASSERT_NULL (pDataParams);
|
|
PH_ASSERT_NULL (pRxBuffer);
|
|
PH_ASSERT_NULL (pRxLength);
|
|
|
|
/* Check data parameters */
|
|
if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_EPCUID)
|
|
{
|
|
status = PH_ADD_COMPCODE_FIXED(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID);
|
|
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE);
|
|
|
|
return status;
|
|
}
|
|
|
|
/* perform operation on active layer */
|
|
switch (PH_GET_COMPID(pDataParams))
|
|
{
|
|
#ifdef NXPBUILD__PHPAL_EPCUID_SW
|
|
case PHPAL_EPCUID_SW_ID:
|
|
status = phpalEpcUid_Sw_GetSerialNo(
|
|
(phpalEpcUid_Sw_DataParams_t *)pDataParams,
|
|
pRxBuffer,
|
|
pRxLength);
|
|
break;
|
|
#endif /* NXPBUILD__PHPAL_EPCUID_SW */
|
|
|
|
default:
|
|
status = PH_ADD_COMPCODE_FIXED(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID);
|
|
break;
|
|
}
|
|
|
|
PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName);
|
|
#ifdef NXPBUILD__PH_LOG
|
|
if ((status & PH_ERR_MASK) == PH_ERR_SUCCESS)
|
|
{
|
|
PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pRxBuffer_log, pRxBuffer, *pRxLength);
|
|
}
|
|
#endif
|
|
PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status);
|
|
PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE);
|
|
|
|
return status;
|
|
}
|
|
|
|
#endif /* NXPRDLIB_REM_GEN_INTFS */
|
|
|
|
#endif /* NXPBUILD__PHPAL_EPCUID */
|