データシートを参照すると、X,Y,Z方位の引数が適切では無いので一部変更した。

Dependents:   mbed_hmc5883l_test hmc_test allsystem_2 UAV_Logger4

Fork of HMC5883L by Tyler Weaver

Files at this revision

API Documentation at this revision

Comitter:
Joeatsumi
Date:
Sun Sep 03 12:26:31 2017 +0000
Parent:
4:bc4e1201e092
Commit message:
HMC5883L???????????????

Changed in this revision

HMC5883L.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r bc4e1201e092 -r 52ffe160f17f HMC5883L.cpp
--- a/HMC5883L.cpp	Tue Nov 06 17:35:51 2012 +0000
+++ b/HMC5883L.cpp	Sun Sep 03 12:26:31 2017 +0000
@@ -85,7 +85,7 @@
 char HMC5883L::getConfigurationB()
 {
     char cmd[2];
-    cmd[0] = CONFIG_A_REG; // register b address
+    cmd[0] = CONFIG_B_REG; // register b address
     i2c_.write(I2C_ADDRESS, cmd, 1, true);
     i2c_.read(I2C_ADDRESS, &cmd[1], 1, false);
     return cmd[1];
@@ -133,7 +133,7 @@
 {
     int16_t raw_data[3];
     getXYZ(raw_data);
-    double heading = atan2(static_cast<double>(raw_data[1]), static_cast<double>(raw_data[0])); // heading = arctan(Y/X)
+    double heading = atan2(static_cast<double>(raw_data[2]), static_cast<double>(raw_data[0])); // heading = arctan(Y/X)
     
     // TODO: declenation angle compensation