LFCLK calibration while RTC is running

Hi,

Is there any way to run calibration of the LFCLK at the same time as the RTC is running on the same clock?

At program startup I start the HFCLK, then run this routine:

void LowFrequencyClock_Calibrate()
{
    
    while (NRF_CLOCK->EVENTS_HFCLKSTARTED == 0);   // Wait for 16M XOSC      
    LOG_INFO("Calibration of LFCLK is starting...");
    NRF_CLOCK->TASKS_CAL = 1;
    while (NRF_CLOCK->EVENTS_DONE == 0){} // Wait until calibration is done
    // Restart timer
    NRF_CLOCK->TASKS_CTSTART = 1;
    NRF_CLOCK->EVENTS_DONE = 0;  
    
    LOG_INFO("Calibration of LFCLK is done.");
}

The program holds for about 30ms while waiting for the calibration done event to be set.

Is there any way to shorten the calibration time, og calibrate while the RTC is running?

Also, how do I check that the LFCLK is actually calibrated?

Related