How to calibrate the Compass module

I’ve tried using the Compass module but the results are somewhat off. I’ve read the discussion here (https://www.ghielectronics.com/community/forum/topic?id=11880&page=1) and most of it is over my head.

There is some discussion of changing the driver to calibrate the compass and it’s difficult to tell if that’s been done or not.

Can someone provide updated information on the status of this module?

Also, I haven’t seen any documentation what various properties on the object do. For instance, I assume that the .Angle property indicates the direction? 0 for north, 90 for west, 180 for south and 270 east?