1.3.5.2 HAL API

The function pointers in the HAL API are defined with the same structure as the functions of the related services. The functions in file prime_hal_wrapper.h, called by the PRIME Library to access external resources throught the HAL API, are an exact copy of the functions of the related services.

The following table lists all functions pointers in the HAL API together with the related function in each service. Refer to the documentation of the respective services for more information.

Table 1-4. HAL API functions
HAL API function pointerPRIME HAL Wrapper functionService functionService
typedef void (*HAL_RESTART_SYSTEM)(SRV_RESET_HANDLER_RESET_CAUSE resetType)void PRIME_HAL_WRP_RestartSystem(SRV_RESET_HANDLER_RESET_CAUSE resetType)void SRV_RESET_HANDLER_RestartSystem(SRV_RESET_HANDLER_RESET_CAUSE resetType)PRIME Reset Handler
typedef uint32_t (*HAL_PCRC_CALCULATE)(uint8_t *pData, size_t length, PCRC_HEADER_TYPE hdrType, PCRC_CRC_TYPE crcType, uint32_t initValue)

uint32_t PRIME_HAL_WRAPPER_PcrcCalculate(uint8_t *pData, size_t length, PCRC_HEADER_TYPE hdrType, PCRC_CRC_TYPE crcType, uint32_t initValue)

uint32_t SRV_PCRC_GetValue(uint8_t *pData, size_t length, PCRC_HEADER_TYPE hdrType, PCRC_CRC_TYPE crcType, uint32_t initValue)Smart Energy PCRC
typedef void (*HAL_PCRC_CONFIGURE_SNA)(uint8_t *sna)void PRIME_HAL_WRP_PcrcConfigureSNA(uint8_t *sna)void SRV_PCRC_ConfigureSNA (uint8_t* sna)Smart Energy PCRC

typedef bool (*HAL_GET_CONFIG_INFO)(SRV_STORAGE_TYPE infoType, uint8_t size, void *pData)

bool PRIME_HAL_WRP_GetConfigInfo(SRV_STORAGE_TYPE infoType, uint8_t size, void* pData)

bool SRV_STORAGE_GetConfigInfo(SRV_STORAGE_TYPE infoType, uint8_t size, void *pData)PRIME Non-volatile Storage

typedef bool (*HAL_SET_CONFIG_INFO)(SRV_STORAGE_TYPE infoType, uint8_t size, void *pData)

bool PRIME_HAL_WRP_GetConfigInfo(SRV_STORAGE_TYPE infoType, uint8_t size, void* pData)

bool SRV_STORAGE_GetConfigInfo(SRV_STORAGE_TYPE infoType, uint8_t size, void *pData)PRIME Non-volatile Storage
typedef SRV_USI_HANDLE (*HAL_USI_OPEN)(const SYS_MODULE_INDEX index)SRV_USI_HANDLE PRIME_HAL_WRP_UsiOpen(const SYS_MODULE_INDEX index)SRV_USI_HANDLE SRV_USI_Open( const SYS_MODULE_INDEX index );Smart Energy USI

typedef void (*HAL_USI_SET_CALLBACK)(SRV_USI_HANDLE handle, SRV_USI_PROTOCOL_ID protocol, SRV_USI_CALLBACK callback)

void PRIME_HAL_WRP_UsiSetCallback(SRV_USI_HANDLE handle, SRV_USI_PROTOCOL_ID protocol, SRV_USI_CALLBACK callback)

void SRV_USI_CallbackRegister(SRV_USI_HANDLE handle SRV_USI_PROTOCOL_ID protocol, SRV_USI_CALLBACK callback);

Smart Energy USI

typedef size_t (*HAL_USI_SEND)(SRV_USI_HANDLE handle, SRV_USI_PROTOCOL_ID protocol, uint8_t *data, size_t length)

void PRIME_HAL_WRP_UsiSend(SRV_USI_HANDLE handle, SRV_USI_PROTOCOL_ID protocol, uint8_t *data, size_t length)

size_t SRV_USI_Send_Message( SRV_USI_HANDLE handle,SRV_USI_PROTOCOL_ID protocol, uint8_t *data, size_t length )

Smart Energy USI

typedef void (*HAL_DEBUG_REPORT)(SRV_LOG_REPORT_LEVEL logLevel, SRV_LOG_REPORT_CODE code, const char *info, ...)

void PRIME_HAL_WRP_DebugReport(SRV_LOG_REPORT_LEVEL logLevel, SRV_LOG_REPORT_CODE code, const char *info, ...)

void SRV_LOG_REPORT_Message_With_Code(SRV_LOG_REPORT_LEVEL logLevel, SRV_LOG_REPORT_CODE code, const char *info, ...)

Smart Energy Log Report
typedef void (*HAL_PIB_GET_REQUEST)(uint16_t pibAttrib)void PRIME_HAL_WRP_PibGetRequest(uint16_t pibAttrib)void SRV_USER_PIB_GetRequest(uint16_t pibAttrib)PRIME User PIBs
typedef void (*HAL_PIB_GET_REQUEST_SET_CALLBACK)(SRV_USER_PIB_GET_REQUEST_CALLBACK callback)

void PRIME_HAL_WRP_PibGetRequestSetCallback(SRV_USER_PIB_GET_REQUEST_CALLBACK callback)

void SRV_USER_PIB_GetRequestCbRegister(SRV_USER_PIB_GET_REQUEST_CALLBACK callback)PRIME User PIBs
typedef void (*HAL_PIB_SET_REQUEST)(uint16_t pibAttrib, void *pibValue, uint8_t pibSize)void PRIME_HAL_WRP_PibSetRequest(uint16_t pibAttrib, void *pibValue, uint8_t pibSize)void SRV_USER_PIB_SetRequest(uint16_t pibAttrib, void *pibValue, uint8_t pibSize)PRIME User PIBs
typedef void (*HAL_PIB_SET_REQUEST_SET_CALLBACK)(SRV_USER_PIB_SET_REQUEST_CALLBACK callback)void PRIME_HAL_WRP_PibSetRequestSetCallback(SRV_USER_PIB_SET_REQUEST_CALLBACK callback)void SRV_USER_PIB_SetRequestCbRegister(SRV_USER_PIB_SET_REQUEST_CALLBACK callback)PRIME User PIBs
typedef uint32_t (*HAL_RNG_GET)(void)uint32_t PRIME_HAL_WRP_RngGet(void)uint32_t SRV_RANDOM_Get32bits(void)Smart Energy Random

typedef int32_t (*HAL_AES_CMAC_DIRECT)(uint8_t *input, uint32_t inputLen, uint8_t *outputMac, uint8_t *key)

int32_t PRIME_HAL_WRP_AesCmacDirect(uint8_t *input, uint32_t inputLen, uint8_t *outputMac, uint8_t *key)

int32_t CIPHER_Wrapper_AesCmacDirect(uint8_t *input, uint32_t inputLen, uint8_t *outputMac, uint8_t *key)

Smart Energy Security
typedef int32_t (*HAL_AES_CCM_SET_KEY)(uint8_t *key)int32_t PRIME_HAL_WRP_AesCcmSetkey(uint8_t *key)int32_t CIPHER_Wrapper_AesCcmSetkey(uint8_t *key)Smart Energy Security

typedef int32_t (*HAL_AES_CCM_ENCRYPT_TAG)(uint8_t *data, uint32_t dataLen, uint8_t *iv, uint32_t ivLen, uint8_t *aad, uint32_t aadLen, uint8_t *tag, uint32_t tagLen)

int32_t PRIME_HAL_WRP_AesCcmEncryptAndTag(uint8_t *data, uint32_t dataLen, uint8_t *iv, uint32_t ivLen, uint8_t *aad, uint32_t aadLen, uint8_t *tag, uint32_t tagLen)

int32_t CIPHER_Wrapper_AesCcmEncryptAndTag(uint8_t *data, uint32_t dataLen, uint8_t *iv, uint32_t ivLen, uint8_t *aad, uint32_t aadLen, uint8_t *tag, uint32_t tagLen)

Smart Energy Security
typedef int32_t (*HAL_AES_CCM_AUTH_DECRYPT)(uint8_t *data, uint32_t dataLen, uint8_t *iv, uint32_t ivLen, uint8_t *aad, uint32_t aadLen, uint8_t *tag, uint32_t tagLen)

int32_t PRIME_HAL_WRP_AesCcmAuthDecrypt(uint8_t *data, uint32_t dataLen, uint8_t *iv, uint32_t ivLen, uint8_t *aad, uint32_t aadLen, uint8_t *tag, uint32_t tagLen)

int32_t CIPHER_Wrapper_AesCcmAuthDecrypt(uint8_t *data, uint32_t dataLen, uint8_t *iv, uint32_t ivLen, uint8_t *aad, uint32_t aadLen, uint8_t *tag, uint32_t tagLen)

Smart Energy Security

typedef void (*HAL_AES_WRAP_KEY)(uint8_t *key, uint32_t keyLen, uint8_t *in, uint32_t inLen, uint8_t *out)

void PRIME_HAL_WRP_AesWrapKey(uint8_t *key, uint32_t keyLen, uint8_t *in, uint32_t inLen, uint8_t *out)

void AES_Wrapper_WrapKey(uint8_t *key, uint32_t keyLen, uint8_t *in, uint32_t inLen, uint8_t *out)

Smart Energy Security

typedef bool (*HAL_AES_UNWRAP_KEY)(uint8_t *key, uint32_t keyLen, uint8_t *in, uint32_t inLen, uint8_t *out)

bool PRIME_HAL_WRP_AesUnwrapKey(uint8_t *key, uint32_t keyLen, uint8_t *in, uint32_t inLen, uint8_t *out)

bool AES_Wrapper_UnwrapKey(uint8_t *key, uint32_t keyLen, uint8_t *in, uint32_t inLen, uint8_t *out)

Smart Energy Security

typedef void (*HAL_QUEUE_INIT)(SRV_QUEUE *queue, uint16_t capacity, SRV_QUEUE_TYPE type)

void PRIME_HAL_WRP_QueueInit(SRV_QUEUE *queue, uint16_t capacity, SRV_QUEUE_TYPE type)

void SRV_QUEUE_Init(SRV_QUEUE *queue, uint16_t capacity, SRV_QUEUE_TYPE type)Smart Energy Queue
typedef void (*HAL_QUEUE_APPEND)(SRV_QUEUE *queue, SRV_QUEUE_ELEMENT *element)void PRIME_HAL_WRP_QueueAppend(SRV_QUEUE *queue, SRV_QUEUE_ELEMENT *element)void SRV_QUEUE_Append(SRV_QUEUE *queue, SRV_QUEUE_ELEMENT *element)Smart Energy Queue

typedef void (*HAL_QUEUE_APPEND_WITH_PRIORITY)(SRV_QUEUE *queue, uint32_t priority, SRV_QUEUE_ELEMENT *element)

void PRIME_HAL_WRP_QueueAppend_With_Priority(SRV_QUEUE *queue, uint32_t priority, SRV_QUEUE_ELEMENT *element)

void SRV_QUEUE_Append_With_Priority(SRV_QUEUE *queue, uint32_t priority, SRV_QUEUE_ELEMENT *element)

Smart Energy Queue

typedef void (*HAL_QUEUE_INSERT_BEFORE)(SRV_QUEUE *queue, SRV_QUEUE_ELEMENT *currentElement, SRV_QUEUE_ELEMENT *element)

void PRIME_HAL_WRP_QueueInsert_Before(SRV_QUEUE *queue, SRV_QUEUE_ELEMENT *currentElement, SRV_QUEUE_ELEMENT *element)

void SRV_QUEUE_Insert_Before(SRV_QUEUE *queue, SRV_QUEUE_ELEMENT *currentElement, SRV_QUEUE_ELEMENT *element)

Smart Energy Queue

typedef void (*HAL_QUEUE_INSERT_AFTER)(SRV_QUEUE *queue, SRV_QUEUE_ELEMENT *currentElement, SRV_QUEUE_ELEMENT *element)

void PRIME_HAL_WRP_QueueInsert_After(SRV_QUEUE *queue, SRV_QUEUE_ELEMENT *currentElement, SRV_QUEUE_ELEMENT *element)

void SRV_QUEUE_Insert_After(SRV_QUEUE *queue, SRV_QUEUE_ELEMENT *currentElement, SRV_QUEUE_ELEMENT *element)

Smart Energy Queue

typedef SRV_QUEUE_ELEMENT *(*HAL_QUEUE_READ_OR_REMOVE)(SRV_QUEUE *queue, SRV_QUEUE_MODE accessMode, SRV_QUEUE_POSITION position)

SRV_QUEUE_ELEMENT *PRIME_HAL_WRP_QueueRead_Or_Remove(SRV_QUEUE *queue, SRV_QUEUE_MODE accessMode, SRV_QUEUE_POSITION position)

SRV_QUEUE_ELEMENT *SRV_QUEUE_Read_Or_Remove(SRV_QUEUE *queue, SRV_QUEUE_MODE accessMode, SRV_QUEUE_POSITION position)

Smart Energy Queue

typedef SRV_QUEUE_ELEMENT *(*HAL_QUEUE_READ_ELEMENT)(SRV_QUEUE *queue, uint16_t elementIndex)

SRV_QUEUE_ELEMENT *PRIME_HAL_WRP_QueueRead_Element(SRV_QUEUE *queue, uint16_t elementIndex)

SRV_QUEUE_ELEMENT *SRV_QUEUE_Read_Element(SRV_QUEUE *queue, uint16_t elementIndex)

Smart Energy Queue

typedef void (*HAL_QUEUE_REMOVE_ELEMENT)(SRV_QUEUE *queue, SRV_QUEUE_ELEMENT *element)

void PRIME_HAL_WRP_QueueRemove_Element(SRV_QUEUE *queue, SRV_QUEUE_ELEMENT *element)

void SRV_QUEUE_Remove_Element(SRV_QUEUE *queue, SRV_QUEUE_ELEMENT *element)Smart Energy Queue
typedef void (*HAL_QUEUE_FLUSH)(SRV_QUEUE *queue)void PRIME_HAL_WRP_QueueFlush(SRV_QUEUE *queue)void SRV_QUEUE_Flush(SRV_QUEUE *queue)Smart Energy Queue
typedef void (*HAL_QUEUE_SET_CAPACITY)(SRV_QUEUE *queue, uint16_t capacity)void PRIME_HAL_WRP_QueueSet_Capacity(SRV_QUEUE *queue, uint16_t capacity)void SRV_QUEUE_Set_Capacity(SRV_QUEUE *queue, uint16_t capacity)Smart Energy Queue
typedef void (*HAL_FU_START)(SRV_FU_INFO *fuInfo)void PRIME_HAL_WRP_FuStart(SRV_FU_INFO *fuInfo)void SRV_FU_Start(SRV_FU_INFO *fuInfo)PRIME Firmware Upgrade
typedef void (*HAL_FU_END)(SRV_FU_RESULT fuResult)void PRIME_HAL_WRP_FuEnd(SRV_FU_RESULT fuResult)void SRV_FU_End(SRV_FU_RESULT fuResult)PRIME Firmware Upgrade
typedef void (*HAL_FU_CFG_READ)(void *dst, uint16_t size)void PRIME_HAL_WRP_FuCfgRead(void *dst, uint16_t size)void SRV_FU_CfgRead(void *dst, uint16_t size)PRIME Firmware Upgrade
typedef void (*HAL_FU_CFG_WRITE)(void *src, uint16_t size)void PRIME_HAL_WRP_FuCfgWrite(void *src, uint16_t size)void SRV_FU_CfgWrite(void *src, uint16_t size)PRIME Firmware Upgrade
typedef void (*HAL_FU_REGISTER_MEM_TRANSFER_CB)(SRV_FU_MEM_TRANSFER_CB callback)void PRIME_HAL_WRP_FuRegisterCbMemTransfer(SRV_FU_MEM_TRANSFER_CB callback)void SRV_FU_RegisterCallbackMemTransfer(SRV_FU_MEM_TRANSFER_CB callback)PRIME Firmware Upgrade
typedef void (*HAL_FU_DATA_READ)(uint32_t addr, uint8_t *buf, uint16_t size)void PRIME_HAL_WRP_FuDataRead(uint32_t addr, uint8_t *buf, uint16_t size)void SRV_FU_DataRead(uint32_t address, uint8_t *buffer, uint16_t size)PRIME Firmware Upgrade
typedef void (*HAL_FU_DATA_WRITE)(uint32_t addr, uint8_t *buf, uint16_t size)void PRIME_HAL_WRP_FuDataWrite(uint32_t addr, uint8_t *buf, uint16_t size)void SRV_FU_DataWrite(uint32_t address, uint8_t *buffer, uint16_t size)PRIME Firmware Upgrade
typedef void (*HAL_FU_REGISTER_CRC_CB)(SRV_FU_CRC_CB callback)void PRIME_HAL_WRP_FuRegisterCbCrc(SRV_FU_CRC_CB callback)void SRV_FU_RegisterCallbackCrc(SRV_FU_CRC_CB callback)PRIME Firmware Upgrade
typedef void (*HAL_FU_CALCULATE_CRC)(void)void PRIME_HAL_WRP_FuCalculateCrc(void)void SRV_FU_CalculateCrc(void)PRIME Firmware Upgrade
typedef void (*HAL_FU_REGISTER_VERIFY_CB)(SRV_FU_IMAGE_VERIFY_CB callback)void PRIME_HAL_WRP_FuRegisterCbVerify(SRV_FU_IMAGE_VERIFY_CB callback)void SRV_FU_RegisterCallbackVerify(SRV_FU_IMAGE_VERIFY_CB callback)PRIME Firmware Upgrade
typedef void (*HAL_FU_VERIFY_IMAGE)(void)void PRIME_HAL_WRP_FuVerifyImage(void)void SRV_FU_VerifyImage(void)PRIME Firmware Upgrade
typedef uint16_t (*HAL_FU_GET_BITMAP)(uint8_t *bitmap, uint32_t *numRxPages)uint16_t PRIME_HAL_WRP_FuGetBitmap(uint8_t *bitmap, uint32_t *numRxPages)uint16_t SRV_FU_GetBitmap(uint8_t *bitmap, uint32_t *numRxPages)PRIME Firmware Upgrade
typedef void (*HAL_FU_REQUEST_SWAP)(SRV_FU_TRAFFIC_VERSION trafficVersion)void PRIME_HAL_WRP_FuRequestSwap(SRV_FU_TRAFFIC_VERSION trafficVersion)void SRV_FU_RequestSwapVersion(SRV_FU_TRAFFIC_VERSION trafficVersion)PRIME Firmware Upgrade
typedef SYS_MODULE_OBJ (*HAL_PAL_INITIALIZE)(const SYS_MODULE_INDEX index)SYS_MODULE_OBJ PRIME_HAL_WRP_PAL_Initialize(const SYS_MODULE_INDEX index)SYS_MODULE_OBJ PAL_Initialize(const SYS_MODULE_INDEX index)PRIME PAL
typedef void (*HAL_PAL_ENABLE)(SYS_MODULE_OBJ object, uint8_t enablePAL)void PRIME_HAL_WRP_PAL_Enable(SYS_MODULE_OBJ object, uint8_t enablePAL)void PAL_Enable(SYS_MODULE_OBJ object, uint8_t enablePAL)PRIME PAL
typedef void (*HAL_PAL_TASKS)(SYS_MODULE_OBJ object)void PRIME_HAL_WRP_PAL_Tasks(SYS_MODULE_OBJ object)void PAL_Tasks(SYS_MODULE_OBJ object)PRIME PAL
typedef SYS_STATUS (*HAL_PAL_STATUS)(SYS_MODULE_OBJ object)SYS_STATUS PRIME_HAL_WRP_PAL_Status(SYS_MODULE_OBJ object)SYS_STATUS PAL_Status(SYS_MODULE_OBJ object)PRIME PAL
typedef void (*HAL_PAL_CALLBACK_REGISTER)(PAL_CALLBACKS *pCallbacks)void PRIME_HAL_WRP_PAL_CallbackRegister(PAL_CALLBACKS *pCallbacks)void PAL_CallbackRegister(PAL_CALLBACKS *pCallbacks)PRIME PAL
typedef uint8_t (*HAL_PAL_DATA_REQUEST)(PAL_MSG_REQUEST_DATA *pData)uint8_t PRIME_HAL_WRP_PAL_DataRequest(PAL_MSG_REQUEST_DATA *pData)uint8_t PAL_DataRequest(PAL_MSG_REQUEST_DATA *pData)PRIME PAL
typedef uint8_t (*HAL_PAL_GET_SNR)(uint16_t pch, uint8_t *snr, uint8_t qt)uint8_t PRIME_HAL_WRP_PAL_GetSNR(uint16_t pch, uint8_t *snr, uint8_t qt)uint8_t PAL_GetSNR(uint16_t pch, uint8_t *snr, uint8_t qt)PRIME PAL
typedef uint8_t (*HAL_PAL_GET_ZCT)(uint16_t pch, uint32_t *zct)uint8_t PRIME_HAL_WRP_PAL_GetZCT(uint16_t pch, uint32_t *zct)uint8_t PAL_GetZCT(uint16_t pch, uint32_t *zct)PRIME PAL
typedef uint8_t (*HAL_PAL_GET_TIMER)(uint16_t pch, uint32_t *timer)uint8_t PRIME_HAL_WRP_PAL_GetTimer(uint16_t pch, uint32_t *timer)uint8_t PAL_GetTimer(uint16_t pch, uint32_t *timer)PRIME PAL
typedef uint8_t (*HAL_PAL_GET_TIMER_EXTENDED)(uint16_t pch, uint64_t *timer)uint8_t PRIME_HAL_WRP_PAL_GetTimerExtended(uint16_t pch, uint64_t *timer)uint8_t PAL_GetTimerExtended(uint16_t pch, uint64_t *timer)PRIME PAL

typedef uint8_t (*HAL_PAL_GET_CD)(uint16_t pch, uint8_t *cd, uint8_t *rssi, uint32_t *time, uint8_t *header)

uint8_t PRIME_HAL_WRP_PAL_GetCD(uint16_t pch, uint8_t *cd, uint8_t *rssi, uint32_t *timePrime, uint8_t *header)

uint8_t PAL_GetCD(uint16_t pch, uint8_t *cd, uint8_t *rssi, uint32_t *timeVal, uint8_t *header)

PRIME PAL
typedef uint8_t (*HAL_PAL_GET_NL)(uint16_t pch, uint8_t *noise)uint8_t PRIME_HAL_WRP_PAL_GetNL(uint16_t pch, uint8_t *noise)uint8_t PAL_GetNL(uint16_t pch, uint8_t *noise)PRIME PAL
typedef uint8_t (*HAL_PAL_GET_AGC)(uint16_t pch, uint8_t *mode, uint8_t *gain)uint8_t PRIME_HAL_WRP_PAL_GetAGC(uint16_t pch, uint8_t *mode, uint8_t *gain)uint8_t PAL_GetAGC(uint16_t pch, uint8_t *mode, uint8_t *gain)PRIME PAL
typedef uint8_t (*HAL_PAL_SET_AGC)(uint16_t pch, uint8_t mode, uint8_t gain)uint8_t PRIME_HAL_WRP_PAL_SetAGC(uint16_t pch, uint8_t mode, uint8_t gain)uint8_t PAL_SetAGC(uint16_t pch, uint8_t mode, uint8_t gain)PRIME PAL
typedef uint8_t (*HAL_PAL_GET_CCA)(uint16_t pch, uint8_t *pState)uint8_t PRIME_HAL_WRP_PAL_GetCCA(uint16_t pch, uint8_t *pState)uint8_t PAL_GetCCA(uint16_t pch, uint8_t *pState)PRIME PAL
typedef uint8_t (*HAL_PAL_GET_CHANNEL)(uint16_t *pch, uint16_t channelReference)uint8_t PRIME_HAL_WRP_PAL_GetChannel(uint16_t *pPch, uint16_t channelReference)uint8_t PAL_GetChannel(uint16_t *pPch, uint16_t channelReference)PRIME PAL
typedef uint8_t (*HAL_PAL_SET_CHANNEL)(uint16_t pch)uint8_t PRIME_HAL_WRP_PAL_SetChannel(uint16_t pch)uint8_t PAL_SetChannel(uint16_t pch)PRIME PAL

typedef void (*HAL_PAL_PROGRAM_CHANNEL_SWITCH)(uint32_t timeSync,uint16_t pch, uint8_t timeMode)

void PRIME_HAL_WRP_PAL_ProgramChannelSwitch(uint32_t timeSync, uint16_t pch, uint8_t timeMode)

void PAL_ProgramChannelSwitch(uint32_t timeSync, uint16_t pch, uint8_t timeMode)

PRIME PAL

typedef uint8_t (*HAL_PAL_GET_CONFIGURATION)(uint16_t pch, uint16_t id, void *val, uint16_t length)

uint8_t PRIME_HAL_WRP_PAL_GetConfiguration(uint16_t pch, uint16_t id, void *val, uint16_t length)

uint8_t PAL_GetConfiguration(uint16_t pch, uint16_t id, void *val, uint16_t length)

PRIME PAL

typedef uint8_t (*HAL_PAL_SET_CONFIGURATION)(uint16_t pch, uint16_t id, void *val, uint16_t length)

uint8_t PRIME_HAL_WRP_PAL_SetConfiguration(uint16_t pch, uint16_t id, void *val, uint16_t length)

uint8_t PAL_SetConfiguration(uint16_t pch, uint16_t id, void *val, uint16_t length)

PRIME PAL

typedef uint16_t (*HAL_PAL_GET_SIGNAL_CAPTURE)(uint16_t pch, uint8_t *noiseCapture, PAL_FRAME frameType, uint32_t timeStart, uint32_t duration)

uint16_t PRIME_HAL_WRP_PAL_GetSignalCapture(uint16_t pch, uint8_t *noiseCapture, PAL_FRAME frameType, uint32_t timeStart, uint32_t duration)

uint16_t PAL_GetSignalCapture(uint16_t pch, uint8_t *noiseCapture, PAL_FRAME frameType, uint32_t timeStart, uint32_t duration)

PRIME PAL

typedef uint8_t (*HAL_PAL_GET_MSG_DURATION)(uint16_t pch, uint16_t length PAL_SCHEME scheme, PAL_FRAME frameType, uint32_t *duration)

uint8_t PRIME_HAL_WRP_PAL_GetMsgDuration(uint16_t pch, uint16_t length, PAL_SCHEME scheme, PAL_FRAME frameType, uint32_t *duration)

uint8_t PAL_GetMsgDuration(uint16_t pch, uint16_t length, PAL_SCHEME scheme, PAL_FRAME frameType, uint32_t *duration)

PRIME PAL

typedef bool (*HAL_PAL_CHECK_MINIMUM_QUALITY)(uint16_t pch, uint8_t reference, uint8_t modulation)

bool PRIME_HAL_WRP_PAL_CheckMinimumQuality(uint16_t pch, uint8_t reference, uint8_t modulation)

bool PAL_CheckMinimumQuality(uint16_t pch, uint8_t reference, uint8_t modulation)PRIME PAL

typedef uint8_t (*HAL_PAL_GET_LESS_ROBUST_MODULATION)(uint16_t pch, uint8_t mod1, uint8_t mod2)

uint8_t PRIME_HAL_WRP_PAL_GetLessRobustModulation(uint16_t pch, uint8_t mod1, uint8_t mod2)uint8_t PAL_GetLessRobustModulation(uint16_t pch, uint8_t mod1, uint8_t mod2)PRIME PAL