I remember in the past few months there were multiple bugs regarding the 7.4.* SDK versions. How is the latest (7.4.3)? Are there still any know bugs? Is there a reason why would I risk new bugs and upgrade to 7.4.3 (from 7.3.1)?
I remember in the past few months there were multiple bugs regarding the 7.4.* SDK versions. How is the latest (7.4.3)? Are there still any know bugs? Is there a reason why would I risk new bugs and upgrade to 7.4.3 (from 7.3.1)?
"and the heart rate gives 255) to signify invalid data, which is undocumented as far as I can see"
It is documented for ActivityMonitor:
if you look for the HR:
Heart rate in beats per minute (bpm).
Before using heart rate information, check for INAVLID_HR_SAMPLE to be sure data is available.
And INVALID_HR_SAMPLE shows it's 255
If you are getting the data from SensorHistory, an invalid sample is a null
Thanks for pointing that out. I was using ActivityMonitor.getHeartRateHistory, and that doesn't mention INVALID_HR_SAMPLE, but I guess that is fair enough since it is documented for an individual sample.
It applies to an individual sample. and not the whole history
Let's say you are wearing the watch and getting s good HR, then you take off the watch. During that time the sample will be 255, but when you put the watch back on, you get good samples again.
The history will show this.
The specific issue I had was with positionInfo.altitude, which is supposed to return a Float. It returns 2**31 -1 if you don't have a GPS fix.
That’s fair, my bad.
In fact, according to the table I pasted, a float32 FIT type is supposed to use 0xFFFFFFFF (which is NaN) as an invalid value, so I guess my argument goes down the drain.
Back to the original question....
I've been using 7.4.3 since it was available, and to me, it looks as stable as any
There were some issue in the earlier 7.4 SDKs that were actually fixed fairly quickly (a day or two, discounting weekends)
When submitting bug reports, you want to be using the latest production SDK, as it's something that could have been fixed in a newer SDK. You can see what's been fixed in each version by looking at the README file in the SDK.
With the rumored System 8, you clearly want to note if it's a production SDK or a beta SDK. A new System level typically means beta SDKs.