cancel
Showing results for 
Search instead for 
Did you mean: 

RF wakeup clock selection

andreas23
Associate II

Hello.

I'm currently working with the STM32WB55 controller and the Nucleo demo board. I successfully used the BLE heartrate example. Now, I try to tailor the example for my needs because at the end I would like to run a similar application on the STM32WB50 controller.

Right now, I'm trying to reconfigure the RFWakeupClockSource. The heartrate example specifies the LSE clock as RF WakeupClock. On my customized board with the STM32WB50 controller, I don't have an external crystal for the LSE. So, I would like to use another clock source. There is also the option to use the HSE divided by 1024.

But if I select the divided HSE clock source, the controller is advertising but I'm not able to connect to it anymore. I enabled the serial debug output and this is what I see:

Device Information Service (DIS) is added Successfully 000C
Manufacturer Name Characteristic Added Successfully  000D 
Heart Rate Service (HRS) is added Successfully 000F
Heart Rate Measurement Characteristic Added Successfully  0010 
Sensor Location Characteristic Added Successfully  0013 
Control Point Characteristic Added Successfully  0015 
First index in 0 state 
Successfully Start Fast Advertising 
EVT_LE_CONN_COMPLETE for connection handle 0x801
 
** DISCONNECTION EVENT WITH CLIENT 
First index in 0 state 
Successfully Start Fast Advertising 
EVT_LE_CONN_COMPLETE for connection handle 0x802
...

Does anyone know what the RF wakeup clock is used for by the CPU2 and the BLE stack?

Why isn't it working with the divided HSE clock?

Would it be possible to disable the RF wakeup clock at all?

Thanks,

Andreas

1 ACCEPTED SOLUTION

Accepted Solutions
andreas23
Associate II

I think I solved the issue myself. I had to change some define in app_conf.h. CFG_BLE_LSE_SOURCE was 0 which indicated the use of an external crystal. I changed this to 1 and now it is working.

View solution in original post

1 REPLY 1
andreas23
Associate II

I think I solved the issue myself. I had to change some define in app_conf.h. CFG_BLE_LSE_SOURCE was 0 which indicated the use of an external crystal. I changed this to 1 and now it is working.