| ICM40609D eMD Driver 2.0.0 Documentation of the eMD Driver API

- Main Page
- Modules
- Classes
- Files

- File List
- File Members

Icm406xxDriver_HL_ois.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
34 #ifndef _INV_ICM406xx_DRIVER_HL_OIS_H_
35 #define _INV_ICM406xx_DRIVER_HL_OIS_H_
36
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40
41 #include "Icm406xxDriver_HL.h"
42
62 int inv_icm406xx_init_ois(struct inv_icm406xx *s, struct inv_icm406xx_serif *serif);
63
68 int inv_icm406xx_get_who_am_i_ois(struct inv_icm406xx *s, uint8_t *who_am_i);
69
77 int inv_icm406xx_enable_ois1(struct inv_icm406xx *s);
78
82 int inv_icm406xx_disable_ois1(struct inv_icm406xx *s);
83
91 int inv_icm406xx_enable_ois2(struct inv_icm406xx *s);
92
96 int inv_icm406xx_disable_ois2(struct inv_icm406xx *s);
97
102 int inv_icm406xx_set_gyro_fsr_ois1(struct inv_icm406xx * s,
103 ICM406XX_OIS1_CONFIG2_GYRO_FS_SEL_t gyro_fsr_dps);
104
109 int inv_icm406xx_set_gyro_fsr_ois2(struct inv_icm406xx * s,
110 ICM406XX_OIS2_CONFIG2_GYRO_FS_SEL_t gyro_fsr_dps);
111
116 int inv_icm406xx_set_ois1_frequency(struct inv_icm406xx * s,
117 const ICM406XX_OIS1_CONFIG1_DEC_t decimator);
118
123 int inv_icm406xx_set_ois2_frequency(struct inv_icm406xx * s,
124 const ICM406XX_OIS2_CONFIG1_DEC_t decimator);
125
129 int inv_icm406xx_get_data_ois1(struct inv_icm406xx *s, int16_t gyro_data[3]);
130
134 int inv_icm406xx_get_data_ois2(struct inv_icm406xx *s, int16_t gyro_data[3]);
135
136 #ifdef __cplusplus
137 }
138 #endif
139
140 #endif /* _INV_ICM406xx_DRIVER_HL_OIS_H_ */
141
Icm406xxDriver_HL.h
High-level function to setup an Icm406xx device.
inv_icm406xx_disable_ois1
int inv_icm406xx_disable_ois1(struct inv_icm406xx *s)
Disable gyrometer on auxiliary path 1.
Definition: Icm406xxDriver_HL_ois.c:99
inv_icm406xx_enable_ois1
int inv_icm406xx_enable_ois1(struct inv_icm406xx *s)
Enable gyrometer on auxiliary path 1.
Definition: Icm406xxDriver_HL_ois.c:55
inv_icm406xx_get_data_ois2
int inv_icm406xx_get_data_ois2(struct inv_icm406xx *s, int16_t gyro_data[3])
Get gyrometer data from auxiliary path 2.
Definition: Icm406xxDriver_HL_ois.c:216
inv_icm406xx_disable_ois2
int inv_icm406xx_disable_ois2(struct inv_icm406xx *s)
Disable gyrometer on auxiliary path 2.
Definition: Icm406xxDriver_HL_ois.c:155
inv_icm406xx_get_who_am_i_ois
int inv_icm406xx_get_who_am_i_ois(struct inv_icm406xx *s, uint8_t *who_am_i)
return WHOAMI value
Definition: Icm406xxDriver_HL_ois.c:44
inv_icm406xx_set_gyro_fsr_ois2
int inv_icm406xx_set_gyro_fsr_ois2(struct inv_icm406xx *s, ICM406XX_OIS2_CONFIG2_GYRO_FS_SEL_t gyro_fsr_dps)
Set gyro full scale range on auxiliary path 2.
Definition: Icm406xxDriver_HL_ois.c:173
inv_icm406xx_get_data_ois1
int inv_icm406xx_get_data_ois1(struct inv_icm406xx *s, int16_t gyro_data[3])
Get gyrometer data from auxiliary path 1.
Definition: Icm406xxDriver_HL_ois.c:191
inv_icm406xx_init_ois
int inv_icm406xx_init_ois(struct inv_icm406xx *s, struct inv_icm406xx_serif *serif)
Configure the serial interface used to access the device and execute hardware initialization.
Definition: Icm406xxDriver_HL_ois.c:27
inv_icm406xx_set_ois1_frequency
int inv_icm406xx_set_ois1_frequency(struct inv_icm406xx *s, const ICM406XX_OIS1_CONFIG1_DEC_t decimator)
Configure OIS Output Data Rate on auxiliary path 1.
Definition: Icm406xxDriver_HL_ois.c:179
inv_icm406xx_set_gyro_fsr_ois1
int inv_icm406xx_set_gyro_fsr_ois1(struct inv_icm406xx *s, ICM406XX_OIS1_CONFIG2_GYRO_FS_SEL_t gyro_fsr_dps)
Set gyro full scale range on auxiliary path 1.
Definition: Icm406xxDriver_HL_ois.c:167
inv_icm406xx_enable_ois2
int inv_icm406xx_enable_ois2(struct inv_icm406xx *s)
Enable gyrometer on auxiliary path 2.
Definition: Icm406xxDriver_HL_ois.c:111
inv_icm406xx_set_ois2_frequency
int inv_icm406xx_set_ois2_frequency(struct inv_icm406xx *s, const ICM406XX_OIS2_CONFIG1_DEC_t decimator)
Configure OIS Output Data Rate on auxiliary path 2.
Definition: Icm406xxDriver_HL_ois.c:185
inv_icm406xx
Icm406xx driver states definition.
Definition: Icm406xxDriver_HL.h:79
inv_icm406xx_serif
basesensor serial interface
Definition: Icm406xxTransport.h:58