Hei,
it looks like there is an offset in time for laps recorded with a Coros Pace 3, that are used in an activity screen. Subsequent laps/intervals have the correct duration.
Using the Actions → Use Laps button maps all the recorded laps to intervals.
This mornings run had a first lap being 15 minutes long, but the interval is only showing up with 13m 34s. This introduces an offset for all subsequent intervals.
The missing 1m 26s might be the amount of time between choosing an activity on the watch and hitting the start button after it found the GNSS satellites and other sensors.
I’ve been observing that behaviour for many activities that are based on the Coros device, but don’t use (auto) laps that often. So it hasn’t been bothering me too much.
Can I provide you with more information to find the cause of the bug?
Thank you for a nice tool to visualise all the activities, highly appreciated!
Did you press the START button before all sensors and satellites are obtained?
If you did, and the 1st 1m26s didn’t have any GPS data / Velocity / power etc, then it might be the reason why it’s regarded as “non-moving” time and ignored.
I waited until everything was ready. So my assumption is that this patience is accumulating the missing time.
Maybe Coros is recording/writing something like a “recording start time” and all laps are related to that point in time and not the actual “I’ve hit the start button time” start of the activity which initiates collecting data from all sensors.
When I’m looking at the fit file downloaded from the source I get the following insights:
The activity row looks as follows:
timestamp
total timer time(s)
num sessions
type
event
event type
local timestamp
8/23/2024 7:23:54 AM
38:23.220
1
manual
activity
stop
8/23/2024 9:23:54 AM
The event rows:
timestamp(s)
event
event type
event group
8/23/2024 7:23:54 AM
timer
start
0
8:02:18 AM
timer
stop all
0
And the first few Lap rows:
timestamp(s)
start time
total elapsed time(s)
total timer time(s)
total distance(m)
total calories(kcal)
avg heart rate(bpm)
max heart rate(bpm)
avg cadence(rpm)
max cadence(rpm)
avg power(watts)
total ascent(m)
total descent(m)
sport
avg temperature(C)
min heart rate(bpm)
avg vertical oscillation(mm)
avg stance time percent(percent)
avg stance time(ms)
enhanced avg speed(m/s)
enhanced max speed(m/s)
avg vertical ratio(percent)
avg step length(mm)
Effort PaceIQ(m/s)
8/23/2024 7:38:54 AM
8/23/2024 7:23:54 AM
15:00.000
15:00.000
2,328.66
157
139
155
83
88
201
70
17
running
22
108
0.0
0.00
0.0
2.587
3.226
0.00
920.0
2.881000
7:39:24 AM
7:38:54 AM
30.000
30.000
144.78
6
156
163
92
98
264
0
7
running
20
148
0.0
0.00
0.0
4.826
5.076
0.00
1,570.0
4.716000
7:39:54 AM
7:39:24 AM
30.000
30.000
84.09
7
161
165
87
93
205
0
1
running
19
157
0.0
0.00
0.0
2.803
4.926
0.00
960.0
2.590000
Moreover, there are record rows that start with the start time of the first lap.
However, the first interval is shown with the following data:
Elapsed Time
Pace
GAP
Avg Cadence
Avg HR
Max HR
Avg Gradient
Zone
Distance
Altitude Gain
Stride
Avg Power
13m34s
6:32
5:45
83
138
155
2.2%
2
2.07km
62m
0.92
197
30s
5:37
5:20
87
146
147
1.1%
2
89m
0m
1.03
208
30s
5:49
5:19
87
149
151
2.3%
2
86m
2m
0.99
219
So to me it looks like the *.fit file has both, elapsed time and combination of start time and timestamps that fit. The only odd thing that I’m spotting is that the local timestamp is for some reason in UTC+4 whilst the time stamps are in UTC+2. But that is probably some different aspect.
Looking at the fit file that I can download from intervals.icu, I see that the first lap shows the interval duration in accordance with what is shown in the visualisation. Interestingly, the intervals.icu export shows an activity timestamp that describes the end of the activity, whilst the Coros file shows the start of the activity.
So maybe something is happening during the initial sync/import into intervals.icu that mangles the first lap?
I see your activities are getting to Intervals.icu via Strava. Do you have the Strava privacy circle enabled? Unfortunately that often causes Strava to return bad lap data from the API. It’s a longstanding bug on their side.
You could try connecting Coros as well as Strava. Intervals.icu will favour the activity from Coros but will keep segments from Strava.
That is the explanation! I have the privacy circles enabled and that took part from the first interval.
Usually I take the hidden start bit away when it doesn’t matter to me, but thats after the sync cascade has happened. So reprocessing the activities did the trick already.
Thank you both for your time!
Short summary, if somebody stumbles over that thread later:
Stravas privacy circles mess around with using laps for interval detection. Reprocessing the activity after removing the hidden start on Strava fixes the issue.