The compass is working as well as we think it can. The compass in mobile devices is notoriously variable. Sometimes it is accurate and sometimes it can be off by many degrees. There is nothing we can do about this. We have spent a lot of time on this code and think it works as well as it can.
We use the official Android calls to get the compass information. We have checked this many, many times and are 100% sure we are correct in what we are doing. However, sometimes the operating system just gives us bad data.
I have a Moto G 2nd generation. I used Sky Safari 4 Plus, and the compass worked quite well. Since i upgaded to SS 5 Plus, the compass is very sluggish, and inaccurate. Is there some way to go back to the way it used to work on the previous version?