Faulty compass on Windows Phones... will there be a fix?

I have looked at two Windows Phones (Lumia 800 and HTC Titan) and both have the same problem. It appears as though Windows is reading the binary code from the internal compass and casting it to a byte value (0-255), but as people know, compasses have readings up to 360. On our phones we have looked at the magnetic heading and it seems that we can't get a reading over 255. We have even written our own software to grab the compass values to confirm this issue.

If you want to try and recreate it (don't just take my word for it), download Jack of Tools (or any other compass app) and set the heading to "magnetic". Then simply rotate your phone and see if it will display a number over 255. Neither of mine did.

To explain further: The magnetic heading is the heading the internal compass is feeding to the operating system. Then the operating system grabs that value and does some (or should do some) calculations to give you the "true" heading for where you are on earth. For example, for me in New Zealand, the compass might say my magnetic heading is 315 degrees, but then the operating system should say "no his GPS coordinates are xxxx,xxxx so he has a declination of -20 and therefore his "true" heading is 295.

I don't know if people are aware of this issue. Most forums people just say "My compass is broken" or "Compass pointing north faces west" or "Southern hemisphere compass broken". There was a ticket here: http://connect.microsoft.com/VisualStudio/feedback/details/738909/wp-7-5-compass-magnetic-reading-error but it has been closed as it was with the wrong group. A fix is needed for this problem asap.

My question is, will there be a fix for this? It is a critical issue, but seems like it's slipped through.
I've been experimenting with the WP7 compass API for some time now.

The issue is very location specific. If you are in the Northern Hemisphere you most likely won't see the issue. Here in New Zealand there is an overflow on the reported magnetic north heading at 255 degrees and the true north bearing is out by 255/104 degrees depending on which rotation you take.

I have captured data that shows the overflow occurring during a level rotation. See WP7 magnetometer data from 360 degree rotation.  

Please, if you know of any way to get this issue in front of the WP7 development team let me know. I have examples and data to demonstrate the issue, I just haven't been able to get in touch with the right people.

Was this reply helpful?

Sorry this didn't help.

Great! Thanks for your feedback.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this reply?

Thanks for your feedback.


Question Info

Last updated September 7, 2019 Views 3,114 Applies to: