5.1.1.1 BDB Commissioning APIs

The following table lists the BDB API related to commissioning, detailing its function prototype and functionality.

Table 5-1. BDB Commissioning APIs
Function PrototypeDescription
void BDB_SetBdbNodeIsOnANetwork(bool onNetwork)Set the bdbNodeIsOnANetwork status
bool BDB_GetBdbNodeIsOnANetwork(void)Get the bdbNodeIsOnANetwork status

void BDB_ConfigureInstallCode(ExtAddr_t deviceAddress, uint8_t *installCode, IcStatusCallback_t pfCallback)

The API actively calculates the Cyclic Redundancy Check (CRC) for the install code and compares it with the provided CRC. Then, it derives the link key using the Symmetric-Key Security Protocol Advanced Encryption Standard (SSP AES) and sets this key in the APS key pair set.
bool BDB_InvokeCommissioning(BDB_InvokeCommissioningReq_t *req)The commissioning API invokes the commissioning based on the given information in the request structure.
void BDB_ResetVia_TouchlinkCluster(ResetTargetCallback_t pfcallback)Resets the target device to factory defaults using touch-link commissioning cluster
void BDB_SetInstallCodeUsage(bool useInstallCode)Sets the install code usage at the trust center
void BDB_SetNodeJoinTimeout(uint8_t timeOutInSec)Sets the node join time-out
void BDB_SetTCLKExchangeMethod(uint8_t exchangeMethod)Sets the TCLK exchange method BDB attribute
void BDB_SetTCLKRetryMaxAttempts(uint8_t attempts)Sets the TCLK retry max attempts BDB attribute
void BDB_SetTCRequireKeyExchange(bool requireKeyExchange)Sets the trust center require key change or not of the joining device
void BDB_SetToulinkRole(bool initiator)Sets the touch-link role
void BDB_ResetIB(void)Resets the BDB information base/attributes