1.2.8.4.4 SRV_RSERIAL_SerialSetPIB Function
C
uint8_t* SRV_RSERIAL_SerialSetPIB ( DRV_RF215_TRX_ID trxId, DRV_RF215_PIB_ATTRIBUTE pibAttr, uint8_t pibSize, DRV_RF215_PIB_RESULT pibResult, size_t* pMsgLen );
Summary
Serializes a response to a set PIB command.
Description
Takes the result of setting a PIB in RF215 driver as parameters and builds a serialized frame as response to the set PIB command.
Precondition
None.
Parameters
Param | Description |
---|---|
trxId | TRX identifier (Sub-1GHz, 2.4GHz) |
pibAttr | PIB attribute |
pibSize | PIB size in bytes |
pibResult | PIB get result |
pMsgLen | Pointer to sniffer message length in bytes (output) |
Returns
Pointer to sniffer message to be sent through serial interface.
Example
uint8_t* pSerialData; size_t length; SRV_USI_HANDLE srvUSIHandle; // returned from SRV_USI_Open DRV_HANDLE rf215HandleRF09, rf215HandleRF24; // returned from DRV_RF215_Open DRV_HANDLE rf215Handle; SRV_RSERIAL_COMMAND command; DRV_RF215_TRX_ID trxId; DRV_RF215_PIB_ATTRIBUTE pibAttr; DRV_RF215_PIB_RESULT pibResult; uint8_t pibSize; // Process received message from USI command = SRV_RSERIAL_GetCommand(pData); if (command == SRV_RSERIAL_CMD_PHY_SET_CFG) { uint8_t *pPibValue; pPibValue = SRV_RSERIAL_ParsePIB(pData, &trxId, &pibAttr, &pibSize); if (trxId == RF215_TRX_ID_RF09) { rf215Handle = rf215HandleRF09; } else { rf215Handle = rf215HandleRF24; } // Set PIB to RF215 driver pibResult = DRV_RF215_SetPib(rf215Handle, pibAttr, pPibValue); pibSize = DRV_RF215_GetPibSize(pibAttr); // Serialize PIB set response and send through USI pSerialData = SRV_RSERIAL_SerialSetPIB(trxId, pibAttr, pibSize, pibResult, &length); SRV_USI_Send_Message(srvUSIHandle, SRV_USI_PROT_ID_PHY_RF215, pSerialData, length); }
Remarks
None.