I am writing a datafield that needs to perform some calculations whenever the Lap button is pressed, so my understanding is that this must occur within the onTimerLap() method I define within my DataField class. However, I cannot access the information that compute(info) receives through the info object (timerTime, elapsedDistance, etc.) which I need for my calculations. My current workaround is to have compute store the values I need in some class variables every time it runs (wasting cycles and memory) and onTimerLap() grabbing them when it runs. This method has two downsides:
a) it wastes cycles and memory; and
b) the data I receive is up to one second out of date, so my lap data is inaccurate.
Is there a better way to achieve my goal? I really only need info.timerTime and info.elapsedDistance but I would assume I am not the first to run into this problem.
(BTW, I am writing this for a Forerunner 630 in particular, so my issue is with CIQ 1.3.x, I would be curious whether newer version have addressed this, but would really appreciate solutions geared for the earlier versions.)
Thanks for any help in advance!
Gerald