summaryrefslogtreecommitdiff
path: root/src/drivers/ao_hmc5883.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-06-02 16:57:22 -0700
committerKeith Packard <keithp@keithp.com>2012-06-02 16:57:22 -0700
commit69a8907ecbb7ca0e8526aeea0dc7490a191a0f8b (patch)
tree6e792ba8bf6818e8122e158e8d552e9f5f2b6f95 /src/drivers/ao_hmc5883.h
parent97317d332f21c42860747c4ecde633bd0228ef52 (diff)
altos: Get HMC5883 driver limping along
Not pushing data into the ring yet, but the chip appears to work now. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/drivers/ao_hmc5883.h')
-rw-r--r--src/drivers/ao_hmc5883.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/drivers/ao_hmc5883.h b/src/drivers/ao_hmc5883.h
index 2ec27dd9..55690978 100644
--- a/src/drivers/ao_hmc5883.h
+++ b/src/drivers/ao_hmc5883.h
@@ -22,11 +22,48 @@
#define HMC5883_ADDR_READ 0x3d
#define HMC5883_CONFIG_A 0
+
+#define HMC5883_CONFIG_A_MA 5
+#define HMC5883_CONFIG_A_MA_1 0
+#define HMC5883_CONFIG_A_MA_2 1
+#define HMC5883_CONFIG_A_MA_4 2
+#define HMC5883_CONFIG_A_MA_8 3
+#define HMC5883_CONFIG_A_MA_MASK 3
+
+#define HMC5883_CONFIG_A_DO 2
+#define HMC5883_CONFIG_A_DO_0_75 0
+#define HMC5883_CONFIG_A_DO_1_5 1
+#define HMC5883_CONFIG_A_DO_3 2
+#define HMC5883_CONFIG_A_DO_7_5 3
+#define HMC5883_CONFIG_A_DO_15 4
+#define HMC5883_CONFIG_A_DO_30 5
+#define HMC5883_CONFIG_A_DO_75 6
+#define HMC5883_CONFIG_A_DO_MASK 7
+
+#define HMC5883_CONFIG_A_MS 0
+#define HMC5883_CONFIG_A_MS_NORMAL 0
+#define HMC5883_CONFIG_A_MS_POSITIVE_BIAS 1
+#define HMC5883_CONFIG_A_MS_NEGATIVE_BIAS 2
+#define HMC5883_CONFIG_A_MS_MASK 3
+
#define HMC5883_CONFIG_B 1
+
+#define HMC5883_CONFIG_B_GN 5
+#define HMC5883_CONFIG_B_GN_0_88 0
+#define HMC5883_CONFIG_B_GN_1_3 1
+#define HMC5883_CONFIG_B_GN_1_9 2
+#define HMC5883_CONFIG_B_GN_2_5 3
+#define HMC5883_CONFIG_B_GN_4_0 4
+#define HMC5883_CONFIG_B_GN_4_7 5
+#define HMC5883_CONFIG_B_GN_5_6 6
+#define HMC5883_CONFIG_B_GN_8_1 7
+#define HMC5883_CONFIG_B_GN_MASK 7
+
#define HMC5883_MODE 2
#define HMC5883_MODE_CONTINUOUS 0
#define HMC5883_MODE_SINGLE 1
#define HMC5883_MODE_IDLE 2
+
#define HMC5883_X_MSB 3
#define HMC5883_X_LSB 4
#define HMC5883_Y_MSB 5