- From: Rick Waldron via GitHub <sysbot+gh@w3.org>
- Date: Thu, 22 Sep 2016 17:54:16 +0000
- To: public-device-apis-log@w3.org
> We could have a high-level "Compass API" along the lines of J5 to go with the low-level Magnetometer. Actually, discussed this briefly at F2F yesterday. What would be the distinction? Why not just provide one: ``` Magnetometer { heading, x, y, z, } ``` > How do J5 apps that require true north handle magnetic declination They would have to: 1. Include a GPS to be of any use at all 2. Use lat/long to determine present local magnetic declination angle 3. Add or subtract the angle from the value of the `heading` property Just now I ran a program that prints the heading in degrees as read from an HMC5883L, with the sensor on my desk. On the other side of my keyboard, I placed my iPhone with the compass app open and lined it up to north. Then I lined up the sensor's x axis to north (which was off). From there, I looked my present declination angle on http://www.magnetic-declination.com/ (at the moment, I'm in Boston), and it was -14 degrees. So my program looked like this: ```js const five = require("../"); const board = new five.Board(); board.on("ready", () => { const mag = new five.Magnetometer({ controller: "HMC5883L" }); mag.on("change", () => { console.log(Math.round(mag.heading - 14)); }); }); ``` I'm sure a phone or pc with gps could expose that data in an elegant way. -- GitHub Notification of comment by rwaldron Please view or discuss this issue at https://github.com/w3c/magnetometer/issues/3#issuecomment-248978243 using your GitHub account
Received on Thursday, 22 September 2016 17:54:24 UTC