35#define LSM303D_REG_TEMP_OUT_L 0x05
36#define LSM303D_REG_TEMP_OUT_H 0x06
37#define LSM303D_REG_STATUS_M 0x07
38#define LSM303D_REG_OUT_X_L_M 0x08
39#define LSM303D_REG_OUT_X_H_M 0x09
40#define LSM303D_REG_OUT_Y_L_M 0x0A
41#define LSM303D_REG_OUT_Y_H_M 0x0B
42#define LSM303D_REG_OUT_Z_L_M 0x0C
43#define LSM303D_REG_OUT_Z_H_M 0x0D
45#define LSM303D_REG_WHO_AM_I 0x0F
47#define LSM303D_REG_INT_CTRL_M 0x12
48#define LSM303D_REG_INT_SRC_M 0x13
49#define LSM303D_REG_INT_THS_L_M 0x14
50#define LSM303D_REG_INT_THS_H_M 0x15
51#define LSM303D_REG_OFFSET_X_L_M 0x16
52#define LSM303D_REG_OFFSET_X_H_M 0x17
53#define LSM303D_REG_OFFSET_Y_L_M 0x18
54#define LSM303D_REG_OFFSET_Y_H_M 0x19
55#define LSM303D_REG_OFFSET_Z_L_M 0x1A
56#define LSM303D_REG_OFFSET_Z_H_M 0x1B
57#define LSM303D_REG_REFERENCE_X 0x1C
58#define LSM303D_REG_REFERENCE_Y 0x1D
59#define LSM303D_REG_REFERENCE_Z 0x1E
60#define LSM303D_REG_CTRL0 0x1F
61#define LSM303D_REG_CTRL1 0x20
62#define LSM303D_REG_CTRL2 0x21
63#define LSM303D_REG_CTRL3 0x22
64#define LSM303D_REG_CTRL4 0x23
65#define LSM303D_REG_CTRL5 0x24
66#define LSM303D_REG_CTRL6 0x25
67#define LSM303D_REG_CTRL7 0x26
68#define LSM303D_REG_STATUS_A 0x27
69#define LSM303D_REG_OUT_X_L_A 0x28
70#define LSM303D_REG_OUT_X_H_A 0x29
71#define LSM303D_REG_OUT_Y_L_A 0x2A
72#define LSM303D_REG_OUT_Y_H_A 0x2B
73#define LSM303D_REG_OUT_Z_L_A 0x2C
74#define LSM303D_REG_OUT_Z_H_A 0x2D
75#define LSM303D_REG_FIFO_CTRL 0x2E
76#define LSM303D_REG_FIFO_SRC 0x2F
77#define LSM303D_REG_IG_CFG1 0x30
78#define LSM303D_REG_IG_SRC1 0x31
79#define LSM303D_REG_IG_THS1 0x32
80#define LSM303D_REG_IG_DUR1 0x33
81#define LSM303D_REG_IG_CFG2 0x34
82#define LSM303D_REG_IG_SRC2 0x35
83#define LSM303D_REG_IG_THS2 0x36
84#define LSM303D_REG_IG_DUR2 0x37
85#define LSM303D_REG_CLICK_CFG 0x38
86#define LSM303D_REG_CLICK_SRC 0x39
87#define LSM303D_REG_CLICK_THS 0x3A
88#define LSM303D_REG_TIME_LIMIT 0x3B
89#define LSM303D_REG_TIME_LATENCY 0x3C
90#define LSM303D_REG_TIME_WINDOW 0x3D
91#define LSM303D_REG_ACT_THS 0x3E
92#define LSM303D_REG_ACT_DUR 0x3F
95#define LSM303D_REG_WHO_I_AM 0x49
98#define LSM303D_AXEN (0x01 << 0)
99#define LSM303D_AYEN (0x01 << 1)
100#define LSM303D_AZEN (0x01 << 2)
101#define LSM303D_ABDU (0x01 << 3)
102#define LSM303D_AODR_MASK (0x0F << 4)
120#define LSM303D_ASIM (0x01 << 0)
121#define LSM303D_AAST (0x01 << 1)
122#define LSM303D_AFS_MASK (0x07 << 3)
123#define LSM303D_ABW_MASK (0x03 << 6)
143#define LSM303D_INT1_EMPTY (0x01 << 0)
144#define LSM303D_INT1_DRDY_M (0x01 << 1)
145#define LSM303D_INT1_DRDY_A (0x01 << 2)
146#define LSM303D_INT1_IGM (0x01 << 3)
147#define LSM303D_INT1_IG2 (0x01 << 4)
148#define LSM303D_INT1_IG1 (0x01 << 5)
149#define LSM303D_INT1_Click (0x01 << 6)
150#define LSM303D_INT1_BOOT (0x01 << 7)
153#define LSM303D_INT2_FTH (0x01 << 0)
154#define LSM303D_INT2_Overrun (0x01 << 1)
155#define LSM303D_INT2_DRDY_M (0x01 << 2)
156#define LSM303D_INT2_DRDY_A (0x01 << 3)
157#define LSM303D_INT2_INTM (0x01 << 4)
158#define LSM303D_INT2_INT2 (0x01 << 5)
159#define LSM303D_INT2_INT1 (0x01 << 6)
160#define LSM303D_INT2_Click (0x01 << 7)
164#define LSM303D_LIR1 (0x01 << 0)
165#define LSM303D_LIR2 (0x01 << 1)
166#define LSM303D_M_ODR_MASK (0x07 << 2)
167#define LSM303D_M_RES (0x03 << 5)
168#define LSM303D_TEMP_EN (0x01 << 7)
182#define LSM303D_MFS_MASK (0x03 << 5)
193#define LSM303D_MD_MASK (0x03 << 0)
194#define LSM303D_MLP (0x01 << 2)
195#define LSM303D_T_ONLY (0x01 << 4)
196#define LSM303D_AFDS (0x01 << 5)
197#define LSM303D_AHPM_MASK (0x03 << 6)
208#define LSM303D_XADA (0x01 << 0)
209#define LSM303D_YADA (0x01 << 1)
210#define LSM303D_ZADA (0x01 << 2)
211#define LSM303D_ZYXADA (0x01 << 3)
212#define LSM303D_XAOR (0x01 << 4)
213#define LSM303D_YAOR (0x01 << 5)
214#define LSM303D_ZAOR (0x01 << 6)
215#define LSM303D_ZYXAOR (0x01 << 7)
218#define LSM303D_XMDA (0x01 << 0)
219#define LSM303D_YMDA (0x01 << 1)
220#define LSM303D_ZMDA (0x01 << 2)
221#define LSM303D_ZYXMDA (0x01 << 3)
222#define LSM303D_XMOR (0x01 << 4)
223#define LSM303D_YMOR (0x01 << 5)
224#define LSM303D_ZMOR (0x01 << 6)
225#define LSM303D_ZYXMOR (0x01 << 7)
Lsm303dMagRange
LSM303D magnetic range (MFS bits 5-6 in LSM303D_REG_CTRL6)
@ LSM303D_MAG_RANGE_4GAUSS
@ LSM303D_MAG_RANGE_8GAUSS
@ LSM303D_MAG_RANGE_2GAUSS
@ LSM303D_MAG_RANGE_12GAUSS
Lsm303dAccelBandwidth
LSM303D accelerometer anti-alias filter bandwidth (BW bits 6-7 in LSM303D_REG_CTRL2)
Lsm303dAccelRates
LSM303D acceleration data rate (bits 4-7 in LSM303D_REG_CTRL1)
@ LSM303D_ACC_RATE_3_125HZ
@ LSM303D_ACC_RATE_1600HZ
@ LSM303D_ACC_RATE_6_25HZ
@ LSM303D_ACC_RATE_12_5HZ
Lsm303dMagRates
LSM303D magnetic data rate (MODR bits 2-4 in LSM303D_REG_CTRL5)
@ LSM303D_MAG_RATE_3_125HZ
@ LSM303D_MAG_RATE_12_5HZ
@ LSM303D_MAG_RATE_6_25HZ
Lsm303dAccelRanges
LSM303D accelerometer anti-alias filter bandwidth (ODR bits 3-5 in LSM303D_REG_CTRL2)
Lsm303dMagMode
LSM303D magnetic sensor mode selection (MD bits 0-1 in LSM303D_REG_CTRL7)
@ LSM303D_MAG_MODE_CONTINOUS_CONVERSION
@ LSM303D_MAG_MODE_POWER_DOWN
@ LSM303D_MAG_MODE_SINGLE_CONVERSION