I am using java SDK with trimble Catalyst.
In listener updatePositionTable, we are using PositionUpdate object with getHeading() method. (orientation from nord pole)
Do you know the accuracy of this value ?
Each update, it goes (without move or rotate trimble) with value:
what is the best case to have always good degree ? (without skip in code if the difference is too big ... but I will finish with this solution if no one have a solution;) ).
the heading information are a result from the GNSS engine; as this is a single-antenna setup (no double-antenna/ double receiver config) you need a certain amount of movement to get a stable heading.
I would guess that if the antenna is still on the table you will not get a good heading at all.
Applications like Trimble SiteVision ask the user to walk a couple of meters to be sure the heading is correct - I guess you would need to do the same. So in a user story I would guess you would need something 'before starting the actual task a user has to walk 5ish meters to get a correct heading'.
Without having any clue on the insides of the GNSS engine I guess the heading is after all just a difference between two sequential positions - which would also favor the 'walk some meters' thought.
Sorry to have no better answer