This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
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);
Adam
Hi Adam
Since you are only sharing part of your code, it is not possible to say what is going on.
I see that you use some kind of command chaining. Have you verified that you are able to transmit on all 3 channels if you are just transmitting at one channel at the time (no chaining involved?)
The first step in debugging this should be to verify that you are able to get all 3 channels to work by its own.
Once you have that up and running, you can try to set up a chain.
Checking the status of each command after running the chain will give you useful info regarding what is going on. Have the commands run with an error, or have they not run at all?
Also, how have you verified that your problem is on the transmitter side, and not on the RX side?
If you are not able to get it up and running, please provide us with a minimal code example (you can base it on the rfPacketTX example), that demonstrates the issue so that we can reproduce it here.
BR
Siri