Tool/software:
Hello,
I would like to use the low-level RF commands to send ADV_NONCONN_IND packets on channels 37,38, and 39 with a manufacturer specific payload on any channel other than. However, we have only been able to see any packets being transmitted on channel 37.
We have chosen to use the low level RF commands to implement the periodic advertisement since we are also using the Proprietary-RF mode to transmit other packets simultaneously.
Some pseudo-code of our command sequence:
rfc_bleAdvPar_t adv_params = (rfc_bleAdvPar_t){
.advLen = 16,
.pAdvData = my_adv_data_len_16,
}
rfc_CMD_FS_t setup_chan_37_cmd = (rfc_CMD_FS_t){
.commandNo = 0x0803,
.frequency = 2402,
.condition.rule = COND_STOP_ON_FALSE,
.pNextOp = &adv_chan37_cmd
}
rfc_CMD_BLE5_ADV_NC_t adv_chan37_cmd = (rfc_CMD_BLE5_ADV_NC_t){
.commandNo = 0x182D,
.channel = 37,
.pParams = &adv_params,
.condition.rule = COND_STOP_ON_FALSE,
.pNextOp = &setup_chan_38_cmd
}
rfc_CMD_FS_t setup_chan_38_cmd = (rfc_CMD_FS_t){
.commandNo = 0x0803,
.frequency = 2426,
.condition.rule = COND_STOP_ON_FALSE,
.pNextOp = &adv_chan38_cmd
}
rfc_CMD_BLE5_ADV_NC_t adv_chan38_cmd = (rfc_CMD_BLE5_ADV_NC_t){
.commandNo = 0x182D,
.channel = 38,
.pParams = &adv_params,
.condition.rule = COND_STOP_ON_FALSE,
.pNextOp = NULL
}
RF_Mode myBLEMode = (RF_Mode){
.rfMode = RF_MODE_MULTIPLE,
.cpePatchFxn = rf_patch_cpe_multi_protocol,
}
...
handle = RF_open(&myBLEObject, &myBLEMode, &myBLESetup, &myBLEParams);
...
// Able to see packet on channel 37 only
RF_scheduleCmd(handle, &setup_chan_37_cmd, &defaultScheduleParams, txCompleteCb, RF_EventLastCmdDone);
// Not able to see ANY packets if starting from `setup_chan_38_cmd`
// RF_scheduleCmd(handle, &setup_chan_38_cmd, &defaultScheduleParams, txCompleteCb, RF_EventLastCmdDone);
Are we using the intended sequence of RF commands to achieve this? What additional information is needed to help debug?
I am using TI SimpleLink CC13xx_CC26xx SDK version 6.30.00.x
Thank you,
Adam