ISF
2.2 rev 5
Intelligent Sensing Framework for Kinetis with Processor Expert
Main Page
Modules
Data Structures
Files
File List
Globals
fxos8700.h
Go to the documentation of this file.
1
/*!
2
********************************************************************************
3
* File: fxos8700.h
4
*
5
* Copyright (c) 2015, Freescale Semiconductor, Inc.
6
*
7
*******************************************************************************/
8
/*!
9
* @file fxos8700.h
10
* @brief The \b fxos8700.h file describes the FXOS8700 register definition and its bit mask.
11
*/
12
#ifndef FXOS8700_H_
13
#define FXOS8700_H_
14
/**
15
* @brief FXOS8700 internal register addresses explained in the FXOS8700 data sheet.
16
*/
17
enum
fxos8700_regmap_tag
{
18
FXOS8700_STATUS
= 0x00,
/*!< Alias for ::FXOS8700_DR_STATUS or ::FXOS8700_F_STATUS. */
19
FXOS8700_OUT_X_MSB
= 0x01,
/*!< 14-bit X-axis measurement data bits 13:6. */
20
FXOS8700_OUT_X_LSB
= 0x02,
/*!< 14-bit X-axis measurement data bits 5:0. */
21
FXOS8700_OUT_Y_MSB
= 0x03,
/*!< 14-bit Y-axis measurement data bits 13:6. */
22
FXOS8700_OUT_Y_LSB
= 0x04,
/*!< 14-bit Y-axis measurement data bits 5:0. */
23
FXOS8700_OUT_Z_MSB
= 0x05,
/*!< 14-bit Z-axis measurement data bits 13:6. */
24
FXOS8700_OUT_Z_LSB
= 0x06,
/*!< 14-bit Z-axis measurement data bits 5:0. */
25
FXOS8700_F_SETUP
= 0x09,
/*!< FIFO setup. */
26
FXOS8700_TRIG_CFG
= 0x0A,
/*!< FIFO event trigger configuration register. */
27
FXOS8700_SYSMOD
= 0x0B,
/*!< Current system mode. */
28
FXOS8700_INT_SOURCE
= 0x0C,
/*!< Interrupt status. */
29
FXOS8700_WHO_AM_I
= 0x0D,
/*!< Device ID. */
30
FXOS8700_XYZ_DATA_CFG
= 0x0E,
/*!< Acceleration dynamic range and filter enable settings. */
31
FXOS8700_HP_FILTER_CUTOFF
= 0x0F,
/*!< Pulse detection highpass and lowpass filter enabling bits. */
32
FXOS8700_PL_STATUS
= 0x10,
/*!< Landscape/portrait orientation status. */
33
FXOS8700_PL_CFG
= 0x11,
/*!< Landscape/portrait configuration. */
34
FXOS8700_PL_COUNT
= 0x12,
/*!< Landscape/portrait debounce counter. */
35
FXOS8700_PL_BF_ZCOMP
= 0x13,
/*!< Back/front trip angle threshold. */
36
FXOS8700_PL_THS_REG
= 0x14,
/*!< Portrait to landscape trip threshold angle and hysteresis settings. */
37
FXOS8700_FF_MT_CFG
= 0x15,
/*!< Freefall/motion function configuration. */
38
FXOS8700_FF_MT_SRC
= 0x16,
/*!< Freefall/motion event source register. */
39
FXOS8700_FF_MT_THS
= 0x17,
/*!< Freefall/motion threshold register. */
40
FXOS8700_FF_MT_COUNT
= 0x18,
/*!< Freefall/motion debounce counter. */
41
FXOS8700_TRANSIENT_CFG
= 0x1D,
/*!< Transient function configuration. */
42
FXOS8700_TRANSIENT_SRC
= 0x1E,
/*!< Transient event status register. */
43
FXOS8700_TRANSIENT_THS
= 0x1F,
/*!< Transient event threshold. */
44
FXOS8700_TRANSIENT_COUNT
= 0x20,
/*!< Transient debounce counter. */
45
FXOS8700_PULSE_CFG
= 0x21,
/*!< Pulse function configuration. */
46
FXOS8700_PULSE_SRC
= 0x22,
/*!< Pulse function source register. */
47
FXOS8700_PULSE_THSX
= 0x23,
/*!< X-axis pulse threshold. */
48
FXOS8700_PULSE_THSY
= 0x24,
/*!< Y-axis pulse threshold. */
49
FXOS8700_PULSE_THSZ
= 0x25,
/*!< Z-axis pulse threshold. */
50
FXOS8700_TMLT
= 0x26,
/*!< Time limit for pulse detection. */
51
FXOS8700_PULSE_LTCY
= 0x27,
/*!< Latency time for second pulse detection. */
52
FXOS8700_PULSE_WIND
= 0x28,
/*!< Window time for second pulse detection. */
53
FXOS8700_ASLP_COUNT
= 0x29,
/*!< The counter setting for auto-sleep period. */
54
FXOS8700_CTRL_REG1
= 0x2A,
/*!< System ODR, accelerometer OSR (Output sample rate), operating mode. */
55
FXOS8700_CTRL_REG2
= 0x2B,
/*!< Self-test, reset, accelerometer OSR, and sleep mode settings. */
56
FXOS8700_CTRL_REG3
= 0x2C,
/*!< Sleep mode interrupt wake enable, interrupt polarity, push-pull/open drain configuration. */
57
FXOS8700_CTRL_REG4
= 0x2D,
/*!< Interrupt enable register. */
58
FXOS8700_CTRL_REG5
= 0x2E,
/*!< Interrupt pin (INT1/INT2) map. */
59
FXOS8700_OFF_X
= 0x2F,
/*!< X-axis accelerometer offset adjust. */
60
FXOS8700_OFF_Y
= 0x30,
/*!< Y-axis accelerometer offset adjust. */
61
FXOS8700_OFF_Z
= 0x31,
/*!< Z-axis accelerometer offset adjust. */
62
FXOS8700_M_DR_STATUS
= 0x32,
/*!< The magnetometer data ready status. */
63
FXOS8700_M_OUT_X_MSB
= 0x33,
/*!< MSB of the 16-bit magnetometer data for X-axis. */
64
FXOS8700_M_OUT_X_LSB
= 0x34,
/*!< LSB of the 16-bit magnetometer data for X-axis. */
65
FXOS8700_M_OUT_Y_MSB
= 0x35,
/*!< MSB of the 16-bit magnetometer data for Y-axis. */
66
FXOS8700_M_OUT_Y_LSB
= 0x36,
/*!< LSB of the 16-bit magnetometer data for Y-axis. */
67
FXOS8700_M_OUT_Z_MSB
= 0x37,
/*!< MSB of the 16-bit magnetometer data for Z-axis. */
68
FXOS8700_M_OUT_Z_LSB
= 0x38,
/*!< LSB of the 16-bit magnetometer data for Z-axis. */
69
FXOS8700_CMP_X_MSB
= 0x39,
/*!< Bits [13:8] of integrated X-axis acceleration data. */
70
FXOS8700_CMP_X_LSB
= 0x3A,
/*!< Bits [7:0] of integrated X-axis acceleration data. */
71
FXOS8700_CMP_Y_MSB
= 0x3B,
/*!< Bits [13:8] of integrated Y-axis acceleration data. */
72
FXOS8700_CMP_Y_LSB
= 0x3C,
/*!< Bits [7:0] of integrated Y-axis acceleration data. */
73
FXOS8700_CMP_Z_MSB
= 0x3D,
/*!< Bits [13:8] of integrated Z-axis acceleration data. */
74
FXOS8700_CMP_Z_LSB
= 0x3E,
/*!< Bits [7:0] of integrated Z-axis acceleration data. */
75
FXOS8700_M_OFF_X_MSB
= 0x3F,
/*!< MSB of magnetometer X-axis offset. */
76
FXOS8700_M_OFF_X_LSB
= 0x40,
/*!< LSB of magnetometer X-axis offset. */
77
FXOS8700_M_OFF_Y_MSB
= 0x41,
/*!< MSB of magnetometer Y-axis offset. */
78
FXOS8700_M_OFF_Y_LSB
= 0x42,
/*!< LSB of magnetometer Y-axis offset. */
79
FXOS8700_M_OFF_Z_MSB
= 0x43,
/*!< MSB of magnetometer Z-axis offset. */
80
FXOS8700_M_OFF_Z_LSB
= 0x44,
/*!< LSB of magnetometer Z-axis offset. */
81
FXOS8700_MAX_X_MSB
= 0x45,
/*!< Magnetometer X-axis maximum value MSB. */
82
FXOS8700_MAX_X_LSB
= 0x46,
/*!< Magnetometer X-axis maximum value LSB. */
83
FXOS8700_MAX_Y_MSB
= 0x47,
/*!< Magnetometer Y-axis maximum value MSB. */
84
FXOS8700_MAX_Y_LSB
= 0x48,
/*!< Magnetometer Y-axis maximum value LSB. */
85
FXOS8700_MAX_Z_MSB
= 0x49,
/*!< Magnetometer Z-axis maximum value MSB. */
86
FXOS8700_MAX_Z_LSB
= 0x4A,
/*!< Magnetometer Z-axis maximum value LSB. */
87
FXOS8700_MIN_X_MSB
= 0x4B,
/*!< Magnetometer X-axis minimum value MSB. */
88
FXOS8700_MIN_X_LSB
= 0x4C,
/*!< Magnetometer X-axis minimum value LSB. */
89
FXOS8700_MIN_Y_MSB
= 0x4D,
/*!< Magnetometer Y-axis minimum value MSB. */
90
FXOS8700_MIN_Y_LSB
= 0x4E,
/*!< Magnetometer Y-axis minimum value LSB. */
91
FXOS8700_MIN_Z_MSB
= 0x4F,
/*!< Magnetometer Z-axis minimum value MSB. */
92
FXOS8700_MIN_Z_LSB
= 0x50,
/*!< Magnetometer Z-axis minimum value LSB. */
93
FXOS8700_TEMP
= 0x51,
/*!< Device temperature with a valid range of -128 to 127 degrees C. */
94
FXOS8700_M_THS_CFG
= 0x52,
/*!< Magnetic threshold detection function configuration. */
95
FXOS8700_M_THS_SRC
= 0x53,
/*!< Magnetic threshold event source register. */
96
FXOS8700_M_THS_X_MSB
= 0x54,
/*!< X-axis magnetic threshold MSB. */
97
FXOS8700_M_THS_X_LSB
= 0x55,
/*!< X-axis magnetic threshold LSB. */
98
FXOS8700_M_THS_Y_MSB
= 0x56,
/*!< Y-axis magnetic threshold MSB. */
99
FXOS8700_M_THS_Y_LSB
= 0x57,
/*!< Y-axis magnetic threshold LSB. */
100
FXOS8700_M_THS_Z_MSB
= 0x58,
/*!< Z-axis magnetic threshold MSB. */
101
FXOS8700_M_THS_Z_LSB
= 0x59,
/*!< Z-axis magnetic threshold LSB. */
102
FXOS8700_M_THS_COUNT
= 0x5A,
/*!< Magnetic threshold debounce counter. */
103
FXOS8700_M_CTRL_REG1
= 0x5B,
/*!< Control for magnetometer sensor functions. */
104
FXOS8700_M_CTRL_REG2
= 0x5C,
/*!< Control for magnetometer sensor functions. */
105
FXOS8700_M_CTRL_REG3
= 0x5D,
/*!< Control for magnetometer sensor functions. */
106
FXOS8700_M_INT_SRC
= 0x5E,
/*!< Magnetometer interrupt source. */
107
FXOS8700_A_VECM_CFG
= 0x5F,
/*!< Acceleration vector magnitude configuration register. */
108
FXOS8700_A_VECM_THS_MSB
= 0x60,
/*!< Acceleration vector magnitude threshold MSB. */
109
FXOS8700_A_VECM_THS_LSB
= 0x61,
/*!< Acceleration vector magnitude threshold LSB. */
110
FXOS8700_A_VECM_CNT
= 0x62,
/*!< Acceleration vector magnitude debounce count. */
111
FXOS8700_A_VECM_INITX_MSB
= 0x63,
/*!< Acceleration vector magnitude X-axis reference value MSB. */
112
FXOS8700_A_VECM_INITX_LSB
= 0x64,
/*!< Acceleration vector magnitude X-axis reference value LSB. */
113
FXOS8700_A_VECM_INITY_MSB
= 0x65,
/*!< Acceleration vector magnitude Y-axis reference value MSB. */
114
FXOS8700_A_VECM_INITY_LSB
= 0x66,
/*!< Acceleration vector magnitude Y-axis reference value LSB. */
115
FXOS8700_A_VECM_INITZ_MSB
= 0x67,
/*!< Acceleration vector magnitude Z-axis reference value MSB. */
116
FXOS8700_A_VECM_INITZ_LSB
= 0x68,
/*!< Acceleration vector magnitude Z-axis reference value LSB. */
117
FXOS8700_M_VECM_CFG
= 0x69,
/*!< Magnetic vector magnitude configuration register. */
118
FXOS8700_M_VECM_THS_MSB
= 0x6A,
/*!< Magnetic vector magnitude threshold MSB. */
119
FXOS8700_M_VECM_THS_LSB
= 0x6B,
/*!< Magnetic vector magnitude threshold LSB. */
120
FXOS8700_M_VECM_CNT
= 0x6C,
/*!< Magnetic vector magnitude debounce count. */
121
FXOS8700_M_VECM_INITX_MSB
= 0x6D,
/*!< Magnetic vector magnitude X-axis reference value MSB. */
122
FXOS8700_M_VECM_INITX_LSB
= 0x6E,
/*!< Magnetic vector magnitude X-axis reference value LSB. */
123
FXOS8700_M_VECM_INITY_MSB
= 0x6F,
/*!< Magnetic vector magnitude Y-axis reference value MSB. */
124
FXOS8700_M_VECM_INITY_LSB
= 0x70,
/*!< Magnetic vector magnitude Y-axis reference value LSB. */
125
FXOS8700_M_VECM_INITZ_MSB
= 0x71,
/*!< Magnetic vector magnitude Z-axis reference value MSB. */
126
FXOS8700_M_VECM_INITZ_LSB
= 0x72,
/*!< Magnetic vector magnitude Z-axis reference value LSB. */
127
FXOS8700_A_FFMT_THS_X_MSB
= 0x73,
/*!< X-axis FFMT threshold MSB. */
128
FXOS8700_A_FFMT_THS_X_LSB
= 0x74,
/*!< X-axis FFMT threshold LSB. */
129
FXOS8700_A_FFMT_THS_Y_MSB
= 0x75,
/*!< Y-axis FFMT threshold MSB. */
130
FXOS8700_A_FFMT_THS_Y_LSB
= 0x76,
/*!< Y-axis FFMT threshold LSB. */
131
FXOS8700_A_FFMT_THS_Z_MSB
= 0x77,
/*!< Z-axis FFMT threshold MSB. */
132
FXOS8700_A_FFMT_THS_Z_LSB
= 0x78,
/*!< Z-axis FFMT threshold LSB. */
133
};
134
135
#define FXOS8700_DR_STATUS 0x00
136
#define FXOS8700_F_STATUS 0x00
137
138
/*
139
* General purpose macros to set/get a specific bit field within a register.
140
* The macro assumes that the root identifier for the field is a consistent character string (e.g., "BIT_FIELD").
141
* The bit field mask is the character string followed by "_MASK" (e.g., BIT_FIELD_MASK).
142
* The bit field shift is the character string followed by "_SHIFT" (e.g., BIT_FIELD_SHIFT).
143
*/
144
#define FXOS8700_SET_FIELD(name,val) (((val)<<FXOS8700_##name##_SHIFT)&(FXOS8700_##name##_MASK))
145
#define FXOS8700_GET_FIELD(name,val) ((val&FXOS8700_##name##_MASK)>>FXOS8700_##name##_SHIFT)
146
147
/**
148
* The following are the macro definitions to address each bit and its value in the hardware registers.
149
*/
150
// DR_STATUS
151
#define FXOS8700_ZYXDR_MASK 0x08
152
#define FXOS8700_ZYXDR_SHIFT 3
153
154
// XYZ_DATA_CFG
155
#define FXOS8700_HPF_OUT_MASK 0x10
156
#define FXOS8700_HPF_OUT_SHIFT 4
157
#define FXOS8700_FS_MASK 0x03
158
#define FXOS8700_FS_SHIFT 0
159
160
// HP_FILTER_CUTOFF
161
#define FXOS8700_PULSE_HPF_BYP_MASK 0x20
162
#define FXOS8700_PULSE_HPF_BYP_SHIFT 5
163
#define FXOS8700_PULSE_LPF_EN_MASK 0x10
164
#define FXOS8700_PULSE_LPF_EN_SHIFT 4
165
#define FXOS8700_SEL_MASK 0x03
166
#define FXOS8700_SEL_SHIFT 0
167
168
// PL_STATUS
169
#define FXOS8700_NEWLP_MASK 0x80
170
#define FXOS8700_NEWLP_SHIFT 7
171
#define FXOS8700_LO_MASK 0x40
172
#define FXOS8700_LO_SHIFT 6
173
#define FXOS8700_LAPO_MASK 0x06
174
#define FXOS8700_LAPO_SHIFT 1
175
#define FXOS8700_BAFRO_MASK 0x01
176
#define FXOS8700_BAFRO_SHIFT 0
177
178
// PL_CFG
179
#define FXOS8700_DBCNTM_MASK 0x80
180
#define FXOS8700_DBCNTM_SHIFT 7
181
#define FXOS8700_PL_EN_MASK 0x40
182
#define FXOS8700_PL_EN_SHIFT 6
183
184
// PL_BF_ZCOMP
185
#define FXOS8700_BKFR_MASK 0xC0
186
#define FXOS8700_BKFR_SHIFT 6
187
#define FXOS8700_ZLOCK_MASK 0x03
188
#define FXOS8700_ZLOCK_SHIFT 0
189
190
// PL_THS_REG
191
#define FXOS8700_PL_THS_MASK 0xF8
192
#define FXOS8700_PL_THS_SHIFT 3
193
#define FXOS8700_HYS_MASK 0x07
194
#define FXOS8700_HYS_SHIFT 0
195
196
// FF_MT_CFG
197
#define FXOS8700_ELE_MASK 0x80
198
#define FXOS8700_ELE_SHIFT 7
199
#define FXOS8700_OAE_MASK 0x40
200
#define FXOS8700_OAE_SHIFT 6
201
#define FXOS8700_ZEFE_MASK 0x20
202
#define FXOS8700_ZEFE_SHIFT 5
203
#define FXOS8700_YEFE_MASK 0x10
204
#define FXOS8700_YEFE_SHIFT 4
205
#define FXOS8700_XEFE_MASK 0x08
206
#define FXOS8700_XEFE_SHIFT 3
207
208
// FF_MT_SRC
209
#define FXOS8700_EA_MASK 0x80
210
#define FXOS8700_ZHE_MASK 0x20
211
#define FXOS8700_ZHP_MASK 0x10
212
#define FXOS8700_YHE_MASK 0x08
213
#define FXOS8700_YHP_MASK 0x04
214
#define FXOS8700_XHE_MASK 0x02
215
#define FXOS8700_XHP_MASK 0x01
216
217
// FF_MT_THS
218
#define FXOS8700_DBCNTM_MASK 0x80
219
#define FXOS8700_DBCNTM_SHIFT 7
220
#define FXOS8700_THS_MASK 0x7F
221
#define FXOS8700_THS_SHIFT 0
222
223
// TRANSIENT_CFG
224
#define FXOS8700_TELE_MASK 0x10
225
#define FXOS8700_TELE_SHIFT 4
226
#define FXOS8700_ZTEFE_MASK 0x08
227
#define FXOS8700_ZTEFE_SHIFT 3
228
#define FXOS8700_YTEFE_MASK 0x04
229
#define FXOS8700_YTEFE_SHIFT 2
230
#define FXOS8700_XTEFE_MASK 0x02
231
#define FXOS8700_XTEFE_SHIFT 1
232
#define FXOS8700_HPF_BYP_MASK 0x01
233
#define FXOS8700_HPF_BYP_SHIFT 0
234
235
// TRANSIENT_SRC
236
#define FXOS8700_TEA_MASK 0x40
237
#define FXOS8700_ZTRANSE_MASK 0x20
238
#define FXOS8700_Z_TRANS_POL_MASK 0x10
239
#define FXOS8700_YTRANSE_MASK 0x08
240
#define FXOS8700_Y_TRANS_POL_MASK 0x04
241
#define FXOS8700_XTRANSE_MASK 0x02
242
#define FXOS8700_X_TRANS_POL_MASK 0x01
243
244
// PULSE_CFG
245
#define FXOS8700_DPA_MASK 0x80
246
#define FXOS8700_DPA_SHIFT 7
247
#define FXOS8700_PELE_MASK 0x40
248
#define FXOS8700_PELE_SHIFT 6
249
#define FXOS8700_ZDPEFE_MASK 0x20
250
#define FXOS8700_ZDPEFE_SHIFT 5
251
#define FXOS8700_ZSPEFE_MASK 0x10
252
#define FXOS8700_ZSPEFE_SHIFT 4
253
#define FXOS8700_YDPEFE_MASK 0x08
254
#define FXOS8700_YDPEFE_SHIFT 3
255
#define FXOS8700_YSPEFE_MASK 0x04
256
#define FXOS8700_YSPEFE_SHIFT 2
257
#define FXOS8700_XDPEFE_MASK 0x02
258
#define FXOS8700_XDPEFE_SHIFT 1
259
#define FXOS8700_XSPEFE_MASK 0x01
260
#define FXOS8700_XSPEFE_SHIFT 0
261
262
// PULSE_SRC
263
#define FXOS8700_PEA_MASK 0x80
264
#define FXOS8700_AXZ_MASK 0x40
265
#define FXOS8700_AXY_MASK 0x20
266
#define FXOS8700_AXX_MASK 0x10
267
#define FXOS8700_DPE_MASK 0x08
268
#define FXOS8700_POLZ_MASK 0x04
269
#define FXOS8700_POLY_MASK 0x02
270
#define FXOS8700_POLX_MASK 0x01
271
272
// CTRL_REG1
273
#define FXOS8700_ASLP_RATE_MASK 0xC0
274
#define FXOS8700_ASLP_RATE_SHIFT 6
275
#define FXOS8700_DR_MASK 0x38
276
#define FXOS8700_DR_SHIFT 3
277
#define FXOS8700_LNOISE_MASK 0x04
278
#define FXOS8700_LNOISE_SHIFT 2
279
#define FXOS8700_F_READ_MASK 0x02
280
#define FXOS8700_F_READ_SHIFT 1
281
#define FXOS8700_ACTIVE_MASK 0x01
282
#define FXOS8700_ACTIVE_SHIFT 0
283
284
// CTRL_REG2
285
#define FXOS8700_RST_MASK 0x40
286
#define FXOS8700_RST_SHIFT 6
287
#define FXOS8700_SMODS_MASK 0x18
288
#define FXOS8700_SMODS_SHIFT 3
289
#define FXOS8700_SLPE_MASK 0x04
290
#define FXOS8700_SLPE_SHIFT 2
291
#define FXOS8700_MODS_MASK 0x03
292
#define FXOS8700_MODS_SHIFT 0
293
294
// CTRL_REG3
295
#define FXOS8700_FIFO_GATE_MASK 0x80
296
#define FXOS8700_FIFO_GATE_SHIFT 7
297
#define FXOS8700_WAKE_TRANS_MASK 0x40
298
#define FXOS8700_WAKE_TRANS_SHIFT 6
299
#define FXOS8700_WAKE_LNDPRT_MASK 0x20
300
#define FXOS8700_WAKE_LNDPRT_SHIFT 5
301
#define FXOS8700_WAKE_PULSE_MASK 0x10
302
#define FXOS8700_WAKE_PULSE_SHIFT 4
303
#define FXOS8700_WAKE_FF_MT_MASK 0x08
304
#define FXOS8700_WAKE_FF_MT_SHIFT 3
305
#define FXOS8700_IPOL_MASK 0x02
306
#define FXOS8700_IPOL_SHIFT 1
307
#define FXOS8700_PP_OD_MASK 0x01
308
#define FXOS8700_PP_OD_SHIFT 0
309
310
// CTRL_REG4
311
#define FXOS8700_INT_EN_ASLP_MASK 0x80
312
#define FXOS8700_INT_EN_ASLP_SHIFT 7
313
#define FXOS8700_INT_EN_FIFO_MASK 0x40
314
#define FXOS8700_INT_EN_FIFO_SHIFT 6
315
#define FXOS8700_INT_EN_TRANS_MASK 0x20
316
#define FXOS8700_INT_EN_TRANS_SHIFT 5
317
#define FXOS8700_INT_EN_LNDPRT_MASK 0x10
318
#define FXOS8700_INT_EN_LNDPRT_SHIFT 4
319
#define FXOS8700_INT_EN_PULSE_MASK 0x08
320
#define FXOS8700_INT_EN_PULSE_SHIFT 3
321
#define FXOS8700_INT_EN_FF_MT_MASK 0x04
322
#define FXOS8700_INT_EN_FF_MT_SHIFT 2
323
#define FXOS8700_INT_EN_DRDY_MASK 0x01
324
#define FXOS8700_INT_EN_DRDY_SHIFT 1
325
326
// CTRL_REG5
327
#define FXOS8700_INT_CFG_ASLP_MASK 0x80
328
#define FXOS8700_INT_CFG_ASLP_SHIFT 7
329
#define FXOS8700_INT_CFG_FIFO_MASK 0x40
330
#define FXOS8700_INT_CFG_FIFO_SHIFT 6
331
#define FXOS8700_INT_CFG_TRANS_MASK 0x20
332
#define FXOS8700_INT_CFG_TRANS_SHIFT 5
333
#define FXOS8700_INT_CFG_LNDPRT_MASK 0x10
334
#define FXOS8700_INT_CFG_LNDPRT_SHIFT 4
335
#define FXOS8700_INT_CFG_PULSE_MASK 0x08
336
#define FXOS8700_INT_CFG_PULSE_SHIFT 3
337
#define FXOS8700_INT_CFG_FF_MT_MASK 0x04
338
#define FXOS8700_INT_CFG_FF_MT_SHIFT 2
339
#define FXOS8700_INT_CFG_VECM_MASK 0x02
340
#define FXOS8700_INT_CFG_VECM_SHIFT 1
341
#define FXOS8700_INT_CFG_DRDY_MASK 0x01
342
#define FXOS8700_INT_CFG_DRDY_SHIFT 0
343
344
// M_DR_STATUS
345
#define FXOS8700_ZYXOW_MASK 0x80
346
#define FXOS8700_ZOW_MASK 0x40
347
#define FXOS8700_YOW_MASK 0x20
348
#define FXOS8700_XOW_MASK 0x10
349
#define FXOS8700_ZYXDR_MASK 0x08
350
#define FXOS8700_ZDR_MASK 0x04
351
#define FXOS8700_YDR_MASK 0x02
352
#define FXOS8700_XDR_MASK 0x01
353
354
// M_THS_CFG
355
#define FXOS8700_M_THS_ELE_MASK 0x80
356
#define FXOS8700_M_THS_ELE_SHIFT 7
357
#define FXOS8700_M_THS_OAE_MASK 0x40
358
#define FXOS8700_M_THS_OAE_SHIFT 6
359
#define FXOS8700_M_THS_ZEFE_MASK 0x20
360
#define FXOS8700_M_THS_ZEFE_SHIFT 5
361
#define FXOS8700_M_THS_YEFE_MASK 0x10
362
#define FXOS8700_M_THS_YEFE_SHIFT 4
363
#define FXOS8700_M_THS_XEFE_MASK 0x08
364
#define FXOS8700_M_THS_XEFE_SHIFT 3
365
#define FXOS8700_M_THS_WAKE_EN_MASK 0x04
366
#define FXOS8700_M_THS_WAKE_EN_SHIFT 2
367
#define FXOS8700_M_THS_INT_EN_MASK 0x02
368
#define FXOS8700_M_THS_INT_EN_SHIFT 1
369
#define FXOS8700_M_THS_INT_CFG_MASK 0x01
370
#define FXOS8700_M_THS_INT_CFG_SHIFT 0
371
372
// M_THS_SRC
373
#define FXOS8700_M_THS_EA_MASK 0x80
374
#define FXOS8700_M_THS_EA_SHIFT 7
375
#define FXOS8700_M_THS_ZHE_MASK 0x20
376
#define FXOS8700_M_THS_ZHE_SHIFT 5
377
#define FXOS8700_M_THS_ZHP_MASK 0x10
378
#define FXOS8700_M_THS_ZHP_SHIFT 4
379
#define FXOS8700_M_THS_YHE_MASK 0x08
380
#define FXOS8700_M_THS_YHE_SHIFT 3
381
#define FXOS8700_M_THS_YHP_MASK 0x04
382
#define FXOS8700_M_THS_YHP_SHIFT 2
383
#define FXOS8700_M_THS_XHE_MASK 0x02
384
#define FXOS8700_M_THS_XHE_SHIFT 1
385
#define FXOS8700_M_THS_XHP_MASK 0x01
386
#define FXOS8700_M_THS_XHP_SHIFT 0
387
388
// M_CTRL_REG1
389
#define FXOS8700_M_ACAL_MASK 0x80
390
#define FXOS8700_M_ACAL_SHIFT 7
391
#define FXOS8700_M_RST_MASK 0x40
392
#define FXOS8700_M_RST_SHIFT 6
393
#define FXOS8700_M_OST_MASK 0x20
394
#define FXOS8700_M_OST_SHIFT 5
395
#define FXOS8700_M_OS_MASK 0x1E
396
#define FXOS8700_M_OS_SHIFT 2
397
#define FXOS8700_M_HMS_MASK 0x03
398
#define FXOS8700_M_HMS_SHIFT 0
399
400
// M_CTRL_REG2
401
#define FXOS8700_M_AUTOINC_MASK 0x20
402
#define FXOS8700_M_AUTOINC_SHIFT 5
403
#define FXOS8700_M_MAXMIN_DIS_MASK 0x10
404
#define FXOS8700_M_MAXMIN_DIS_SHIFT 4
405
#define FXOS8700_M_MAXMIN_DIS_THS_MASK 0x08
406
#define FXOS8700_M_MAXMIN_DIS_THS_SHIFT 3
407
#define FXOS8700_M_MAXMIN_RST_MASK 0x04
408
#define FXOS8700_M_MAXMIN_RST_SHIFT 2
409
#define FXOS8700_M_RST_CNT_MASK 0x03
410
#define FXOS8700_M_RST_CNT_SHIFT 0
411
412
// M_CTRL_REG3
413
#define FXOS8700_M_RAW_MASK 0x80
414
#define FXOS8700_M_RAW_SHIFT 7
415
#define FXOS8700_M_ASLP_OS_MASK 0x70
416
#define FXOS8700_M_ASLP_OS_SHIFT 4
417
#define FXOS8700_M_THS_XYZ_UPDATE_MASK 0x08
418
#define FXOS8700_M_THS_XYZ_UPDATE_SHIFT 3
419
#define FXOS8700_M_ST_Z_MASK 0x04
420
#define FXOS8700_M_ST_Z_SHIFT 2
421
#define FXOS8700_M_ST_XY_MASK 0x03
422
#define FXOS8700_M_ST_XY_SHIFT 0
423
424
// M_INT_SRC
425
#define FXOS8700_SRC_M_THS_MASK 0x04
426
#define FXOS8700_SRC_M_THS_SHIFT 2
427
#define FXOS8700_SRC_M_VECM_MASK 0x02
428
#define FXOS8700_SRC_M_VECM_SHIFT 1
429
#define FXOS8700_SRC_M_DRDY_MASK 0x01
430
#define FXOS8700_SRC_M_DRDY_SHIFT 0
431
432
typedef
struct
433
{
434
uint8
regAddr
;
435
uint8
regValue
;
436
}
fxos8700_Sensor_Specific_Reg_t
;
437
438
typedef
struct
439
{
440
uint8
accelFullScaleRange
;
441
uint8
mode
;
442
uint32
regCount
;
443
fxos8700_Sensor_Specific_Reg_t
regPairs[];
444
}
fxos8700_Sensor_Specific_Settings_t
;
445
446
#endif
/* FXOS8700_H_ */
FXOS8700_OFF_Y
Definition:
fxos8700.h:60
FXOS8700_M_THS_X_MSB
Definition:
fxos8700.h:96
FXOS8700_M_THS_Z_LSB
Definition:
fxos8700.h:101
FXOS8700_M_OUT_X_MSB
Definition:
fxos8700.h:63
FXOS8700_MIN_Z_LSB
Definition:
fxos8700.h:92
FXOS8700_M_VECM_CNT
Definition:
fxos8700.h:120
uint8
unsigned char uint8
Definition:
isf_types.h:76
FXOS8700_M_THS_Y_LSB
Definition:
fxos8700.h:99
FXOS8700_A_VECM_INITX_MSB
Definition:
fxos8700.h:111
FXOS8700_A_FFMT_THS_X_MSB
Definition:
fxos8700.h:127
FXOS8700_SYSMOD
Definition:
fxos8700.h:27
FXOS8700_M_CTRL_REG2
Definition:
fxos8700.h:104
FXOS8700_PULSE_THSY
Definition:
fxos8700.h:48
FXOS8700_M_OFF_Y_LSB
Definition:
fxos8700.h:78
FXOS8700_M_VECM_THS_LSB
Definition:
fxos8700.h:119
FXOS8700_TRANSIENT_CFG
Definition:
fxos8700.h:41
FXOS8700_TEMP
Definition:
fxos8700.h:93
FXOS8700_CTRL_REG4
Definition:
fxos8700.h:57
FXOS8700_PL_THS_REG
Definition:
fxos8700.h:36
fxos8700_Sensor_Specific_Reg_t::regValue
uint8 regValue
Definition:
fxos8700.h:435
FXOS8700_A_VECM_INITZ_MSB
Definition:
fxos8700.h:115
FXOS8700_ASLP_COUNT
Definition:
fxos8700.h:53
FXOS8700_M_CTRL_REG3
Definition:
fxos8700.h:105
FXOS8700_CTRL_REG5
Definition:
fxos8700.h:58
FXOS8700_OFF_X
Definition:
fxos8700.h:59
FXOS8700_OUT_Z_LSB
Definition:
fxos8700.h:24
FXOS8700_PULSE_SRC
Definition:
fxos8700.h:46
FXOS8700_MAX_Y_MSB
Definition:
fxos8700.h:83
FXOS8700_A_FFMT_THS_Z_LSB
Definition:
fxos8700.h:132
FXOS8700_PULSE_THSZ
Definition:
fxos8700.h:49
FXOS8700_M_OUT_X_LSB
Definition:
fxos8700.h:64
FXOS8700_PULSE_CFG
Definition:
fxos8700.h:45
FXOS8700_FF_MT_COUNT
Definition:
fxos8700.h:40
FXOS8700_A_VECM_THS_LSB
Definition:
fxos8700.h:109
FXOS8700_MIN_Z_MSB
Definition:
fxos8700.h:91
FXOS8700_A_VECM_INITY_LSB
Definition:
fxos8700.h:114
FXOS8700_M_OUT_Z_LSB
Definition:
fxos8700.h:68
FXOS8700_CTRL_REG3
Definition:
fxos8700.h:56
FXOS8700_CMP_X_LSB
Definition:
fxos8700.h:70
FXOS8700_INT_SOURCE
Definition:
fxos8700.h:28
FXOS8700_TRANSIENT_COUNT
Definition:
fxos8700.h:44
FXOS8700_CMP_Y_LSB
Definition:
fxos8700.h:72
FXOS8700_M_THS_CFG
Definition:
fxos8700.h:94
FXOS8700_F_SETUP
Definition:
fxos8700.h:25
FXOS8700_OUT_X_LSB
Definition:
fxos8700.h:20
FXOS8700_M_DR_STATUS
Definition:
fxos8700.h:62
FXOS8700_MAX_Y_LSB
Definition:
fxos8700.h:84
FXOS8700_M_OUT_Y_MSB
Definition:
fxos8700.h:65
FXOS8700_M_OFF_X_LSB
Definition:
fxos8700.h:76
FXOS8700_A_VECM_INITY_MSB
Definition:
fxos8700.h:113
FXOS8700_M_VECM_INITY_MSB
Definition:
fxos8700.h:123
FXOS8700_WHO_AM_I
Definition:
fxos8700.h:29
fxos8700_Sensor_Specific_Settings_t
Definition:
fxos8700.h:438
FXOS8700_OUT_Y_MSB
Definition:
fxos8700.h:21
FXOS8700_A_FFMT_THS_Z_MSB
Definition:
fxos8700.h:131
FXOS8700_M_VECM_THS_MSB
Definition:
fxos8700.h:118
FXOS8700_M_VECM_INITX_LSB
Definition:
fxos8700.h:122
FXOS8700_M_THS_X_LSB
Definition:
fxos8700.h:97
FXOS8700_CTRL_REG1
Definition:
fxos8700.h:54
FXOS8700_TMLT
Definition:
fxos8700.h:50
FXOS8700_FF_MT_THS
Definition:
fxos8700.h:39
FXOS8700_CTRL_REG2
Definition:
fxos8700.h:55
FXOS8700_M_VECM_INITZ_LSB
Definition:
fxos8700.h:126
FXOS8700_TRIG_CFG
Definition:
fxos8700.h:26
FXOS8700_MIN_X_LSB
Definition:
fxos8700.h:88
FXOS8700_CMP_X_MSB
Definition:
fxos8700.h:69
fxos8700_Sensor_Specific_Settings_t::regCount
uint32 regCount
Definition:
fxos8700.h:442
FXOS8700_MAX_Z_MSB
Definition:
fxos8700.h:85
FXOS8700_OFF_Z
Definition:
fxos8700.h:61
FXOS8700_M_OUT_Z_MSB
Definition:
fxos8700.h:67
FXOS8700_A_VECM_CNT
Definition:
fxos8700.h:110
FXOS8700_M_OFF_X_MSB
Definition:
fxos8700.h:75
fxos8700_Sensor_Specific_Settings_t::mode
uint8 mode
Definition:
fxos8700.h:441
FXOS8700_STATUS
Definition:
fxos8700.h:18
FXOS8700_PULSE_WIND
Definition:
fxos8700.h:52
FXOS8700_CMP_Y_MSB
Definition:
fxos8700.h:71
FXOS8700_MAX_X_LSB
Definition:
fxos8700.h:82
FXOS8700_OUT_X_MSB
Definition:
fxos8700.h:19
FXOS8700_TRANSIENT_SRC
Definition:
fxos8700.h:42
FXOS8700_CMP_Z_MSB
Definition:
fxos8700.h:73
FXOS8700_A_VECM_INITX_LSB
Definition:
fxos8700.h:112
FXOS8700_MIN_Y_MSB
Definition:
fxos8700.h:89
FXOS8700_A_FFMT_THS_Y_MSB
Definition:
fxos8700.h:129
FXOS8700_PL_CFG
Definition:
fxos8700.h:33
FXOS8700_FF_MT_SRC
Definition:
fxos8700.h:38
FXOS8700_PL_STATUS
Definition:
fxos8700.h:32
FXOS8700_M_VECM_INITX_MSB
Definition:
fxos8700.h:121
FXOS8700_CMP_Z_LSB
Definition:
fxos8700.h:74
FXOS8700_M_OUT_Y_LSB
Definition:
fxos8700.h:66
FXOS8700_FF_MT_CFG
Definition:
fxos8700.h:37
FXOS8700_MAX_X_MSB
Definition:
fxos8700.h:81
FXOS8700_MAX_Z_LSB
Definition:
fxos8700.h:86
FXOS8700_M_OFF_Y_MSB
Definition:
fxos8700.h:77
FXOS8700_M_VECM_INITY_LSB
Definition:
fxos8700.h:124
FXOS8700_M_THS_COUNT
Definition:
fxos8700.h:102
FXOS8700_M_THS_Y_MSB
Definition:
fxos8700.h:98
FXOS8700_A_FFMT_THS_X_LSB
Definition:
fxos8700.h:128
FXOS8700_M_THS_Z_MSB
Definition:
fxos8700.h:100
FXOS8700_M_OFF_Z_LSB
Definition:
fxos8700.h:80
fxos8700_Sensor_Specific_Settings_t::accelFullScaleRange
uint8 accelFullScaleRange
Definition:
fxos8700.h:440
FXOS8700_A_VECM_INITZ_LSB
Definition:
fxos8700.h:116
FXOS8700_M_VECM_INITZ_MSB
Definition:
fxos8700.h:125
FXOS8700_HP_FILTER_CUTOFF
Definition:
fxos8700.h:31
FXOS8700_XYZ_DATA_CFG
Definition:
fxos8700.h:30
FXOS8700_M_THS_SRC
Definition:
fxos8700.h:95
FXOS8700_PL_BF_ZCOMP
Definition:
fxos8700.h:35
uint32
unsigned long int uint32
Definition:
isf_types.h:78
FXOS8700_PULSE_THSX
Definition:
fxos8700.h:47
FXOS8700_PULSE_LTCY
Definition:
fxos8700.h:51
FXOS8700_A_VECM_THS_MSB
Definition:
fxos8700.h:108
FXOS8700_A_VECM_CFG
Definition:
fxos8700.h:107
FXOS8700_A_FFMT_THS_Y_LSB
Definition:
fxos8700.h:130
FXOS8700_M_CTRL_REG1
Definition:
fxos8700.h:103
FXOS8700_PL_COUNT
Definition:
fxos8700.h:34
FXOS8700_OUT_Z_MSB
Definition:
fxos8700.h:23
FXOS8700_M_VECM_CFG
Definition:
fxos8700.h:117
FXOS8700_M_OFF_Z_MSB
Definition:
fxos8700.h:79
fxos8700_Sensor_Specific_Reg_t
Definition:
fxos8700.h:432
fxos8700_regmap_tag
fxos8700_regmap_tag
FXOS8700 internal register addresses explained in the FXOS8700 data sheet.
Definition:
fxos8700.h:17
FXOS8700_OUT_Y_LSB
Definition:
fxos8700.h:22
FXOS8700_TRANSIENT_THS
Definition:
fxos8700.h:43
FXOS8700_MIN_Y_LSB
Definition:
fxos8700.h:90
FXOS8700_MIN_X_MSB
Definition:
fxos8700.h:87
FXOS8700_M_INT_SRC
Definition:
fxos8700.h:106
fxos8700_Sensor_Specific_Reg_t::regAddr
uint8 regAddr
Definition:
fxos8700.h:434
© Freescale Semiconductor, Inc. 2016. All Rights Reserved.