2020-05-25 01:40 AM
Hey Guys,
I have a problem with my STM32WB55CC. For the certification of my product I have to set the advertising channel to a fixed one (37, 38, 39).
The command I try to use is the following:
volatile uint8_t ret;
ret = hci_le_set_advertising_parameters(
BLE_TIMER_INTERVAL_MIN_FAST,
BLE_TIMER_INTERVAL_MAX_FAST,
ADV_NONCONN_IND,
PUBLIC_ADDR,
0,
0,
ADV_CH_37,
0
);
The return value is always "0x01" (Unknown Command). What can I do to get it working???
Thanks a lot!
2020-05-25 02:27 AM
If anyone has the same problem:
The solution for this error code is the correct stack. In my case the light stack was flashed and this doesn't support this command.
2020-05-26 05:11 AM
The hci_le_set_advertising_parameters command is not supported in the light BLE stack (slave only).
You can use GAP commmands instead to set the adverising parameters but the Advertising_Channel_Map is set to 7 (all channels enabled) by default.
Using the FULL stack may solve your issue.
2020-05-26 05:50 AM
Could you explain what type of certification is requiring a single chanel for the advertisement?
2020-05-26 11:01 PM
Yes I flashed the full stack and this worked fine.
For our product we do a full certification for CE and FCC in automotive context. Our German "TÜV" checks the radio of the module on every single channel. I don't know why, because it's not allowed to advertise on a single channel. I think they check if there is any malfunction of the module when they add an interfering frequency near the advertising frequencies.
2020-05-27 02:29 AM
Therefore, if you want to focus only on the RF part with the possible interferences, you can use the test SW using the CubeRF monitor tool and the BLE_TransparentMode project under theSTM32Cube_FW_WB_V1.6.0\STM32Cube_FW_WB_V1.6.0\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_TransparentMode directory.
This SW is used to send RF commands, measure RSSI and PER.
Have a look at the joint document.
2020-05-27 02:30 AM
This sw allows the selection of the transmit channel.