@@ -46,8 +46,8 @@ typedef struct {
46
46
47
47
/*******************************STATUSES***************************************/
48
48
typedef enum {
49
- LSM303_STATUS_SUCCESS = 0 ,
50
- LSM303_STATUS_API_ERR = -1 ,
49
+ LSM303_STATUS_SUCCESS = 0 ,
50
+ LSM303_STATUS_API_ERR = -1 ,
51
51
LSM303_STATUS_INPUT_ERR = -2 ,
52
52
LSM303_STATUS_ALLOC_ERR = -3 ,
53
53
} LSM303_RETURN_STATUS ;
@@ -63,115 +63,115 @@ typedef enum {
63
63
/*********************************MASKS****************************************/
64
64
65
65
#define ACC_POWER_MODE_MASK 3
66
- #define ACC_AXES_MASK 0
67
- #define ACC_ODR_MASK 4
68
- #define ACC_SCALE_MASK 4
66
+ #define ACC_AXES_MASK 0
67
+ #define ACC_ODR_MASK 4
68
+ #define ACC_SCALE_MASK 4
69
69
#define ACC_RESOLUTION_MASK 3
70
70
71
71
/***********************ACCELEROMETER REGISTERS********************************/
72
72
73
73
typedef enum {
74
- CTRL_REG1_A = 0x20 ,
75
- CTRL_REG2_A = 0x21 ,
76
- CTRL_REG3_A = 0x22 ,
77
- CTRL_REG4_A = 0x23 ,
78
- CTRL_REG5_A = 0x24 ,
79
- CTRL_REG6_A = 0x25 ,
80
- REFERENCE_A = 0x26 ,
81
- STATUS_REG_A = 0x27 ,
82
- OUT_X_L_A = 0x28 ,
83
- OUT_X_H_A = 0x29 ,
84
- OUT_Y_L_A = 0x2A ,
85
- OUT_Y_H_A = 0x2B ,
86
- OUT_Z_L_A = 0x2C ,
87
- OUT_Z_H_A = 0x2D ,
74
+ CTRL_REG1_A = 0x20 ,
75
+ CTRL_REG2_A = 0x21 ,
76
+ CTRL_REG3_A = 0x22 ,
77
+ CTRL_REG4_A = 0x23 ,
78
+ CTRL_REG5_A = 0x24 ,
79
+ CTRL_REG6_A = 0x25 ,
80
+ REFERENCE_A = 0x26 ,
81
+ STATUS_REG_A = 0x27 ,
82
+ OUT_X_L_A = 0x28 ,
83
+ OUT_X_H_A = 0x29 ,
84
+ OUT_Y_L_A = 0x2A ,
85
+ OUT_Y_H_A = 0x2B ,
86
+ OUT_Z_L_A = 0x2C ,
87
+ OUT_Z_H_A = 0x2D ,
88
88
FIFO_CTRL_REG_A = 0x2E ,
89
- FIFO_SRC_REG_A = 0x2F ,
90
- INT1_CFG_A = 0x30 ,
91
- INT1_SRC_A = 0x31 ,
92
- INT1_THS_A = 0x32 ,
89
+ FIFO_SRC_REG_A = 0x2F ,
90
+ INT1_CFG_A = 0x30 ,
91
+ INT1_SRC_A = 0x31 ,
92
+ INT1_THS_A = 0x32 ,
93
93
INT1_DURATION_A = 0x33 ,
94
- INT2_CFG_A = 0x34 ,
95
- INT2_SRC_A = 0x35 ,
96
- INT2_THS_A = 0x36 ,
94
+ INT2_CFG_A = 0x34 ,
95
+ INT2_SRC_A = 0x35 ,
96
+ INT2_THS_A = 0x36 ,
97
97
INT2_DURATION_A = 0x37 ,
98
- CLICK_CFG_A = 0x38 ,
99
- CLICK_SRC_A = 0x39 ,
100
- CLICK_THS_A = 0x3A ,
101
- TIME_LIMIT_A = 0x3B ,
102
- TIME_LATENCY_A = 0x3C ,
103
- TIME_WINDOW_A = 0x3D
98
+ CLICK_CFG_A = 0x38 ,
99
+ CLICK_SRC_A = 0x39 ,
100
+ CLICK_THS_A = 0x3A ,
101
+ TIME_LIMIT_A = 0x3B ,
102
+ TIME_LATENCY_A = 0x3C ,
103
+ TIME_WINDOW_A = 0x3D
104
104
} LSM303DLHC_ACC_REG ;
105
105
106
106
/***********************MAGNETOMETER REGISTERS*********************************/
107
107
typedef enum {
108
- CRA_REG_M = 0x00 ,
109
- CRB_REG_M = 0x01 ,
110
- MR_REG_M = 0x02 ,
111
- OUT_X_H_M = 0x03 ,
112
- OUT_X_L_M = 0x04 ,
113
- OUT_Z_H_M = 0x05 ,
114
- OUT_Z_L_M = 0x06 ,
115
- OUT_Y_H_M = 0x07 ,
116
- OUT_Y_L_M = 0x08 ,
117
- SR_REG_M = 0x09 ,
118
- IRA_REG_M = 0x0A ,
119
- IRB_REG_M = 0x0B ,
120
- IRC_REG_M = 0x0C ,
108
+ CRA_REG_M = 0x00 ,
109
+ CRB_REG_M = 0x01 ,
110
+ MR_REG_M = 0x02 ,
111
+ OUT_X_H_M = 0x03 ,
112
+ OUT_X_L_M = 0x04 ,
113
+ OUT_Z_H_M = 0x05 ,
114
+ OUT_Z_L_M = 0x06 ,
115
+ OUT_Y_H_M = 0x07 ,
116
+ OUT_Y_L_M = 0x08 ,
117
+ SR_REG_M = 0x09 ,
118
+ IRA_REG_M = 0x0A ,
119
+ IRB_REG_M = 0x0B ,
120
+ IRC_REG_M = 0x0C ,
121
121
TEMP_OUT_H_M = 0x31 ,
122
122
TEMP_OUT_L_M = 0x32
123
123
} LSM303DLHC_MAG_REG ;
124
124
125
125
/*****************************ACC DESCRIPTORS**********************************/
126
126
127
127
enum lsm303_acc_power_mode {
128
- ACC_NORMAL = 0x00 ,
129
- ACC_LOW_POWER = 0x01 ,
128
+ ACC_NORMAL = 0x00 ,
129
+ ACC_LOW_POWER = 0x01 ,
130
130
ACC_POWER_DOWN = 0x02
131
131
};
132
132
133
133
enum lsm303_acc_odr {
134
- ACC_ODR_1HZ = 0x01 ,
135
- ACC_ODR_10HZ = 0x02 ,
136
- ACC_ODR_25HZ = 0x03 ,
137
- ACC_ODR_50HZ = 0x04 ,
138
- ACC_ODR_100HZ = 0x05 ,
139
- ACC_ODR_200HZ = 0x06 ,
140
- ACC_ODR_400HZ = 0x07 ,
134
+ ACC_ODR_1HZ = 0x01 ,
135
+ ACC_ODR_10HZ = 0x02 ,
136
+ ACC_ODR_25HZ = 0x03 ,
137
+ ACC_ODR_50HZ = 0x04 ,
138
+ ACC_ODR_100HZ = 0x05 ,
139
+ ACC_ODR_200HZ = 0x06 ,
140
+ ACC_ODR_400HZ = 0x07 ,
141
141
ACC_ODR_1K620HZ = 0x08 ,
142
142
ACC_ODR_1K344HZ = 0x09 ,
143
143
ACC_ODR_5K376HZ = 0x09
144
144
};
145
145
146
146
enum lsm303_acc_axes_enable {
147
147
ACC_AXES_DISABLE_ALL = 0x00 ,
148
- ACC_AXES_ENABLE_X = 0x01 ,
149
- ACC_AXES_ENABLE_Y = 0x02 ,
150
- ACC_AXES_ENABLE_Z = 0x04 ,
151
- ACC_AXES_ENABLE_XY = 0x03 ,
152
- ACC_AXES_ENABLE_XZ = 0x05 ,
153
- ACC_AXES_ENABLE_YZ = 0x06 ,
154
- ACC_AXES_ENABLE_XYZ = 0x07
148
+ ACC_AXES_ENABLE_X = 0x01 ,
149
+ ACC_AXES_ENABLE_Y = 0x02 ,
150
+ ACC_AXES_ENABLE_Z = 0x04 ,
151
+ ACC_AXES_ENABLE_XY = 0x03 ,
152
+ ACC_AXES_ENABLE_XZ = 0x05 ,
153
+ ACC_AXES_ENABLE_YZ = 0x06 ,
154
+ ACC_AXES_ENABLE_XYZ = 0x07
155
155
};
156
156
157
157
enum lsm303_acc_full_scale {
158
- ACC_SCALE_2G = 0x00 ,
159
- ACC_SCALE_4G = 0x01 ,
160
- ACC_SCALE_8G = 0x02 ,
158
+ ACC_SCALE_2G = 0x00 ,
159
+ ACC_SCALE_4G = 0x01 ,
160
+ ACC_SCALE_8G = 0x02 ,
161
161
ACC_SCALE_16G = 0x03
162
162
};
163
163
164
164
enum lsm303_acc_resolution {
165
- ACC_RESOLUTION_LOW = 0x00 ,
165
+ ACC_RESOLUTION_LOW = 0x00 ,
166
166
ACC_RESOLUTION_HIGH = 0x01
167
167
};
168
168
169
169
/*****************************MAG DESCRIPTORS**********************************/
170
170
171
171
enum lsm303_mag_power_mode {
172
172
MAG_CONTINUOUS_CONVERSION = 0x00 ,
173
- MAG_SINGLE_CONVERSION = 0x01 ,
174
- MAG_SLEEP_MODE = 0x02
173
+ MAG_SINGLE_CONVERSION = 0x01 ,
174
+ MAG_SLEEP_MODE = 0x02
175
175
};
176
176
177
177
enum lsm303_mag_full_scale {
@@ -186,13 +186,13 @@ enum lsm303_mag_full_scale {
186
186
187
187
enum lsm303_mag_odr {
188
188
MAG_ODR_0_75HZ = 0x00 ,
189
- MAG_ODR_1_5HZ = 0x01 ,
190
- MAG_ODR_3_0HZ = 0x02 ,
191
- MAG_ODR_7_5HZ = 0x03 ,
192
- MAG_ODR_15HZ = 0x04 ,
193
- MAG_ODR_30HZ = 0x05 ,
194
- MAG_ODR_75HZ = 0x06 ,
195
- MAG_ODR_220HZ = 0x07
189
+ MAG_ODR_1_5HZ = 0x01 ,
190
+ MAG_ODR_3_0HZ = 0x02 ,
191
+ MAG_ODR_7_5HZ = 0x03 ,
192
+ MAG_ODR_15HZ = 0x04 ,
193
+ MAG_ODR_30HZ = 0x05 ,
194
+ MAG_ODR_75HZ = 0x06 ,
195
+ MAG_ODR_220HZ = 0x07
196
196
};
197
197
198
198
typedef struct {
0 commit comments