info.track vs info.currentHeading

I am trying to understand the difference between .track and .currentHeading  On my Edge 830, .currentHeading seems to be showing the output of the compass and this data while riding a bike is so noisy and random as to be completely useless.  .track seems to provide accurate information as to the direction one is traveling and also seems to provide accurate compass data when stopped.  That is one can rotate the device on your desk and .track shows which direction it is pointed in.  It is my understanding that on older edge devices without a compass that .currentHeading provided data similar to .track although could not provide accurate data when stopped as the data was derived from GPS motion .  Unfortunately, I do not currently have an older edge to test any of this on.  I do have a Vivoactive 4S and it seems to be behaving the same as my edge 830. Does .track work on older devices?  If not, what would one check to decide whether to use .track or .currentHeading?

  • What you may be running into is what's sometimes called "best source", where the source for the data can change.

    Assuming you are standing still - the compass is used.  But once you start moving, it switches to GPS above a certain speed - the direction you are moving, which may or may not be the same as the compass.  This would be more visible on a watch where it's hanging by your side or moving around as you run.

  • Certainly what you say makes sense.  However it does not answer the question as to what data Garmin is using to derive the .track and .currentHeading information.  Nor does it answer the question as to whether compass data is expected to be valid while riding a bike or other "bumpy" activity.  With the watch, I could see that it provided different data while riding depending upon my wrist orientation, so I assuming that .currentHeading is providing compass data even while moving.