| ICM42688P eMD Driver 2.0.9 Documentation of the eMD Driver API

- Main Page
- Related Pages
- Modules
- Classes
- Files

- File List
- File Members

Icm426xxDriver_HL_apex.h
Go to the documentation of this file.
1 /*
2 * ________________________________________________________________________________________________________
3 * Copyright (c) 2017 InvenSense Inc. All rights reserved.
4 *
5 * This software, related documentation and any modifications thereto (collectively “Software”) is subject
6 * to InvenSense and its licensors' intellectual property rights under U.S. and international copyright
7 * and other intellectual property rights laws.
8 *
9 * InvenSense and its licensors retain all intellectual property and proprietary rights in and to the Software
10 * and any use, reproduction, disclosure or distribution of the Software without an express license agreement
11 * from InvenSense is strictly prohibited.
12 *
13 * EXCEPT AS OTHERWISE PROVIDED IN A LICENSE AGREEMENT BETWEEN THE PARTIES, THE SOFTWARE IS
14 * PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
15 * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
16 * EXCEPT AS OTHERWISE PROVIDED IN A LICENSE AGREEMENT BETWEEN THE PARTIES, IN NO EVENT SHALL
17 * INVENSENSE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
18 * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
19 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
20 * OF THE SOFTWARE.
21 * ________________________________________________________________________________________________________
22 */
23
31 #ifndef _INV_ICM426xx_DRIVER_HL_APEX_H_
32 #define _INV_ICM426xx_DRIVER_HL_APEX_H_
33
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37
38 #include "Invn/Drivers/Icm426xx/Icm426xxDefs.h"
39
40 #include "Invn/InvError.h"
41
42 #include <stdint.h>
43 #include <string.h>
44
45 /* Forward declarations */
46 struct inv_icm426xx;
47
50 typedef struct {
51 uint8_t min_jerk_thr;
52 ICM426XX_APEX_CONFIG7_TAP_MAX_PEAK_TOL_t max_peak_tol;
53 ICM426XX_APEX_CONFIG8_TAP_TMAX_t tmax;
54 ICM426XX_APEX_CONFIG8_TAP_TAVG_t tavg;
55 ICM426XX_APEX_CONFIG8_TAP_TMIN_t tmin;
56 } inv_icm426xx_tap_parameters_t;
57
60 typedef struct inv_icm426xx_apex_parameters {
62 ICM426XX_APEX_CONFIG2_PEDO_AMP_TH_t pedo_amp_th;
63
67 uint8_t pedo_step_cnt_th;
68
72 uint8_t pedo_step_det_th;
73
77 ICM426XX_APEX_CONFIG3_PEDO_SB_TIMER_TH_t pedo_sb_timer_th;
78
80 ICM426XX_APEX_CONFIG3_PEDO_HI_ENRGY_TH_t pedo_hi_enrgy_th;
81
83 ICM426XX_APEX_CONFIG4_TILT_WAIT_TIME_t tilt_wait_time;
84
86 ICM426XX_APEX_CONFIG1_DMP_POWER_SAVE_TIME_t power_save_time;
87
91 ICM426XX_APEX_CONFIG0_DMP_POWER_SAVE_t power_save;
92
97 ICM426XX_APEX_CONFIG9_SENSITIVITY_MODE_t sensitivity_mode;
98
99 #if defined(ICM_FAMILY_BPLUS)
101 ICM426XX_APEX_CONFIG4_R2W_SLEEP_TIME_OUT_t r2w_sleep_time_out;
102
104 ICM426XX_APEX_CONFIG5_R2W_MOUNTING_MATRIX_t r2w_mounting_matrix;
105
107 ICM426XX_APEX_CONFIG6_R2W_SLEEP_GEST_DELAY_t r2w_gest_delay;
108
109 #elif defined(ICM_FAMILY_CPLUS)
110
114 ICM426XX_APEX_CONFIG10_FF_DEBOUNCE_DURATION_t ff_debounce_duration;
115
119 ICM426XX_APEX_CONFIG10_FF_MAX_DURATION_t ff_max_duration_cm;
120
124 ICM426XX_APEX_CONFIG10_FF_MIN_DURATION_t ff_min_duration_cm;
125
129 ICM426XX_APEX_CONFIG5_LOWG_PEAK_TH_t lowg_peak_th;
130
132 ICM426XX_APEX_CONFIG4_LOWG_PEAK_TH_HYST_t lowg_peak_hyst;
133
137 ICM426XX_APEX_CONFIG5_LOWG_TIME_TH_SAMPLES_t lowg_samples_th;
138
142 ICM426XX_APEX_CONFIG6_HIGHG_PEAK_TH_t highg_peak_th;
143
145 ICM426XX_APEX_CONFIG4_HIGHG_PEAK_TH_HYST_t highg_peak_hyst;
146
150 ICM426XX_APEX_CONFIG6_HIGHG_TIME_TH_SAMPLES_t highg_samples_th;
151 #endif
152
154 ICM426XX_APEX_CONFIG1_LOW_ENERGY_AMP_TH_t low_energy_amp_th;
155 } inv_icm426xx_apex_parameters_t;
156
159 typedef struct inv_icm426xx_apex_step_activity {
161 uint16_t step_cnt;
162
167 uint8_t step_cadence;
168
170 uint8_t activity_class;
171 } inv_icm426xx_apex_step_activity_t;
172
175 typedef struct inv_icm426xx_tap_data {
177 ICM426XX_APEX_DATA4_TAP_NUM_t tap_num;
178
180 ICM426XX_APEX_DATA4_TAP_AXIS_t tap_axis;
181
183 ICM426XX_APEX_DATA4_TAP_DIR_t tap_dir;
184
188 uint8_t double_tap_timing;
189 } inv_icm426xx_tap_data_t;
190
200 int inv_icm426xx_configure_smd_wom(struct inv_icm426xx *s, const uint8_t x_th, const uint8_t y_th,
201 const uint8_t z_th, ICM426XX_SMD_CONFIG_WOM_INT_MODE_t wom_int,
202 ICM426XX_SMD_CONFIG_WOM_MODE_t wom_mode);
203
213 int inv_icm426xx_enable_wom(struct inv_icm426xx *s);
214
220 int inv_icm426xx_disable_wom(struct inv_icm426xx *s);
221
230 int inv_icm426xx_enable_smd(struct inv_icm426xx *s);
231
237 int inv_icm426xx_disable_smd(struct inv_icm426xx *s);
238
244 int inv_icm426xx_init_tap_parameters_struct(struct inv_icm426xx * s,
245 inv_icm426xx_tap_parameters_t *tap_inputs);
246
252 int inv_icm426xx_configure_tap_parameters(struct inv_icm426xx * s,
253 const inv_icm426xx_tap_parameters_t *tap_inputs);
254
260 int inv_icm426xx_get_tap_parameters(struct inv_icm426xx * s,
261 inv_icm426xx_tap_parameters_t *tap_params);
262
270 int inv_icm426xx_enable_tap(struct inv_icm426xx *s);
271
276 int inv_icm426xx_disable_tap(struct inv_icm426xx *s);
277
283 int inv_icm426xx_init_apex_parameters_struct(struct inv_icm426xx * s,
284 inv_icm426xx_apex_parameters_t *apex_inputs);
285
294 int inv_icm426xx_configure_apex_parameters(struct inv_icm426xx * s,
295 const inv_icm426xx_apex_parameters_t *apex_inputs);
296
302 int inv_icm426xx_get_apex_parameters(struct inv_icm426xx * s,
303 inv_icm426xx_apex_parameters_t *apex_params);
304
314 int inv_icm426xx_set_apex_frequency(struct inv_icm426xx * s,
315 const ICM426XX_APEX_CONFIG0_DMP_ODR_t frequency);
316
321 int inv_icm426xx_start_dmp(struct inv_icm426xx *s);
322
327 int inv_icm426xx_reset_dmp(struct inv_icm426xx *s);
328
335 int inv_icm426xx_enable_apex_pedometer(struct inv_icm426xx *s);
336
341 int inv_icm426xx_disable_apex_pedometer(struct inv_icm426xx *s);
342
343 #if defined(ICM_FAMILY_BPLUS)
344
350 int inv_icm426xx_enable_apex_r2w(struct inv_icm426xx *s);
351
356 int inv_icm426xx_disable_apex_r2w(struct inv_icm426xx *s);
357
358 #elif defined(ICM_FAMILY_CPLUS)
359
364 int inv_icm426xx_enable_apex_ff(struct inv_icm426xx *s);
365
370 int inv_icm426xx_disable_apex_ff(struct inv_icm426xx *s);
371
376 int inv_icm426xx_disable_apex_lowg(struct inv_icm426xx *s);
377
382 int inv_icm426xx_enable_apex_lowg(struct inv_icm426xx *s);
383
384 #endif
385
391 int inv_icm426xx_enable_apex_tilt(struct inv_icm426xx *s);
392
397 int inv_icm426xx_disable_apex_tilt(struct inv_icm426xx *s);
398
404 int inv_icm426xx_get_apex_data_activity(struct inv_icm426xx * s,
405 inv_icm426xx_apex_step_activity_t *apex_activity);
406
412 int inv_icm426xx_get_tap_data(struct inv_icm426xx *s, inv_icm426xx_tap_data_t *tap_data);
413
424 int inv_icm426xx_load_dmp_sram_code(struct inv_icm426xx *s, const uint8_t *dmp_prog,
425 const uint32_t start_offset, const uint32_t size);
426
427 #ifdef __cplusplus
428 }
429 #endif
430
431 #endif /* _INV_ICM426xx_DRIVER_HL_APEX_H_ */
432
Icm426xxDefs.h
File exposing the device register map.
ICM426XX_APEX_CONFIG3_PEDO_HI_ENRGY_TH_t
ICM426XX_APEX_CONFIG3_PEDO_HI_ENRGY_TH_t
Definition: Icm426xxDefs.h:1842
ICM426XX_APEX_CONFIG8_TAP_TMIN_t
ICM426XX_APEX_CONFIG8_TAP_TMIN_t
Definition: Icm426xxDefs.h:2144
ICM426XX_APEX_DATA4_TAP_NUM_t
ICM426XX_APEX_DATA4_TAP_NUM_t
Definition: Icm426xxDefs.h:477
ICM426XX_APEX_CONFIG8_TAP_TAVG_t
ICM426XX_APEX_CONFIG8_TAP_TAVG_t
Definition: Icm426xxDefs.h:2133
ICM426XX_APEX_DATA4_TAP_AXIS_t
ICM426XX_APEX_DATA4_TAP_AXIS_t
Definition: Icm426xxDefs.h:485
ICM426XX_SMD_CONFIG_WOM_INT_MODE_t
ICM426XX_SMD_CONFIG_WOM_INT_MODE_t
Definition: Icm426xxDefs.h:1032
ICM426XX_APEX_CONFIG0_DMP_POWER_SAVE_t
ICM426XX_APEX_CONFIG0_DMP_POWER_SAVE_t
Definition: Icm426xxDefs.h:943
ICM426XX_APEX_DATA4_TAP_DIR_t
ICM426XX_APEX_DATA4_TAP_DIR_t
Definition: Icm426xxDefs.h:494
ICM426XX_SMD_CONFIG_WOM_MODE_t
ICM426XX_SMD_CONFIG_WOM_MODE_t
Definition: Icm426xxDefs.h:1041
ICM426XX_APEX_CONFIG2_PEDO_AMP_TH_t
ICM426XX_APEX_CONFIG2_PEDO_AMP_TH_t
Definition: Icm426xxDefs.h:1761
ICM426XX_APEX_CONFIG6_R2W_SLEEP_GEST_DELAY_t
ICM426XX_APEX_CONFIG6_R2W_SLEEP_GEST_DELAY_t
Definition: Icm426xxDefs.h:1915
ICM426XX_APEX_CONFIG1_DMP_POWER_SAVE_TIME_t
ICM426XX_APEX_CONFIG1_DMP_POWER_SAVE_TIME_t
Definition: Icm426xxDefs.h:1657
ICM426XX_APEX_CONFIG1_LOW_ENERGY_AMP_TH_t
ICM426XX_APEX_CONFIG1_LOW_ENERGY_AMP_TH_t
Definition: Icm426xxDefs.h:1682
ICM426XX_APEX_CONFIG3_PEDO_SB_TIMER_TH_t
ICM426XX_APEX_CONFIG3_PEDO_SB_TIMER_TH_t
Definition: Icm426xxDefs.h:1818
ICM426XX_APEX_CONFIG5_R2W_MOUNTING_MATRIX_t
ICM426XX_APEX_CONFIG5_R2W_MOUNTING_MATRIX_t
Definition: Icm426xxDefs.h:1893
ICM426XX_APEX_CONFIG4_TILT_WAIT_TIME_t
ICM426XX_APEX_CONFIG4_TILT_WAIT_TIME_t
Definition: Icm426xxDefs.h:1859
ICM426XX_APEX_CONFIG9_SENSITIVITY_MODE_t
ICM426XX_APEX_CONFIG9_SENSITIVITY_MODE_t
Definition: Icm426xxDefs.h:2161
ICM426XX_APEX_CONFIG7_TAP_MAX_PEAK_TOL_t
ICM426XX_APEX_CONFIG7_TAP_MAX_PEAK_TOL_t
Definition: Icm426xxDefs.h:2106
ICM426XX_APEX_CONFIG8_TAP_TMAX_t
ICM426XX_APEX_CONFIG8_TAP_TMAX_t
Definition: Icm426xxDefs.h:2122
ICM426XX_APEX_CONFIG0_DMP_ODR_t
ICM426XX_APEX_CONFIG0_DMP_ODR_t
DMP ODR selection.
Definition: Icm426xxDefs.h:1014
ICM426XX_APEX_CONFIG4_R2W_SLEEP_TIME_OUT_t
ICM426XX_APEX_CONFIG4_R2W_SLEEP_TIME_OUT_t
Definition: Icm426xxDefs.h:1872
inv_icm426xx_disable_wom
int inv_icm426xx_disable_wom(struct inv_icm426xx *s)
Disable Wake On Motion.
inv_icm426xx_apex_step_activity_t
struct inv_icm426xx_apex_step_activity inv_icm426xx_apex_step_activity_t
APEX pedometer outputs.
inv_icm426xx_disable_tap
int inv_icm426xx_disable_tap(struct inv_icm426xx *s)
Disable TAP.
inv_icm426xx_enable_tap
int inv_icm426xx_enable_tap(struct inv_icm426xx *s)
Enable TAP.
inv_icm426xx_reset_dmp
int inv_icm426xx_reset_dmp(struct inv_icm426xx *s)
Reset DMP memory.
inv_icm426xx_init_apex_parameters_struct
int inv_icm426xx_init_apex_parameters_struct(struct inv_icm426xx *s, inv_icm426xx_apex_parameters_t *apex_inputs)
Fill the APEX parameters structure with all the default parameters for APEX algorithms (pedometer,...
inv_icm426xx_disable_smd
int inv_icm426xx_disable_smd(struct inv_icm426xx *s)
Disable Significant Motion Detection.
inv_icm426xx_enable_smd
int inv_icm426xx_enable_smd(struct inv_icm426xx *s)
Enable Significant Motion Detection.
inv_icm426xx_configure_apex_parameters
int inv_icm426xx_configure_apex_parameters(struct inv_icm426xx *s, const inv_icm426xx_apex_parameters_t *apex_inputs)
Configures DMP parameters for APEX algorithms (pedometer, tilt).
inv_icm426xx_init_tap_parameters_struct
int inv_icm426xx_init_tap_parameters_struct(struct inv_icm426xx *s, inv_icm426xx_tap_parameters_t *tap_inputs)
Fill the TAP parameters structure with all the default parameters for TAP algorithm.
inv_icm426xx_disable_apex_tilt
int inv_icm426xx_disable_apex_tilt(struct inv_icm426xx *s)
Disable APEX algorithm Tilt.
inv_icm426xx_enable_apex_tilt
int inv_icm426xx_enable_apex_tilt(struct inv_icm426xx *s)
Enable APEX algorithm Tilt.
inv_icm426xx_get_tap_parameters
int inv_icm426xx_get_tap_parameters(struct inv_icm426xx *s, inv_icm426xx_tap_parameters_t *tap_params)
Returns current TAP parameters.
inv_icm426xx_start_dmp
int inv_icm426xx_start_dmp(struct inv_icm426xx *s)
Start DMP for APEX algorithms.
inv_icm426xx_configure_tap_parameters
int inv_icm426xx_configure_tap_parameters(struct inv_icm426xx *s, const inv_icm426xx_tap_parameters_t *tap_inputs)
Configure TAP.
inv_icm426xx_get_apex_parameters
int inv_icm426xx_get_apex_parameters(struct inv_icm426xx *s, inv_icm426xx_apex_parameters_t *apex_params)
Returns current DMP parameters for APEX algorithms (pedometer, tilt).
inv_icm426xx_load_dmp_sram_code
int inv_icm426xx_load_dmp_sram_code(struct inv_icm426xx *s, const uint8_t *dmp_prog, const uint32_t start_offset, const uint32_t size)
Load custom DMP image into SRAM.
inv_icm426xx_enable_wom
int inv_icm426xx_enable_wom(struct inv_icm426xx *s)
Enable Wake On Motion.
inv_icm426xx_tap_data_t
struct inv_icm426xx_tap_data inv_icm426xx_tap_data_t
TAP outputs.
inv_icm426xx_configure_smd_wom
int inv_icm426xx_configure_smd_wom(struct inv_icm426xx *s, const uint8_t x_th, const uint8_t y_th, const uint8_t z_th, ICM426XX_SMD_CONFIG_WOM_INT_MODE_t wom_int, ICM426XX_SMD_CONFIG_WOM_MODE_t wom_mode)
Configure Wake On Motion and SMD thresholds.
inv_icm426xx_disable_apex_pedometer
int inv_icm426xx_disable_apex_pedometer(struct inv_icm426xx *s)
Disable APEX algorithm Pedometer.
inv_icm426xx_set_apex_frequency
int inv_icm426xx_set_apex_frequency(struct inv_icm426xx *s, const ICM426XX_APEX_CONFIG0_DMP_ODR_t frequency)
Configure DMP Output Data Rate for APEX algorithms (pedometer, tilt)
inv_icm426xx_apex_parameters_t
struct inv_icm426xx_apex_parameters inv_icm426xx_apex_parameters_t
Icm426xx APEX inputs parameters definition.
inv_icm426xx_enable_apex_pedometer
int inv_icm426xx_enable_apex_pedometer(struct inv_icm426xx *s)
Enable APEX algorithm Pedometer.
inv_icm426xx_get_tap_data
int inv_icm426xx_get_tap_data(struct inv_icm426xx *s, inv_icm426xx_tap_data_t *tap_data)
Retrieve tap outputs.
inv_icm426xx_get_apex_data_activity
int inv_icm426xx_get_apex_data_activity(struct inv_icm426xx *s, inv_icm426xx_apex_step_activity_t *apex_activity)
Retrieve APEX pedometer outputs and format them.
inv_icm426xx
Icm426xx driver states definition.
Definition: Icm426xxDriver_HL.h:171
inv_icm426xx_tap_parameters_t
Icm426xx TAP inputs parameters definition.
Definition: Icm426xxDriver_HL_apex.h:50
inv_icm426xx_tap_parameters_t::max_peak_tol
ICM426XX_APEX_CONFIG7_TAP_MAX_PEAK_TOL_t max_peak_tol
Maximum peak tolerance.
Definition: Icm426xxDriver_HL_apex.h:52
inv_icm426xx_tap_parameters_t::tavg
ICM426XX_APEX_CONFIG8_TAP_TAVG_t tavg
Energy measumerement window.
Definition: Icm426xxDriver_HL_apex.h:54
inv_icm426xx_tap_parameters_t::tmin
ICM426XX_APEX_CONFIG8_TAP_TMIN_t tmin
Single tap window.
Definition: Icm426xxDriver_HL_apex.h:55
inv_icm426xx_tap_parameters_t::min_jerk_thr
uint8_t min_jerk_thr
Minimum Jerk Threshold.
Definition: Icm426xxDriver_HL_apex.h:51
inv_icm426xx_tap_parameters_t::tmax
ICM426XX_APEX_CONFIG8_TAP_TMAX_t tmax
Tap measurement window.
Definition: Icm426xxDriver_HL_apex.h:53
inv_icm426xx_apex_parameters
Icm426xx APEX inputs parameters definition.
Definition: Icm426xxDriver_HL_apex.h:60
inv_icm426xx_apex_parameters::pedo_hi_enrgy_th
ICM426XX_APEX_CONFIG3_PEDO_HI_ENRGY_TH_t pedo_hi_enrgy_th
Threshold to improve run detection if not steps are counted while running.
Definition: Icm426xxDriver_HL_apex.h:80
inv_icm426xx_apex_parameters::low_energy_amp_th
ICM426XX_APEX_CONFIG1_LOW_ENERGY_AMP_TH_t low_energy_amp_th
Peak threshold value to be considered as a valid step (mg) in Slow walk mode.
Definition: Icm426xxDriver_HL_apex.h:154
inv_icm426xx_apex_parameters::pedo_step_det_th
uint8_t pedo_step_det_th
Minimum number of low latency steps that must be detected before the pedometer step count begins incr...
Definition: Icm426xxDriver_HL_apex.h:72
inv_icm426xx_apex_parameters::pedo_sb_timer_th
ICM426XX_APEX_CONFIG3_PEDO_SB_TIMER_TH_t pedo_sb_timer_th
Duration of non-walk to exit the current walk mode, pedo_step_cnt_th number of steps must again be de...
Definition: Icm426xxDriver_HL_apex.h:77
inv_icm426xx_apex_parameters::pedo_amp_th
ICM426XX_APEX_CONFIG2_PEDO_AMP_TH_t pedo_amp_th
Peak threshold value to be considered as a valid step (mg)
Definition: Icm426xxDriver_HL_apex.h:62
inv_icm426xx_apex_parameters::power_save
ICM426XX_APEX_CONFIG0_DMP_POWER_SAVE_t power_save
Power save mode for APEX algorithms.
Definition: Icm426xxDriver_HL_apex.h:91
inv_icm426xx_apex_parameters::tilt_wait_time
ICM426XX_APEX_CONFIG4_TILT_WAIT_TIME_t tilt_wait_time
Number of accelerometer samples to wait before triggering tilt event.
Definition: Icm426xxDriver_HL_apex.h:83
inv_icm426xx_apex_parameters::sensitivity_mode
ICM426XX_APEX_CONFIG9_SENSITIVITY_MODE_t sensitivity_mode
Sensitivity mode Normal(0) or Slow walk(1).
Definition: Icm426xxDriver_HL_apex.h:97
inv_icm426xx_apex_parameters::power_save_time
ICM426XX_APEX_CONFIG1_DMP_POWER_SAVE_TIME_t power_save_time
Definition: Icm426xxDriver_HL_apex.h:86
inv_icm426xx_apex_parameters::pedo_step_cnt_th
uint8_t pedo_step_cnt_th
Minimum number of steps that must be detected before the pedometer step count begins incrementing.
Definition: Icm426xxDriver_HL_apex.h:67
inv_icm426xx_apex_step_activity
APEX pedometer outputs.
Definition: Icm426xxDriver_HL_apex.h:159
inv_icm426xx_apex_step_activity::step_cnt
uint16_t step_cnt
Number of steps taken.
Definition: Icm426xxDriver_HL_apex.h:161
inv_icm426xx_apex_step_activity::activity_class
uint8_t activity_class
Detected activity unknown (0), walk (1) or run (2)
Definition: Icm426xxDriver_HL_apex.h:170
inv_icm426xx_apex_step_activity::step_cadence
uint8_t step_cadence
Walk/run cadency in number of samples.
Definition: Icm426xxDriver_HL_apex.h:167
inv_icm426xx_tap_data
TAP outputs.
Definition: Icm426xxDriver_HL_apex.h:175
inv_icm426xx_tap_data::tap_dir
ICM426XX_APEX_DATA4_TAP_DIR_t tap_dir
Direction of the tap, either +axis (1) or -axis (0)
Definition: Icm426xxDriver_HL_apex.h:183
inv_icm426xx_tap_data::tap_axis
ICM426XX_APEX_DATA4_TAP_AXIS_t tap_axis
Axis along which tap has been detected.
Definition: Icm426xxDriver_HL_apex.h:180
inv_icm426xx_tap_data::tap_num
ICM426XX_APEX_DATA4_TAP_NUM_t tap_num
Detects single (1) or double (2) tap.
Definition: Icm426xxDriver_HL_apex.h:177
inv_icm426xx_tap_data::double_tap_timing
uint8_t double_tap_timing
Timing between both taps of a double tap expressed in 1/16th of odr in ms (e.g At 500Hz,...
Definition: Icm426xxDriver_HL_apex.h:188