This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

SOFTDEVICE_HANDLER_INIT

Hi,

I´ve been reading a lot of question about the duration of the SOFTDEVICE_HANDLER_INIT, and I've found that if a change the accuracy of the calibration it will be faster.

I'm using a PCA10040, with S132 12.1, and the accuracy that i was using in the project was NRF_CLOCK_LF_XTAL_ACCURACY_20_PPM, that I've found in the PCA10040.h. So I've tried to define the clock_lf_cfg, using NRF_CLOCK_LF_XTAL_ACCURACY_250_PPM, and calling the SOFTDEVICE_HANDLER_INIT, as the code below:

nrf_clock_lf_cfg_t clock_lf_cfg = {.source = NRF_CLOCK_LF_SRC_XTAL, .rc_ctiv = 0, .rc_temp_ctiv = 0, .xtal_accuracy = NRF_CLOCK_LF_XTAL_ACCURACY_250_PPM};

// Initialize the SoftDevice handler module.
SOFTDEVICE_HANDLER_INIT(&clock_lf_cfg, NULL);

But I've got the same delay.

When I've called the softdevice init this way:

SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LF_XTAL_ACCURACY_250_PPM, NULL);

the time to initialize was way better.

So what is the difference?

Best Regards.

Parents
  • Change the accuracy of the calibration? You are not changing the accuracy of the calibration, you are changing what you tell the SoftDevice that the accuracy of the LF crystal you have connected to the nRF52 device is. It doesn't really make change that, it should match with the spec if the crystal.

    SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LF_XTAL_ACCURACY_250_PPM, NULL); doesn't look like it's from SDK 12.1.

Reply
  • Change the accuracy of the calibration? You are not changing the accuracy of the calibration, you are changing what you tell the SoftDevice that the accuracy of the LF crystal you have connected to the nRF52 device is. It doesn't really make change that, it should match with the spec if the crystal.

    SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LF_XTAL_ACCURACY_250_PPM, NULL); doesn't look like it's from SDK 12.1.

Children
No Data
Related