Thanks Bill. I appreciate your reply. I will get real numbers when I can (hopefully later today), but I can offer this additional info:
This is a simplified test to look at timer accuracy with BLE on. In my actual application I'm using TIMER1, TIMER2, GPIOTE and PPI, along with Maxim's DS3231 RTC (±2ppm accuracy) to implement an accurate clock that offers millisecond accuracy over a couple hours of use. TIMER1 is a counter that increments when the 1 Hz square wave output of the DS3231 pulses. TIMER2 is a free running timer that is cleared on each DS3231 pulse. So TIMER1 counts seconds and TIMER2 times time between the 1-second pulses. This is all implemented with PPI.
I started noticing TIMER2 values greater than 31250 whereas they should always be 0-31250 because its value is always cleared at t=1.0 second.
When a sensor event occurs (that's being timed), I use PPI to capture the values of both TIMER1 and TIMER2, then an interrupt routine is called where capture registers are read and actual time (seconds) is calculated (TIMER1 value + (TIMER2 value / 31250)).
So, I can say, for this simple timer test here, capturing the TIMER1 value with PPI instead of in the interrupt routine, I don't believe, would change the outcome.
I can also say that the error magnitude increases as the pulse increases. Without further testing, I cannot say for sure if the result will change if the period is increased (4 s instead of 2, as you suggest), but I speculate that it won't.
If anyone is able to implement this simple TIMER1 test and confirm similar results, that would be helpful information that I can offer RF Digital support. I have contacted them about this but so far no response.
I'll post real numbers regarding your suggested tests, Bill, once I have them.
Many, many thanks - with much hope this can be resolved.