Garage Door Monitor and Opener
Dependencies: X_NUCLEO_COMMON ST_INTERFACES
Introduction
This system implements a simple garage door opener and environmental monitor. The hardware connects to the internet using Wi-Fi then on to the Pelion Device Management Platform which provides device monitoring and secure firmware updates over the air (FOTA). Pelion Device Management provides a flexible set of REST APIs which we will use to communicate to a web application running on an EC-2 instance in AWS. The web application will serve a web page where we can monitor and control our garage..
This project is intended to work on the DISCO-L475VG-IOT01A from ST Microelectronics It implements a simple actuator to drive a relay to simulate pushing the "open" button on older style garage doors which do not use a rolling code interface.
The system is designed to be mounted over the door so that the on board time of flight sensor can be used to detect if the door is open or closed.
The system also monitors temperature, humidity and barometric pressure.
Hardware Requirements:
DISCO-L475G-IOT01A https://os.mbed.com/platforms/ST-Discovery-L475E-IOT01A/
Seeed Studio Grove Relay module https://www.seeedstudio.com/Grove-Relay.html
Seeed Studio Grove cable, I used this one: https://www.seeedstudio.com/Grove-4-pin-Male-Jumper-to-Grove-4-pin-Conversion-Cable-5-PCs-per-Pack.html
Connect to the PMOD connector like this:
This shows how I installed so that the time of flight sensor can detect when the door is open
To use the project:
You will also need a Pelion developers account.
I suggest you first use the Pelion quick state to become familiar with Pelion Device Management. https://os.mbed.com/guides/connect-device-to-pelion/1/?board=ST-Discovery-L475E-IOT01A
Web Interface
For my web interface I am running node-red under Ubuntu in an EC2 instance on AWS. This can run for 12 month within the constraints of their free tier. Here is a tutorial: https://nodered.org/docs/getting-started/aws
You will also need to install several node-red add ons:
sudo npm install -g node-red-dashboard
sudo npm install -g node-red-contrib-mbed-cloud
sudo npm istall -g node-red-contrib-moment
After starting node-red import the contents of GarageFlow.txt from the project, pin the flow into the page.
To enable your web app to access your Pelion account you need an API key.
First you will neet to use your Pelion account to create an API key.
Now we need to apply that API key to your Node-Red flow.
sensors/LSM6DSL/LSM6DSL_acc_gyro_driver.h@37:ec1124e5ec1f, 2019-12-05 (annotated)
- Committer:
- JimCarver
- Date:
- Thu Dec 05 19:03:48 2019 +0000
- Revision:
- 37:ec1124e5ec1f
- Parent:
- 18:a15bfe7aaebd
Bug fix
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
screamer | 18:a15bfe7aaebd | 1 | /** |
screamer | 18:a15bfe7aaebd | 2 | ****************************************************************************** |
screamer | 18:a15bfe7aaebd | 3 | * @file LSM6DSL_acc_gyro_driver.h |
screamer | 18:a15bfe7aaebd | 4 | * @author MEMS Application Team |
screamer | 18:a15bfe7aaebd | 5 | * @version V1.5 |
screamer | 18:a15bfe7aaebd | 6 | * @date 17-May-2016 |
screamer | 18:a15bfe7aaebd | 7 | * @brief LSM6DSL header driver file |
screamer | 18:a15bfe7aaebd | 8 | ****************************************************************************** |
screamer | 18:a15bfe7aaebd | 9 | * @attention |
screamer | 18:a15bfe7aaebd | 10 | * |
screamer | 18:a15bfe7aaebd | 11 | * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> |
screamer | 18:a15bfe7aaebd | 12 | * |
screamer | 18:a15bfe7aaebd | 13 | * Redistribution and use in source and binary forms, with or without modification, |
screamer | 18:a15bfe7aaebd | 14 | * are permitted provided that the following conditions are met: |
screamer | 18:a15bfe7aaebd | 15 | * 1. Redistributions of source code must retain the above copyright notice, |
screamer | 18:a15bfe7aaebd | 16 | * this list of conditions and the following disclaimer. |
screamer | 18:a15bfe7aaebd | 17 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
screamer | 18:a15bfe7aaebd | 18 | * this list of conditions and the following disclaimer in the documentation |
screamer | 18:a15bfe7aaebd | 19 | * and/or other materials provided with the distribution. |
screamer | 18:a15bfe7aaebd | 20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors |
screamer | 18:a15bfe7aaebd | 21 | * may be used to endorse or promote products derived from this software |
screamer | 18:a15bfe7aaebd | 22 | * without specific prior written permission. |
screamer | 18:a15bfe7aaebd | 23 | * |
screamer | 18:a15bfe7aaebd | 24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
screamer | 18:a15bfe7aaebd | 25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
screamer | 18:a15bfe7aaebd | 26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
screamer | 18:a15bfe7aaebd | 27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
screamer | 18:a15bfe7aaebd | 28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
screamer | 18:a15bfe7aaebd | 29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
screamer | 18:a15bfe7aaebd | 30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
screamer | 18:a15bfe7aaebd | 31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
screamer | 18:a15bfe7aaebd | 32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
screamer | 18:a15bfe7aaebd | 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
screamer | 18:a15bfe7aaebd | 34 | * |
screamer | 18:a15bfe7aaebd | 35 | ****************************************************************************** |
screamer | 18:a15bfe7aaebd | 36 | */ |
screamer | 18:a15bfe7aaebd | 37 | |
screamer | 18:a15bfe7aaebd | 38 | /* Define to prevent recursive inclusion -------------------------------------*/ |
screamer | 18:a15bfe7aaebd | 39 | #ifndef __LSM6DSL_ACC_GYRO_DRIVER__H |
screamer | 18:a15bfe7aaebd | 40 | #define __LSM6DSL_ACC_GYRO_DRIVER__H |
screamer | 18:a15bfe7aaebd | 41 | |
screamer | 18:a15bfe7aaebd | 42 | /* Includes ------------------------------------------------------------------*/ |
screamer | 18:a15bfe7aaebd | 43 | #include <stdint.h> |
screamer | 18:a15bfe7aaebd | 44 | /* Exported types ------------------------------------------------------------*/ |
screamer | 18:a15bfe7aaebd | 45 | |
screamer | 18:a15bfe7aaebd | 46 | #ifdef __cplusplus |
screamer | 18:a15bfe7aaebd | 47 | extern "C" { |
screamer | 18:a15bfe7aaebd | 48 | #endif |
screamer | 18:a15bfe7aaebd | 49 | |
screamer | 18:a15bfe7aaebd | 50 | //these could change accordingly with the architecture |
screamer | 18:a15bfe7aaebd | 51 | |
screamer | 18:a15bfe7aaebd | 52 | #ifndef __ARCHDEP__TYPES |
screamer | 18:a15bfe7aaebd | 53 | #define __ARCHDEP__TYPES |
screamer | 18:a15bfe7aaebd | 54 | |
screamer | 18:a15bfe7aaebd | 55 | typedef unsigned char u8_t; |
screamer | 18:a15bfe7aaebd | 56 | typedef unsigned short int u16_t; |
screamer | 18:a15bfe7aaebd | 57 | typedef unsigned int u32_t; |
screamer | 18:a15bfe7aaebd | 58 | typedef int i32_t; |
screamer | 18:a15bfe7aaebd | 59 | typedef short int i16_t; |
screamer | 18:a15bfe7aaebd | 60 | typedef signed char i8_t; |
screamer | 18:a15bfe7aaebd | 61 | |
screamer | 18:a15bfe7aaebd | 62 | #endif /*__ARCHDEP__TYPES*/ |
screamer | 18:a15bfe7aaebd | 63 | |
screamer | 18:a15bfe7aaebd | 64 | /* Exported common structure --------------------------------------------------------*/ |
screamer | 18:a15bfe7aaebd | 65 | |
screamer | 18:a15bfe7aaebd | 66 | #ifndef __SHARED__TYPES |
screamer | 18:a15bfe7aaebd | 67 | #define __SHARED__TYPES |
screamer | 18:a15bfe7aaebd | 68 | |
screamer | 18:a15bfe7aaebd | 69 | typedef union{ |
screamer | 18:a15bfe7aaebd | 70 | i16_t i16bit[3]; |
screamer | 18:a15bfe7aaebd | 71 | u8_t u8bit[6]; |
screamer | 18:a15bfe7aaebd | 72 | } Type3Axis16bit_U; |
screamer | 18:a15bfe7aaebd | 73 | |
screamer | 18:a15bfe7aaebd | 74 | typedef union{ |
screamer | 18:a15bfe7aaebd | 75 | i16_t i16bit; |
screamer | 18:a15bfe7aaebd | 76 | u8_t u8bit[2]; |
screamer | 18:a15bfe7aaebd | 77 | } Type1Axis16bit_U; |
screamer | 18:a15bfe7aaebd | 78 | |
screamer | 18:a15bfe7aaebd | 79 | typedef union{ |
screamer | 18:a15bfe7aaebd | 80 | i32_t i32bit; |
screamer | 18:a15bfe7aaebd | 81 | u8_t u8bit[4]; |
screamer | 18:a15bfe7aaebd | 82 | } Type1Axis32bit_U; |
screamer | 18:a15bfe7aaebd | 83 | |
screamer | 18:a15bfe7aaebd | 84 | typedef enum { |
screamer | 18:a15bfe7aaebd | 85 | MEMS_SUCCESS = 0x01, |
screamer | 18:a15bfe7aaebd | 86 | MEMS_ERROR = 0x00 |
screamer | 18:a15bfe7aaebd | 87 | } mems_status_t; |
screamer | 18:a15bfe7aaebd | 88 | |
screamer | 18:a15bfe7aaebd | 89 | #endif /*__SHARED__TYPES*/ |
screamer | 18:a15bfe7aaebd | 90 | |
screamer | 18:a15bfe7aaebd | 91 | /* Exported macro ------------------------------------------------------------*/ |
screamer | 18:a15bfe7aaebd | 92 | |
screamer | 18:a15bfe7aaebd | 93 | /* Exported constants --------------------------------------------------------*/ |
screamer | 18:a15bfe7aaebd | 94 | |
screamer | 18:a15bfe7aaebd | 95 | /************** I2C Address *****************/ |
screamer | 18:a15bfe7aaebd | 96 | |
screamer | 18:a15bfe7aaebd | 97 | #define LSM6DSL_ACC_GYRO_I2C_ADDRESS_LOW 0xD4 // SAD[0] = 0 |
screamer | 18:a15bfe7aaebd | 98 | #define LSM6DSL_ACC_GYRO_I2C_ADDRESS_HIGH 0xD6 // SAD[0] = 1 |
screamer | 18:a15bfe7aaebd | 99 | |
screamer | 18:a15bfe7aaebd | 100 | /************** Who am I *******************/ |
screamer | 18:a15bfe7aaebd | 101 | |
screamer | 18:a15bfe7aaebd | 102 | #define LSM6DSL_ACC_GYRO_WHO_AM_I 0x6A |
screamer | 18:a15bfe7aaebd | 103 | |
screamer | 18:a15bfe7aaebd | 104 | /************** Device Register *******************/ |
screamer | 18:a15bfe7aaebd | 105 | |
screamer | 18:a15bfe7aaebd | 106 | #define LSM6DSL_ACC_GYRO_FUNC_CFG_ACCESS 0X01 |
screamer | 18:a15bfe7aaebd | 107 | |
screamer | 18:a15bfe7aaebd | 108 | #define LSM6DSL_ACC_GYRO_SENSOR_SYNC_TIME 0X04 |
screamer | 18:a15bfe7aaebd | 109 | #define LSM6DSL_ACC_GYRO_SENSOR_RES_RATIO 0X05 |
screamer | 18:a15bfe7aaebd | 110 | |
screamer | 18:a15bfe7aaebd | 111 | #define LSM6DSL_ACC_GYRO_FIFO_CTRL1 0X06 |
screamer | 18:a15bfe7aaebd | 112 | #define LSM6DSL_ACC_GYRO_FIFO_CTRL2 0X07 |
screamer | 18:a15bfe7aaebd | 113 | #define LSM6DSL_ACC_GYRO_FIFO_CTRL3 0X08 |
screamer | 18:a15bfe7aaebd | 114 | #define LSM6DSL_ACC_GYRO_FIFO_CTRL4 0X09 |
screamer | 18:a15bfe7aaebd | 115 | #define LSM6DSL_ACC_GYRO_FIFO_CTRL5 0X0A |
screamer | 18:a15bfe7aaebd | 116 | |
screamer | 18:a15bfe7aaebd | 117 | #define LSM6DSL_ACC_GYRO_DRDY_PULSE_CFG_G 0X0B |
screamer | 18:a15bfe7aaebd | 118 | #define LSM6DSL_ACC_GYRO_INT1_CTRL 0X0D |
screamer | 18:a15bfe7aaebd | 119 | #define LSM6DSL_ACC_GYRO_INT2_CTRL 0X0E |
screamer | 18:a15bfe7aaebd | 120 | #define LSM6DSL_ACC_GYRO_WHO_AM_I_REG 0X0F |
screamer | 18:a15bfe7aaebd | 121 | #define LSM6DSL_ACC_GYRO_CTRL1_XL 0X10 |
screamer | 18:a15bfe7aaebd | 122 | #define LSM6DSL_ACC_GYRO_CTRL2_G 0X11 |
screamer | 18:a15bfe7aaebd | 123 | #define LSM6DSL_ACC_GYRO_CTRL3_C 0X12 |
screamer | 18:a15bfe7aaebd | 124 | #define LSM6DSL_ACC_GYRO_CTRL4_C 0X13 |
screamer | 18:a15bfe7aaebd | 125 | #define LSM6DSL_ACC_GYRO_CTRL5_C 0X14 |
screamer | 18:a15bfe7aaebd | 126 | #define LSM6DSL_ACC_GYRO_CTRL6_G 0X15 |
screamer | 18:a15bfe7aaebd | 127 | #define LSM6DSL_ACC_GYRO_CTRL7_G 0X16 |
screamer | 18:a15bfe7aaebd | 128 | #define LSM6DSL_ACC_GYRO_CTRL8_XL 0X17 |
screamer | 18:a15bfe7aaebd | 129 | #define LSM6DSL_ACC_GYRO_CTRL9_XL 0X18 |
screamer | 18:a15bfe7aaebd | 130 | #define LSM6DSL_ACC_GYRO_CTRL10_C 0X19 |
screamer | 18:a15bfe7aaebd | 131 | |
screamer | 18:a15bfe7aaebd | 132 | #define LSM6DSL_ACC_GYRO_MASTER_CONFIG 0X1A |
screamer | 18:a15bfe7aaebd | 133 | #define LSM6DSL_ACC_GYRO_WAKE_UP_SRC 0X1B |
screamer | 18:a15bfe7aaebd | 134 | #define LSM6DSL_ACC_GYRO_TAP_SRC 0X1C |
screamer | 18:a15bfe7aaebd | 135 | #define LSM6DSL_ACC_GYRO_D6D_SRC 0X1D |
screamer | 18:a15bfe7aaebd | 136 | #define LSM6DSL_ACC_GYRO_STATUS_REG 0X1E |
screamer | 18:a15bfe7aaebd | 137 | |
screamer | 18:a15bfe7aaebd | 138 | #define LSM6DSL_ACC_GYRO_OUT_TEMP_L 0X20 |
screamer | 18:a15bfe7aaebd | 139 | #define LSM6DSL_ACC_GYRO_OUT_TEMP_H 0X21 |
screamer | 18:a15bfe7aaebd | 140 | #define LSM6DSL_ACC_GYRO_OUTX_L_G 0X22 |
screamer | 18:a15bfe7aaebd | 141 | #define LSM6DSL_ACC_GYRO_OUTX_H_G 0X23 |
screamer | 18:a15bfe7aaebd | 142 | #define LSM6DSL_ACC_GYRO_OUTY_L_G 0X24 |
screamer | 18:a15bfe7aaebd | 143 | #define LSM6DSL_ACC_GYRO_OUTY_H_G 0X25 |
screamer | 18:a15bfe7aaebd | 144 | #define LSM6DSL_ACC_GYRO_OUTZ_L_G 0X26 |
screamer | 18:a15bfe7aaebd | 145 | #define LSM6DSL_ACC_GYRO_OUTZ_H_G 0X27 |
screamer | 18:a15bfe7aaebd | 146 | #define LSM6DSL_ACC_GYRO_OUTX_L_XL 0X28 |
screamer | 18:a15bfe7aaebd | 147 | #define LSM6DSL_ACC_GYRO_OUTX_H_XL 0X29 |
screamer | 18:a15bfe7aaebd | 148 | #define LSM6DSL_ACC_GYRO_OUTY_L_XL 0X2A |
screamer | 18:a15bfe7aaebd | 149 | #define LSM6DSL_ACC_GYRO_OUTY_H_XL 0X2B |
screamer | 18:a15bfe7aaebd | 150 | #define LSM6DSL_ACC_GYRO_OUTZ_L_XL 0X2C |
screamer | 18:a15bfe7aaebd | 151 | #define LSM6DSL_ACC_GYRO_OUTZ_H_XL 0X2D |
screamer | 18:a15bfe7aaebd | 152 | #define LSM6DSL_ACC_GYRO_SENSORHUB1_REG 0X2E |
screamer | 18:a15bfe7aaebd | 153 | #define LSM6DSL_ACC_GYRO_SENSORHUB2_REG 0X2F |
screamer | 18:a15bfe7aaebd | 154 | #define LSM6DSL_ACC_GYRO_SENSORHUB3_REG 0X30 |
screamer | 18:a15bfe7aaebd | 155 | #define LSM6DSL_ACC_GYRO_SENSORHUB4_REG 0X31 |
screamer | 18:a15bfe7aaebd | 156 | #define LSM6DSL_ACC_GYRO_SENSORHUB5_REG 0X32 |
screamer | 18:a15bfe7aaebd | 157 | #define LSM6DSL_ACC_GYRO_SENSORHUB6_REG 0X33 |
screamer | 18:a15bfe7aaebd | 158 | #define LSM6DSL_ACC_GYRO_SENSORHUB7_REG 0X34 |
screamer | 18:a15bfe7aaebd | 159 | #define LSM6DSL_ACC_GYRO_SENSORHUB8_REG 0X35 |
screamer | 18:a15bfe7aaebd | 160 | #define LSM6DSL_ACC_GYRO_SENSORHUB9_REG 0X36 |
screamer | 18:a15bfe7aaebd | 161 | #define LSM6DSL_ACC_GYRO_SENSORHUB10_REG 0X37 |
screamer | 18:a15bfe7aaebd | 162 | #define LSM6DSL_ACC_GYRO_SENSORHUB11_REG 0X38 |
screamer | 18:a15bfe7aaebd | 163 | #define LSM6DSL_ACC_GYRO_SENSORHUB12_REG 0X39 |
screamer | 18:a15bfe7aaebd | 164 | #define LSM6DSL_ACC_GYRO_FIFO_STATUS1 0X3A |
screamer | 18:a15bfe7aaebd | 165 | #define LSM6DSL_ACC_GYRO_FIFO_STATUS2 0X3B |
screamer | 18:a15bfe7aaebd | 166 | #define LSM6DSL_ACC_GYRO_FIFO_STATUS3 0X3C |
screamer | 18:a15bfe7aaebd | 167 | #define LSM6DSL_ACC_GYRO_FIFO_STATUS4 0X3D |
screamer | 18:a15bfe7aaebd | 168 | #define LSM6DSL_ACC_GYRO_FIFO_DATA_OUT_L 0X3E |
screamer | 18:a15bfe7aaebd | 169 | #define LSM6DSL_ACC_GYRO_FIFO_DATA_OUT_H 0X3F |
screamer | 18:a15bfe7aaebd | 170 | #define LSM6DSL_ACC_GYRO_TIMESTAMP0_REG 0X40 |
screamer | 18:a15bfe7aaebd | 171 | #define LSM6DSL_ACC_GYRO_TIMESTAMP1_REG 0X41 |
screamer | 18:a15bfe7aaebd | 172 | #define LSM6DSL_ACC_GYRO_TIMESTAMP2_REG 0X42 |
screamer | 18:a15bfe7aaebd | 173 | |
screamer | 18:a15bfe7aaebd | 174 | #define LSM6DSL_ACC_GYRO_TIMESTAMP_L 0X49 |
screamer | 18:a15bfe7aaebd | 175 | #define LSM6DSL_ACC_GYRO_TIMESTAMP_H 0X4A |
screamer | 18:a15bfe7aaebd | 176 | |
screamer | 18:a15bfe7aaebd | 177 | #define LSM6DSL_ACC_GYRO_STEP_COUNTER_L 0X4B |
screamer | 18:a15bfe7aaebd | 178 | #define LSM6DSL_ACC_GYRO_STEP_COUNTER_H 0X4C |
screamer | 18:a15bfe7aaebd | 179 | |
screamer | 18:a15bfe7aaebd | 180 | #define LSM6DSL_ACC_GYRO_SENSORHUB13_REG 0X4D |
screamer | 18:a15bfe7aaebd | 181 | #define LSM6DSL_ACC_GYRO_SENSORHUB14_REG 0X4E |
screamer | 18:a15bfe7aaebd | 182 | #define LSM6DSL_ACC_GYRO_SENSORHUB15_REG 0X4F |
screamer | 18:a15bfe7aaebd | 183 | #define LSM6DSL_ACC_GYRO_SENSORHUB16_REG 0X50 |
screamer | 18:a15bfe7aaebd | 184 | #define LSM6DSL_ACC_GYRO_SENSORHUB17_REG 0X51 |
screamer | 18:a15bfe7aaebd | 185 | #define LSM6DSL_ACC_GYRO_SENSORHUB18_REG 0X52 |
screamer | 18:a15bfe7aaebd | 186 | |
screamer | 18:a15bfe7aaebd | 187 | #define LSM6DSL_ACC_GYRO_FUNC_SRC 0X53 |
screamer | 18:a15bfe7aaebd | 188 | #define LSM6DSL_ACC_GYRO_TAP_CFG1 0X58 |
screamer | 18:a15bfe7aaebd | 189 | #define LSM6DSL_ACC_GYRO_TAP_THS_6D 0X59 |
screamer | 18:a15bfe7aaebd | 190 | #define LSM6DSL_ACC_GYRO_INT_DUR2 0X5A |
screamer | 18:a15bfe7aaebd | 191 | #define LSM6DSL_ACC_GYRO_WAKE_UP_THS 0X5B |
screamer | 18:a15bfe7aaebd | 192 | #define LSM6DSL_ACC_GYRO_WAKE_UP_DUR 0X5C |
screamer | 18:a15bfe7aaebd | 193 | #define LSM6DSL_ACC_GYRO_FREE_FALL 0X5D |
screamer | 18:a15bfe7aaebd | 194 | #define LSM6DSL_ACC_GYRO_MD1_CFG 0X5E |
screamer | 18:a15bfe7aaebd | 195 | #define LSM6DSL_ACC_GYRO_MD2_CFG 0X5F |
screamer | 18:a15bfe7aaebd | 196 | |
screamer | 18:a15bfe7aaebd | 197 | #define LSM6DSL_ACC_GYRO_OUT_MAG_RAW_X_L 0X66 |
screamer | 18:a15bfe7aaebd | 198 | #define LSM6DSL_ACC_GYRO_OUT_MAG_RAW_X_H 0X67 |
screamer | 18:a15bfe7aaebd | 199 | #define LSM6DSL_ACC_GYRO_OUT_MAG_RAW_Y_L 0X68 |
screamer | 18:a15bfe7aaebd | 200 | #define LSM6DSL_ACC_GYRO_OUT_MAG_RAW_Y_H 0X69 |
screamer | 18:a15bfe7aaebd | 201 | #define LSM6DSL_ACC_GYRO_OUT_MAG_RAW_Z_L 0X6A |
screamer | 18:a15bfe7aaebd | 202 | #define LSM6DSL_ACC_GYRO_OUT_MAG_RAW_Z_H 0X6B |
screamer | 18:a15bfe7aaebd | 203 | |
screamer | 18:a15bfe7aaebd | 204 | #define LSM6DSL_ACC_GYRO_X_OFS_USR 0X73 |
screamer | 18:a15bfe7aaebd | 205 | #define LSM6DSL_ACC_GYRO_Y_OFS_USR 0X74 |
screamer | 18:a15bfe7aaebd | 206 | #define LSM6DSL_ACC_GYRO_Z_OFS_USR 0X75 |
screamer | 18:a15bfe7aaebd | 207 | |
screamer | 18:a15bfe7aaebd | 208 | /************** Embedded functions register mapping *******************/ |
screamer | 18:a15bfe7aaebd | 209 | #define LSM6DSL_ACC_GYRO_SLV0_ADD 0x02 |
screamer | 18:a15bfe7aaebd | 210 | #define LSM6DSL_ACC_GYRO_SLV0_SUBADD 0x03 |
screamer | 18:a15bfe7aaebd | 211 | #define LSM6DSL_ACC_GYRO_SLAVE0_CONFIG 0x04 |
screamer | 18:a15bfe7aaebd | 212 | #define LSM6DSL_ACC_GYRO_SLV1_ADD 0x05 |
screamer | 18:a15bfe7aaebd | 213 | #define LSM6DSL_ACC_GYRO_SLV1_SUBADD 0x06 |
screamer | 18:a15bfe7aaebd | 214 | #define LSM6DSL_ACC_GYRO_SLAVE1_CONFIG 0x07 |
screamer | 18:a15bfe7aaebd | 215 | #define LSM6DSL_ACC_GYRO_SLV2_ADD 0x08 |
screamer | 18:a15bfe7aaebd | 216 | #define LSM6DSL_ACC_GYRO_SLV2_SUBADD 0x09 |
screamer | 18:a15bfe7aaebd | 217 | #define LSM6DSL_ACC_GYRO_SLAVE2_CONFIG 0x0A |
screamer | 18:a15bfe7aaebd | 218 | #define LSM6DSL_ACC_GYRO_SLV3_ADD 0x0B |
screamer | 18:a15bfe7aaebd | 219 | #define LSM6DSL_ACC_GYRO_SLV3_SUBADD 0x0C |
screamer | 18:a15bfe7aaebd | 220 | #define LSM6DSL_ACC_GYRO_SLAVE3_CONFIG 0x0D |
screamer | 18:a15bfe7aaebd | 221 | #define LSM6DSL_ACC_GYRO_DATAWRITE_SRC_MODE_SUB_SLV0 0x0E |
screamer | 18:a15bfe7aaebd | 222 | #define LSM6DSL_ACC_GYRO_CONFIG_PEDO_THS_MIN 0x0F |
screamer | 18:a15bfe7aaebd | 223 | |
screamer | 18:a15bfe7aaebd | 224 | #define LSM6DSL_ACC_GYRO_SM_STEP_THS 0x13 |
screamer | 18:a15bfe7aaebd | 225 | #define LSM6DSL_ACC_GYRO_PEDO_DEB_REG 0x14 |
screamer | 18:a15bfe7aaebd | 226 | #define LSM6DSL_ACC_GYRO_STEP_COUNT_DELTA 0x15 |
screamer | 18:a15bfe7aaebd | 227 | |
screamer | 18:a15bfe7aaebd | 228 | #define LSM6DSL_ACC_GYRO_MAG_SI_XX 0x24 |
screamer | 18:a15bfe7aaebd | 229 | #define LSM6DSL_ACC_GYRO_MAG_SI_XY 0x25 |
screamer | 18:a15bfe7aaebd | 230 | #define LSM6DSL_ACC_GYRO_MAG_SI_XZ 0x26 |
screamer | 18:a15bfe7aaebd | 231 | #define LSM6DSL_ACC_GYRO_MAG_SI_YX 0x27 |
screamer | 18:a15bfe7aaebd | 232 | #define LSM6DSL_ACC_GYRO_MAG_SI_YY 0x28 |
screamer | 18:a15bfe7aaebd | 233 | #define LSM6DSL_ACC_GYRO_MAG_SI_YZ 0x29 |
screamer | 18:a15bfe7aaebd | 234 | #define LSM6DSL_ACC_GYRO_MAG_SI_ZX 0x2A |
screamer | 18:a15bfe7aaebd | 235 | #define LSM6DSL_ACC_GYRO_MAG_SI_ZY 0x2B |
screamer | 18:a15bfe7aaebd | 236 | #define LSM6DSL_ACC_GYRO_MAG_SI_ZZ 0x2C |
screamer | 18:a15bfe7aaebd | 237 | #define LSM6DSL_ACC_GYRO_MAG_OFFX_L 0x2D |
screamer | 18:a15bfe7aaebd | 238 | #define LSM6DSL_ACC_GYRO_MAG_OFFX_H 0x2E |
screamer | 18:a15bfe7aaebd | 239 | #define LSM6DSL_ACC_GYRO_MAG_OFFY_L 0x2F |
screamer | 18:a15bfe7aaebd | 240 | #define LSM6DSL_ACC_GYRO_MAG_OFFY_H 0x30 |
screamer | 18:a15bfe7aaebd | 241 | #define LSM6DSL_ACC_GYRO_MAG_OFFZ_L 0x31 |
screamer | 18:a15bfe7aaebd | 242 | #define LSM6DSL_ACC_GYRO_MAG_OFFZ_H 0x32 |
screamer | 18:a15bfe7aaebd | 243 | |
screamer | 18:a15bfe7aaebd | 244 | /************** Generic Function *******************/ |
screamer | 18:a15bfe7aaebd | 245 | |
screamer | 18:a15bfe7aaebd | 246 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 247 | * Register : Generic - All |
screamer | 18:a15bfe7aaebd | 248 | * Address : Generic - All |
screamer | 18:a15bfe7aaebd | 249 | * Bit Group Name: None |
screamer | 18:a15bfe7aaebd | 250 | * Permission : W |
screamer | 18:a15bfe7aaebd | 251 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 252 | mems_status_t LSM6DSL_ACC_GYRO_write_reg( void *handle, u8_t Reg, u8_t *Bufp, u16_t len ); |
screamer | 18:a15bfe7aaebd | 253 | |
screamer | 18:a15bfe7aaebd | 254 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 255 | * Register : Generic - All |
screamer | 18:a15bfe7aaebd | 256 | * Address : Generic - All |
screamer | 18:a15bfe7aaebd | 257 | * Bit Group Name: None |
screamer | 18:a15bfe7aaebd | 258 | * Permission : R |
screamer | 18:a15bfe7aaebd | 259 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 260 | mems_status_t LSM6DSL_ACC_GYRO_read_reg( void *handle, u8_t Reg, u8_t *Bufp, u16_t len ); |
screamer | 18:a15bfe7aaebd | 261 | |
screamer | 18:a15bfe7aaebd | 262 | /**************** Base Function *******************/ |
screamer | 18:a15bfe7aaebd | 263 | |
screamer | 18:a15bfe7aaebd | 264 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 265 | * Register : WHO_AM_I |
screamer | 18:a15bfe7aaebd | 266 | * Address : 0X0F |
screamer | 18:a15bfe7aaebd | 267 | * Bit Group Name: WHO_AM_I_BIT |
screamer | 18:a15bfe7aaebd | 268 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 269 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 270 | #define LSM6DSL_ACC_GYRO_WHO_AM_I_BIT_MASK 0xFF |
screamer | 18:a15bfe7aaebd | 271 | #define LSM6DSL_ACC_GYRO_WHO_AM_I_BIT_POSITION 0 |
screamer | 18:a15bfe7aaebd | 272 | mems_status_t LSM6DSL_ACC_GYRO_R_WHO_AM_I(void *handle, u8_t *value); |
screamer | 18:a15bfe7aaebd | 273 | |
screamer | 18:a15bfe7aaebd | 274 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 275 | * Register : CTRL3_C |
screamer | 18:a15bfe7aaebd | 276 | * Address : 0X12 |
screamer | 18:a15bfe7aaebd | 277 | * Bit Group Name: BDU |
screamer | 18:a15bfe7aaebd | 278 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 279 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 280 | typedef enum { |
screamer | 18:a15bfe7aaebd | 281 | LSM6DSL_ACC_GYRO_BDU_CONTINUOS =0x00, |
screamer | 18:a15bfe7aaebd | 282 | LSM6DSL_ACC_GYRO_BDU_BLOCK_UPDATE =0x40, |
screamer | 18:a15bfe7aaebd | 283 | } LSM6DSL_ACC_GYRO_BDU_t; |
screamer | 18:a15bfe7aaebd | 284 | |
screamer | 18:a15bfe7aaebd | 285 | #define LSM6DSL_ACC_GYRO_BDU_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 286 | mems_status_t LSM6DSL_ACC_GYRO_W_BDU(void *handle, LSM6DSL_ACC_GYRO_BDU_t newValue); |
screamer | 18:a15bfe7aaebd | 287 | mems_status_t LSM6DSL_ACC_GYRO_R_BDU(void *handle, LSM6DSL_ACC_GYRO_BDU_t *value); |
screamer | 18:a15bfe7aaebd | 288 | |
screamer | 18:a15bfe7aaebd | 289 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 290 | * Register : CTRL1_XL |
screamer | 18:a15bfe7aaebd | 291 | * Address : 0X10 |
screamer | 18:a15bfe7aaebd | 292 | * Bit Group Name: FS_XL |
screamer | 18:a15bfe7aaebd | 293 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 294 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 295 | typedef enum { |
screamer | 18:a15bfe7aaebd | 296 | LSM6DSL_ACC_GYRO_FS_XL_2g =0x00, |
screamer | 18:a15bfe7aaebd | 297 | LSM6DSL_ACC_GYRO_FS_XL_16g =0x04, |
screamer | 18:a15bfe7aaebd | 298 | LSM6DSL_ACC_GYRO_FS_XL_4g =0x08, |
screamer | 18:a15bfe7aaebd | 299 | LSM6DSL_ACC_GYRO_FS_XL_8g =0x0C, |
screamer | 18:a15bfe7aaebd | 300 | } LSM6DSL_ACC_GYRO_FS_XL_t; |
screamer | 18:a15bfe7aaebd | 301 | |
screamer | 18:a15bfe7aaebd | 302 | #define LSM6DSL_ACC_GYRO_FS_XL_MASK 0x0C |
screamer | 18:a15bfe7aaebd | 303 | mems_status_t LSM6DSL_ACC_GYRO_W_FS_XL(void *handle, LSM6DSL_ACC_GYRO_FS_XL_t newValue); |
screamer | 18:a15bfe7aaebd | 304 | mems_status_t LSM6DSL_ACC_GYRO_R_FS_XL(void *handle, LSM6DSL_ACC_GYRO_FS_XL_t *value); |
screamer | 18:a15bfe7aaebd | 305 | |
screamer | 18:a15bfe7aaebd | 306 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 307 | * Register : <REGISTER_L> - <REGISTER_H> |
screamer | 18:a15bfe7aaebd | 308 | * Output Type : GetAccData |
screamer | 18:a15bfe7aaebd | 309 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 310 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 311 | mems_status_t LSM6DSL_ACC_GYRO_GetRawAccData(void *handle, u8_t *buff); |
screamer | 18:a15bfe7aaebd | 312 | mems_status_t LSM6DSL_ACC_Get_Acceleration(void *handle, int *buff, u8_t from_fifo); |
screamer | 18:a15bfe7aaebd | 313 | |
screamer | 18:a15bfe7aaebd | 314 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 315 | * Register : CTRL1_XL |
screamer | 18:a15bfe7aaebd | 316 | * Address : 0X10 |
screamer | 18:a15bfe7aaebd | 317 | * Bit Group Name: ODR_XL |
screamer | 18:a15bfe7aaebd | 318 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 319 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 320 | typedef enum { |
screamer | 18:a15bfe7aaebd | 321 | LSM6DSL_ACC_GYRO_ODR_XL_POWER_DOWN =0x00, |
screamer | 18:a15bfe7aaebd | 322 | LSM6DSL_ACC_GYRO_ODR_XL_13Hz =0x10, |
screamer | 18:a15bfe7aaebd | 323 | LSM6DSL_ACC_GYRO_ODR_XL_26Hz =0x20, |
screamer | 18:a15bfe7aaebd | 324 | LSM6DSL_ACC_GYRO_ODR_XL_52Hz =0x30, |
screamer | 18:a15bfe7aaebd | 325 | LSM6DSL_ACC_GYRO_ODR_XL_104Hz =0x40, |
screamer | 18:a15bfe7aaebd | 326 | LSM6DSL_ACC_GYRO_ODR_XL_208Hz =0x50, |
screamer | 18:a15bfe7aaebd | 327 | LSM6DSL_ACC_GYRO_ODR_XL_416Hz =0x60, |
screamer | 18:a15bfe7aaebd | 328 | LSM6DSL_ACC_GYRO_ODR_XL_833Hz =0x70, |
screamer | 18:a15bfe7aaebd | 329 | LSM6DSL_ACC_GYRO_ODR_XL_1660Hz =0x80, |
screamer | 18:a15bfe7aaebd | 330 | LSM6DSL_ACC_GYRO_ODR_XL_3330Hz =0x90, |
screamer | 18:a15bfe7aaebd | 331 | LSM6DSL_ACC_GYRO_ODR_XL_6660Hz =0xA0, |
screamer | 18:a15bfe7aaebd | 332 | } LSM6DSL_ACC_GYRO_ODR_XL_t; |
screamer | 18:a15bfe7aaebd | 333 | |
screamer | 18:a15bfe7aaebd | 334 | #define LSM6DSL_ACC_GYRO_ODR_XL_MASK 0xF0 |
screamer | 18:a15bfe7aaebd | 335 | mems_status_t LSM6DSL_ACC_GYRO_W_ODR_XL(void *handle, LSM6DSL_ACC_GYRO_ODR_XL_t newValue); |
screamer | 18:a15bfe7aaebd | 336 | mems_status_t LSM6DSL_ACC_GYRO_R_ODR_XL(void *handle, LSM6DSL_ACC_GYRO_ODR_XL_t *value); |
screamer | 18:a15bfe7aaebd | 337 | mems_status_t LSM6DSL_ACC_GYRO_translate_ODR_XL(LSM6DSL_ACC_GYRO_ODR_XL_t value, u16_t *odr_hz_val); |
screamer | 18:a15bfe7aaebd | 338 | |
screamer | 18:a15bfe7aaebd | 339 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 340 | * Register : CTRL2_G |
screamer | 18:a15bfe7aaebd | 341 | * Address : 0X11 |
screamer | 18:a15bfe7aaebd | 342 | * Bit Group Name: FS_G |
screamer | 18:a15bfe7aaebd | 343 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 344 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 345 | typedef enum { |
screamer | 18:a15bfe7aaebd | 346 | LSM6DSL_ACC_GYRO_FS_G_245dps =0x00, |
screamer | 18:a15bfe7aaebd | 347 | LSM6DSL_ACC_GYRO_FS_G_500dps =0x04, |
screamer | 18:a15bfe7aaebd | 348 | LSM6DSL_ACC_GYRO_FS_G_1000dps =0x08, |
screamer | 18:a15bfe7aaebd | 349 | LSM6DSL_ACC_GYRO_FS_G_2000dps =0x0C, |
screamer | 18:a15bfe7aaebd | 350 | } LSM6DSL_ACC_GYRO_FS_G_t; |
screamer | 18:a15bfe7aaebd | 351 | |
screamer | 18:a15bfe7aaebd | 352 | #define LSM6DSL_ACC_GYRO_FS_G_MASK 0x0C |
screamer | 18:a15bfe7aaebd | 353 | mems_status_t LSM6DSL_ACC_GYRO_W_FS_G(void *handle, LSM6DSL_ACC_GYRO_FS_G_t newValue); |
screamer | 18:a15bfe7aaebd | 354 | mems_status_t LSM6DSL_ACC_GYRO_R_FS_G(void *handle, LSM6DSL_ACC_GYRO_FS_G_t *value); |
screamer | 18:a15bfe7aaebd | 355 | |
screamer | 18:a15bfe7aaebd | 356 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 357 | * Register : CTRL2_G |
screamer | 18:a15bfe7aaebd | 358 | * Address : 0X11 |
screamer | 18:a15bfe7aaebd | 359 | * Bit Group Name: ODR_G |
screamer | 18:a15bfe7aaebd | 360 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 361 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 362 | typedef enum { |
screamer | 18:a15bfe7aaebd | 363 | LSM6DSL_ACC_GYRO_ODR_G_POWER_DOWN =0x00, |
screamer | 18:a15bfe7aaebd | 364 | LSM6DSL_ACC_GYRO_ODR_G_13Hz =0x10, |
screamer | 18:a15bfe7aaebd | 365 | LSM6DSL_ACC_GYRO_ODR_G_26Hz =0x20, |
screamer | 18:a15bfe7aaebd | 366 | LSM6DSL_ACC_GYRO_ODR_G_52Hz =0x30, |
screamer | 18:a15bfe7aaebd | 367 | LSM6DSL_ACC_GYRO_ODR_G_104Hz =0x40, |
screamer | 18:a15bfe7aaebd | 368 | LSM6DSL_ACC_GYRO_ODR_G_208Hz =0x50, |
screamer | 18:a15bfe7aaebd | 369 | LSM6DSL_ACC_GYRO_ODR_G_416Hz =0x60, |
screamer | 18:a15bfe7aaebd | 370 | LSM6DSL_ACC_GYRO_ODR_G_833Hz =0x70, |
screamer | 18:a15bfe7aaebd | 371 | LSM6DSL_ACC_GYRO_ODR_G_1660Hz =0x80, |
screamer | 18:a15bfe7aaebd | 372 | LSM6DSL_ACC_GYRO_ODR_G_3330Hz =0x90, |
screamer | 18:a15bfe7aaebd | 373 | LSM6DSL_ACC_GYRO_ODR_G_6660Hz =0xA0, |
screamer | 18:a15bfe7aaebd | 374 | } LSM6DSL_ACC_GYRO_ODR_G_t; |
screamer | 18:a15bfe7aaebd | 375 | |
screamer | 18:a15bfe7aaebd | 376 | #define LSM6DSL_ACC_GYRO_ODR_G_MASK 0xF0 |
screamer | 18:a15bfe7aaebd | 377 | mems_status_t LSM6DSL_ACC_GYRO_W_ODR_G(void *handle, LSM6DSL_ACC_GYRO_ODR_G_t newValue); |
screamer | 18:a15bfe7aaebd | 378 | mems_status_t LSM6DSL_ACC_GYRO_R_ODR_G(void *handle, LSM6DSL_ACC_GYRO_ODR_G_t *value); |
screamer | 18:a15bfe7aaebd | 379 | mems_status_t LSM6DSL_ACC_GYRO_translate_ODR_G(LSM6DSL_ACC_GYRO_ODR_G_t value, u16_t *odr_hz_val); |
screamer | 18:a15bfe7aaebd | 380 | |
screamer | 18:a15bfe7aaebd | 381 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 382 | * Register : <REGISTER_L> - <REGISTER_H> |
screamer | 18:a15bfe7aaebd | 383 | * Output Type : GetGyroData |
screamer | 18:a15bfe7aaebd | 384 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 385 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 386 | mems_status_t LSM6DSL_ACC_GYRO_GetRawGyroData(void *handle, u8_t *buff); |
screamer | 18:a15bfe7aaebd | 387 | mems_status_t LSM6DSL_ACC_Get_AngularRate(void *handle, int *buff, u8_t from_fifo); |
screamer | 18:a15bfe7aaebd | 388 | |
screamer | 18:a15bfe7aaebd | 389 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 390 | * Register : CTRL1_XL |
screamer | 18:a15bfe7aaebd | 391 | * Address : 0X10 |
screamer | 18:a15bfe7aaebd | 392 | * Bit Group Name: BW_SEL |
screamer | 18:a15bfe7aaebd | 393 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 394 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 395 | typedef enum { |
screamer | 18:a15bfe7aaebd | 396 | LSM6DSL_ACC_GYRO_BW_SEL_ODR2 =0x00, |
screamer | 18:a15bfe7aaebd | 397 | LSM6DSL_ACC_GYRO_BW_SEL_ODR4 =0x02, |
screamer | 18:a15bfe7aaebd | 398 | } LSM6DSL_ACC_GYRO_BW_SEL_t; |
screamer | 18:a15bfe7aaebd | 399 | |
screamer | 18:a15bfe7aaebd | 400 | #define LSM6DSL_ACC_GYRO_BW_SEL_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 401 | mems_status_t LSM6DSL_ACC_GYRO_W_BW_SEL(void *handle, LSM6DSL_ACC_GYRO_BW_SEL_t newValue); |
screamer | 18:a15bfe7aaebd | 402 | mems_status_t LSM6DSL_ACC_GYRO_R_BW_SEL(void *handle, LSM6DSL_ACC_GYRO_BW_SEL_t *value); |
screamer | 18:a15bfe7aaebd | 403 | |
screamer | 18:a15bfe7aaebd | 404 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 405 | * Register : CTRL2_G |
screamer | 18:a15bfe7aaebd | 406 | * Address : 0X11 |
screamer | 18:a15bfe7aaebd | 407 | * Bit Group Name: FS_125 |
screamer | 18:a15bfe7aaebd | 408 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 409 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 410 | typedef enum { |
screamer | 18:a15bfe7aaebd | 411 | LSM6DSL_ACC_GYRO_FS_125_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 412 | LSM6DSL_ACC_GYRO_FS_125_ENABLED =0x02, |
screamer | 18:a15bfe7aaebd | 413 | } LSM6DSL_ACC_GYRO_FS_125_t; |
screamer | 18:a15bfe7aaebd | 414 | |
screamer | 18:a15bfe7aaebd | 415 | #define LSM6DSL_ACC_GYRO_FS_125_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 416 | mems_status_t LSM6DSL_ACC_GYRO_W_FS_125(void *handle, LSM6DSL_ACC_GYRO_FS_125_t newValue); |
screamer | 18:a15bfe7aaebd | 417 | mems_status_t LSM6DSL_ACC_GYRO_R_FS_125(void *handle, LSM6DSL_ACC_GYRO_FS_125_t *value); |
screamer | 18:a15bfe7aaebd | 418 | |
screamer | 18:a15bfe7aaebd | 419 | /**************** Advanced Function *******************/ |
screamer | 18:a15bfe7aaebd | 420 | |
screamer | 18:a15bfe7aaebd | 421 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 422 | * Register : CTRL3_C |
screamer | 18:a15bfe7aaebd | 423 | * Address : 0X12 |
screamer | 18:a15bfe7aaebd | 424 | * Bit Group Name: BLE |
screamer | 18:a15bfe7aaebd | 425 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 426 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 427 | typedef enum { |
screamer | 18:a15bfe7aaebd | 428 | LSM6DSL_ACC_GYRO_BLE_LSB =0x00, |
screamer | 18:a15bfe7aaebd | 429 | LSM6DSL_ACC_GYRO_BLE_MSB =0x02, |
screamer | 18:a15bfe7aaebd | 430 | } LSM6DSL_ACC_GYRO_BLE_t; |
screamer | 18:a15bfe7aaebd | 431 | |
screamer | 18:a15bfe7aaebd | 432 | #define LSM6DSL_ACC_GYRO_BLE_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 433 | mems_status_t LSM6DSL_ACC_GYRO_W_BLE(void *handle, LSM6DSL_ACC_GYRO_BLE_t newValue); |
screamer | 18:a15bfe7aaebd | 434 | mems_status_t LSM6DSL_ACC_GYRO_R_BLE(void *handle, LSM6DSL_ACC_GYRO_BLE_t *value); |
screamer | 18:a15bfe7aaebd | 435 | |
screamer | 18:a15bfe7aaebd | 436 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 437 | * Register : FUNC_CFG_ACCESS |
screamer | 18:a15bfe7aaebd | 438 | * Address : 0X01 |
screamer | 18:a15bfe7aaebd | 439 | * Bit Group Name: EMB_ACC |
screamer | 18:a15bfe7aaebd | 440 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 441 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 442 | typedef enum { |
screamer | 18:a15bfe7aaebd | 443 | LSM6DSL_ACC_GYRO_EMBEDDED_ACCESS_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 444 | LSM6DSL_ACC_GYRO_EMBEDDED_ACCESS_ENABLED =0x80, |
screamer | 18:a15bfe7aaebd | 445 | } LSM6DSL_ACC_GYRO_EMB_ACC_t; |
screamer | 18:a15bfe7aaebd | 446 | |
screamer | 18:a15bfe7aaebd | 447 | #define LSM6DSL_ACC_GYRO_EMB_ACC_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 448 | mems_status_t LSM6DSL_ACC_GYRO_W_EmbeddedAccess(void *handle, LSM6DSL_ACC_GYRO_EMB_ACC_t newValue); |
screamer | 18:a15bfe7aaebd | 449 | mems_status_t LSM6DSL_ACC_GYRO_R_EmbeddedAccess(void *handle, LSM6DSL_ACC_GYRO_EMB_ACC_t *value); |
screamer | 18:a15bfe7aaebd | 450 | |
screamer | 18:a15bfe7aaebd | 451 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 452 | * Register : SENSOR_SYNC_TIME |
screamer | 18:a15bfe7aaebd | 453 | * Address : 0X04 |
screamer | 18:a15bfe7aaebd | 454 | * Bit Group Name: TPH |
screamer | 18:a15bfe7aaebd | 455 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 456 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 457 | #define LSM6DSL_ACC_GYRO_TPH_MASK 0xFF |
screamer | 18:a15bfe7aaebd | 458 | #define LSM6DSL_ACC_GYRO_TPH_POSITION 0 |
screamer | 18:a15bfe7aaebd | 459 | mems_status_t LSM6DSL_ACC_GYRO_W_Stamping_Time_Frame(void *handle, u8_t newValue); |
screamer | 18:a15bfe7aaebd | 460 | mems_status_t LSM6DSL_ACC_GYRO_R_Stamping_Time_Frame(void *handle, u8_t *value); |
screamer | 18:a15bfe7aaebd | 461 | |
screamer | 18:a15bfe7aaebd | 462 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 463 | * Register : SENSOR_SYNC_RES_RATIO |
screamer | 18:a15bfe7aaebd | 464 | * Address : 0X05 |
screamer | 18:a15bfe7aaebd | 465 | * Bit Group Name: RR |
screamer | 18:a15bfe7aaebd | 466 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 467 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 468 | typedef enum { |
screamer | 18:a15bfe7aaebd | 469 | LSM6DSL_ACC_GYRO_TIM_RATIO_2_11 =0x00, |
screamer | 18:a15bfe7aaebd | 470 | LSM6DSL_ACC_GYRO_TIM_RATIO_2_12 =0x01, |
screamer | 18:a15bfe7aaebd | 471 | LSM6DSL_ACC_GYRO_TIM_RATIO_2_13 =0x02, |
screamer | 18:a15bfe7aaebd | 472 | LSM6DSL_ACC_GYRO_TIM_RATIO_2_14 =0x03, |
screamer | 18:a15bfe7aaebd | 473 | } LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_t; |
screamer | 18:a15bfe7aaebd | 474 | |
screamer | 18:a15bfe7aaebd | 475 | #define LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_MASK 0x03 |
screamer | 18:a15bfe7aaebd | 476 | mems_status_t LSM6DSL_ACC_GYRO_W_SYNC_RES_RATIO(void *handle, LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_t newValue); |
screamer | 18:a15bfe7aaebd | 477 | mems_status_t LSM6DSL_ACC_GYRO_R_SYNC_RES_RATIO(void *handle, LSM6DSL_ACC_GYRO_SYNC_RES_RATIO_t *value); |
screamer | 18:a15bfe7aaebd | 478 | |
screamer | 18:a15bfe7aaebd | 479 | |
screamer | 18:a15bfe7aaebd | 480 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 481 | * Register : FIFO_CTRL1 |
screamer | 18:a15bfe7aaebd | 482 | * Address : 0X06 |
screamer | 18:a15bfe7aaebd | 483 | * Bit Group Name: WTM_FIFO |
screamer | 18:a15bfe7aaebd | 484 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 485 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 486 | #define LSM6DSL_ACC_GYRO_WTM_FIFO_CTRL1_MASK 0xFF |
screamer | 18:a15bfe7aaebd | 487 | #define LSM6DSL_ACC_GYRO_WTM_FIFO_CTRL1_POSITION 0 |
screamer | 18:a15bfe7aaebd | 488 | #define LSM6DSL_ACC_GYRO_WTM_FIFO_CTRL2_MASK 0x07 |
screamer | 18:a15bfe7aaebd | 489 | #define LSM6DSL_ACC_GYRO_WTM_FIFO_CTRL2_POSITION 0 |
screamer | 18:a15bfe7aaebd | 490 | mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_Watermark(void *handle, u16_t newValue); |
screamer | 18:a15bfe7aaebd | 491 | mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_Watermark(void *handle, u16_t *value); |
screamer | 18:a15bfe7aaebd | 492 | |
screamer | 18:a15bfe7aaebd | 493 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 494 | * Register : FIFO_CTRL2 |
screamer | 18:a15bfe7aaebd | 495 | * Address : 0X07 |
screamer | 18:a15bfe7aaebd | 496 | * Bit Group Name: FIFO_TEMP_EN |
screamer | 18:a15bfe7aaebd | 497 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 498 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 499 | typedef enum { |
screamer | 18:a15bfe7aaebd | 500 | LSM6DSL_ACC_GYRO_FIFO_TEMP_DISABLE =0x00, |
screamer | 18:a15bfe7aaebd | 501 | LSM6DSL_ACC_GYRO_FIFO_TEMP_ENABLE =0x08, |
screamer | 18:a15bfe7aaebd | 502 | } LSM6DSL_ACC_GYRO_FIFO_TEMP_t; |
screamer | 18:a15bfe7aaebd | 503 | |
screamer | 18:a15bfe7aaebd | 504 | #define LSM6DSL_ACC_GYRO_FIFO_TEMP_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 505 | mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_TEMP(void *handle, LSM6DSL_ACC_GYRO_FIFO_TEMP_t newValue); |
screamer | 18:a15bfe7aaebd | 506 | mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_TEMP(void *handle, LSM6DSL_ACC_GYRO_FIFO_TEMP_t *value); |
screamer | 18:a15bfe7aaebd | 507 | |
screamer | 18:a15bfe7aaebd | 508 | |
screamer | 18:a15bfe7aaebd | 509 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 510 | * Register : FIFO_CTRL2 |
screamer | 18:a15bfe7aaebd | 511 | * Address : 0X07 |
screamer | 18:a15bfe7aaebd | 512 | * Bit Group Name: TIM_PEDO_FIFO_DRDY |
screamer | 18:a15bfe7aaebd | 513 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 514 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 515 | typedef enum { |
screamer | 18:a15bfe7aaebd | 516 | LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 517 | LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_ENABLED =0x40, |
screamer | 18:a15bfe7aaebd | 518 | } LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_t; |
screamer | 18:a15bfe7aaebd | 519 | |
screamer | 18:a15bfe7aaebd | 520 | #define LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 521 | mems_status_t LSM6DSL_ACC_GYRO_W_TIM_PEDO_FIFO_Write_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_t newValue); |
screamer | 18:a15bfe7aaebd | 522 | mems_status_t LSM6DSL_ACC_GYRO_R_TIM_PEDO_FIFO_Write_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_DRDY_t *value); |
screamer | 18:a15bfe7aaebd | 523 | |
screamer | 18:a15bfe7aaebd | 524 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 525 | * Register : FIFO_CTRL2 |
screamer | 18:a15bfe7aaebd | 526 | * Address : 0X07 |
screamer | 18:a15bfe7aaebd | 527 | * Bit Group Name: TIM_PEDO_FIFO_EN |
screamer | 18:a15bfe7aaebd | 528 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 529 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 530 | typedef enum { |
screamer | 18:a15bfe7aaebd | 531 | LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 532 | LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_ENABLED =0x80, |
screamer | 18:a15bfe7aaebd | 533 | } LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_t; |
screamer | 18:a15bfe7aaebd | 534 | |
screamer | 18:a15bfe7aaebd | 535 | #define LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 536 | mems_status_t LSM6DSL_ACC_GYRO_W_TIM_PEDO_FIFO_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_t newValue); |
screamer | 18:a15bfe7aaebd | 537 | mems_status_t LSM6DSL_ACC_GYRO_R_TIM_PEDO_FIFO_En(void *handle, LSM6DSL_ACC_GYRO_TIM_PEDO_FIFO_EN_t *value); |
screamer | 18:a15bfe7aaebd | 538 | |
screamer | 18:a15bfe7aaebd | 539 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 540 | * Register : FIFO_CTRL3 |
screamer | 18:a15bfe7aaebd | 541 | * Address : 0X08 |
screamer | 18:a15bfe7aaebd | 542 | * Bit Group Name: DEC_FIFO_XL |
screamer | 18:a15bfe7aaebd | 543 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 544 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 545 | typedef enum { |
screamer | 18:a15bfe7aaebd | 546 | LSM6DSL_ACC_GYRO_DEC_FIFO_XL_DATA_NOT_IN_FIFO =0x00, |
screamer | 18:a15bfe7aaebd | 547 | LSM6DSL_ACC_GYRO_DEC_FIFO_XL_NO_DECIMATION =0x01, |
screamer | 18:a15bfe7aaebd | 548 | LSM6DSL_ACC_GYRO_DEC_FIFO_XL_DECIMATION_BY_2 =0x02, |
screamer | 18:a15bfe7aaebd | 549 | LSM6DSL_ACC_GYRO_DEC_FIFO_XL_DECIMATION_BY_3 =0x03, |
screamer | 18:a15bfe7aaebd | 550 | LSM6DSL_ACC_GYRO_DEC_FIFO_XL_DECIMATION_BY_4 =0x04, |
screamer | 18:a15bfe7aaebd | 551 | LSM6DSL_ACC_GYRO_DEC_FIFO_XL_DECIMATION_BY_8 =0x05, |
screamer | 18:a15bfe7aaebd | 552 | LSM6DSL_ACC_GYRO_DEC_FIFO_XL_DECIMATION_BY_16 =0x06, |
screamer | 18:a15bfe7aaebd | 553 | LSM6DSL_ACC_GYRO_DEC_FIFO_XL_DECIMATION_BY_32 =0x07, |
screamer | 18:a15bfe7aaebd | 554 | } LSM6DSL_ACC_GYRO_DEC_FIFO_XL_t; |
screamer | 18:a15bfe7aaebd | 555 | |
screamer | 18:a15bfe7aaebd | 556 | #define LSM6DSL_ACC_GYRO_DEC_FIFO_XL_MASK 0x07 |
screamer | 18:a15bfe7aaebd | 557 | mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_XL(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_XL_t newValue); |
screamer | 18:a15bfe7aaebd | 558 | mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_XL_val(void *handle, u16_t newValue); |
screamer | 18:a15bfe7aaebd | 559 | mems_status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_XL(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_XL_t *value); |
screamer | 18:a15bfe7aaebd | 560 | |
screamer | 18:a15bfe7aaebd | 561 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 562 | * Register : FIFO_CTRL3 |
screamer | 18:a15bfe7aaebd | 563 | * Address : 0X08 |
screamer | 18:a15bfe7aaebd | 564 | * Bit Group Name: DEC_FIFO_G |
screamer | 18:a15bfe7aaebd | 565 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 566 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 567 | typedef enum { |
screamer | 18:a15bfe7aaebd | 568 | LSM6DSL_ACC_GYRO_DEC_FIFO_G_DATA_NOT_IN_FIFO =0x00, |
screamer | 18:a15bfe7aaebd | 569 | LSM6DSL_ACC_GYRO_DEC_FIFO_G_NO_DECIMATION =0x08, |
screamer | 18:a15bfe7aaebd | 570 | LSM6DSL_ACC_GYRO_DEC_FIFO_G_DECIMATION_BY_2 =0x10, |
screamer | 18:a15bfe7aaebd | 571 | LSM6DSL_ACC_GYRO_DEC_FIFO_G_DECIMATION_BY_3 =0x18, |
screamer | 18:a15bfe7aaebd | 572 | LSM6DSL_ACC_GYRO_DEC_FIFO_G_DECIMATION_BY_4 =0x20, |
screamer | 18:a15bfe7aaebd | 573 | LSM6DSL_ACC_GYRO_DEC_FIFO_G_DECIMATION_BY_8 =0x28, |
screamer | 18:a15bfe7aaebd | 574 | LSM6DSL_ACC_GYRO_DEC_FIFO_G_DECIMATION_BY_16 =0x30, |
screamer | 18:a15bfe7aaebd | 575 | LSM6DSL_ACC_GYRO_DEC_FIFO_G_DECIMATION_BY_32 =0x38, |
screamer | 18:a15bfe7aaebd | 576 | } LSM6DSL_ACC_GYRO_DEC_FIFO_G_t; |
screamer | 18:a15bfe7aaebd | 577 | |
screamer | 18:a15bfe7aaebd | 578 | #define LSM6DSL_ACC_GYRO_DEC_FIFO_G_MASK 0x38 |
screamer | 18:a15bfe7aaebd | 579 | mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_G(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_G_t newValue); |
screamer | 18:a15bfe7aaebd | 580 | mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_G_val(void *handle, u16_t newValue); |
screamer | 18:a15bfe7aaebd | 581 | mems_status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_G(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_G_t *value); |
screamer | 18:a15bfe7aaebd | 582 | |
screamer | 18:a15bfe7aaebd | 583 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 584 | * Register : FIFO_CTRL4 |
screamer | 18:a15bfe7aaebd | 585 | * Address : 0X09 |
screamer | 18:a15bfe7aaebd | 586 | * Bit Group Name: DEC_DS3_FIFO |
screamer | 18:a15bfe7aaebd | 587 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 588 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 589 | typedef enum { |
screamer | 18:a15bfe7aaebd | 590 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_DATA_NOT_IN_FIFO =0x00, |
screamer | 18:a15bfe7aaebd | 591 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_NO_DECIMATION =0x01, |
screamer | 18:a15bfe7aaebd | 592 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_DECIMATION_BY_2 =0x02, |
screamer | 18:a15bfe7aaebd | 593 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_DECIMATION_BY_3 =0x03, |
screamer | 18:a15bfe7aaebd | 594 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_DECIMATION_BY_4 =0x04, |
screamer | 18:a15bfe7aaebd | 595 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_DECIMATION_BY_8 =0x05, |
screamer | 18:a15bfe7aaebd | 596 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_DECIMATION_BY_16 =0x06, |
screamer | 18:a15bfe7aaebd | 597 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_DECIMATION_BY_32 =0x07, |
screamer | 18:a15bfe7aaebd | 598 | } LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_t; |
screamer | 18:a15bfe7aaebd | 599 | |
screamer | 18:a15bfe7aaebd | 600 | #define LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_MASK 0x07 |
screamer | 18:a15bfe7aaebd | 601 | mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_DS3(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_t newValue); |
screamer | 18:a15bfe7aaebd | 602 | mems_status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_DS3(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS3_t *value); |
screamer | 18:a15bfe7aaebd | 603 | |
screamer | 18:a15bfe7aaebd | 604 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 605 | * Register : FIFO_CTRL4 |
screamer | 18:a15bfe7aaebd | 606 | * Address : 0X09 |
screamer | 18:a15bfe7aaebd | 607 | * Bit Group Name: DEC_DS4_FIFO |
screamer | 18:a15bfe7aaebd | 608 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 609 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 610 | typedef enum { |
screamer | 18:a15bfe7aaebd | 611 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_DATA_NOT_IN_FIFO =0x00, |
screamer | 18:a15bfe7aaebd | 612 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_NO_DECIMATION =0x08, |
screamer | 18:a15bfe7aaebd | 613 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_DECIMATION_BY_2 =0x10, |
screamer | 18:a15bfe7aaebd | 614 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_DECIMATION_BY_3 =0x18, |
screamer | 18:a15bfe7aaebd | 615 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_DECIMATION_BY_4 =0x20, |
screamer | 18:a15bfe7aaebd | 616 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_DECIMATION_BY_8 =0x28, |
screamer | 18:a15bfe7aaebd | 617 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_DECIMATION_BY_16 =0x30, |
screamer | 18:a15bfe7aaebd | 618 | LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_DECIMATION_BY_32 =0x38, |
screamer | 18:a15bfe7aaebd | 619 | } LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_t; |
screamer | 18:a15bfe7aaebd | 620 | |
screamer | 18:a15bfe7aaebd | 621 | #define LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_MASK 0x38 |
screamer | 18:a15bfe7aaebd | 622 | mems_status_t LSM6DSL_ACC_GYRO_W_DEC_FIFO_DS4(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_t newValue); |
screamer | 18:a15bfe7aaebd | 623 | mems_status_t LSM6DSL_ACC_GYRO_R_DEC_FIFO_DS4(void *handle, LSM6DSL_ACC_GYRO_DEC_FIFO_DS4_t *value); |
screamer | 18:a15bfe7aaebd | 624 | |
screamer | 18:a15bfe7aaebd | 625 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 626 | * Register : FIFO_CTRL4 |
screamer | 18:a15bfe7aaebd | 627 | * Address : 0X09 |
screamer | 18:a15bfe7aaebd | 628 | * Bit Group Name: HI_DATA_ONLY |
screamer | 18:a15bfe7aaebd | 629 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 630 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 631 | typedef enum { |
screamer | 18:a15bfe7aaebd | 632 | LSM6DSL_ACC_GYRO_HI_DATA_ONLY_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 633 | LSM6DSL_ACC_GYRO_HI_DATA_ONLY_ENABLED =0x40, |
screamer | 18:a15bfe7aaebd | 634 | } LSM6DSL_ACC_GYRO_HI_DATA_ONLY_t; |
screamer | 18:a15bfe7aaebd | 635 | |
screamer | 18:a15bfe7aaebd | 636 | #define LSM6DSL_ACC_GYRO_HI_DATA_ONLY_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 637 | mems_status_t LSM6DSL_ACC_GYRO_W_HI_DATA_ONLY(void *handle, LSM6DSL_ACC_GYRO_HI_DATA_ONLY_t newValue); |
screamer | 18:a15bfe7aaebd | 638 | mems_status_t LSM6DSL_ACC_GYRO_R_HI_DATA_ONLY(void *handle, LSM6DSL_ACC_GYRO_HI_DATA_ONLY_t *value); |
screamer | 18:a15bfe7aaebd | 639 | |
screamer | 18:a15bfe7aaebd | 640 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 641 | * Register : FIFO_CTRL4 |
screamer | 18:a15bfe7aaebd | 642 | * Address : 0X09 |
screamer | 18:a15bfe7aaebd | 643 | * Bit Group Name: STOP_ON_FTH |
screamer | 18:a15bfe7aaebd | 644 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 645 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 646 | typedef enum { |
screamer | 18:a15bfe7aaebd | 647 | LSM6DSL_ACC_GYRO_STOP_ON_FTH_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 648 | LSM6DSL_ACC_GYRO_STOP_ON_FTH_ENABLED =0x80, |
screamer | 18:a15bfe7aaebd | 649 | } LSM6DSL_ACC_GYRO_STOP_ON_FTH_t; |
screamer | 18:a15bfe7aaebd | 650 | |
screamer | 18:a15bfe7aaebd | 651 | #define LSM6DSL_ACC_GYRO_STOP_ON_FTH_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 652 | mems_status_t LSM6DSL_ACC_GYRO_W_STOP_ON_FTH(void *handle, LSM6DSL_ACC_GYRO_STOP_ON_FTH_t newValue); |
screamer | 18:a15bfe7aaebd | 653 | mems_status_t LSM6DSL_ACC_GYRO_R_STOP_ON_FTH(void *handle, LSM6DSL_ACC_GYRO_STOP_ON_FTH_t *value); |
screamer | 18:a15bfe7aaebd | 654 | |
screamer | 18:a15bfe7aaebd | 655 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 656 | * Register : FIFO_CTRL5 |
screamer | 18:a15bfe7aaebd | 657 | * Address : 0X0A |
screamer | 18:a15bfe7aaebd | 658 | * Bit Group Name: FIFO_MODE |
screamer | 18:a15bfe7aaebd | 659 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 660 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 661 | typedef enum { |
screamer | 18:a15bfe7aaebd | 662 | LSM6DSL_ACC_GYRO_FIFO_MODE_BYPASS =0x00, |
screamer | 18:a15bfe7aaebd | 663 | LSM6DSL_ACC_GYRO_FIFO_MODE_FIFO =0x01, |
screamer | 18:a15bfe7aaebd | 664 | LSM6DSL_ACC_GYRO_FIFO_MODE_STREAM =0x02, |
screamer | 18:a15bfe7aaebd | 665 | LSM6DSL_ACC_GYRO_FIFO_MODE_STF =0x03, |
screamer | 18:a15bfe7aaebd | 666 | LSM6DSL_ACC_GYRO_FIFO_MODE_BTS =0x04, |
screamer | 18:a15bfe7aaebd | 667 | LSM6DSL_ACC_GYRO_FIFO_MODE_DYN_STREAM =0x05, |
screamer | 18:a15bfe7aaebd | 668 | LSM6DSL_ACC_GYRO_FIFO_MODE_DYN_STREAM_2 =0x06, |
screamer | 18:a15bfe7aaebd | 669 | LSM6DSL_ACC_GYRO_FIFO_MODE_BTF =0x07, |
screamer | 18:a15bfe7aaebd | 670 | } LSM6DSL_ACC_GYRO_FIFO_MODE_t; |
screamer | 18:a15bfe7aaebd | 671 | |
screamer | 18:a15bfe7aaebd | 672 | #define LSM6DSL_ACC_GYRO_FIFO_MODE_MASK 0x07 |
screamer | 18:a15bfe7aaebd | 673 | mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_MODE(void *handle, LSM6DSL_ACC_GYRO_FIFO_MODE_t newValue); |
screamer | 18:a15bfe7aaebd | 674 | mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_MODE(void *handle, LSM6DSL_ACC_GYRO_FIFO_MODE_t *value); |
screamer | 18:a15bfe7aaebd | 675 | |
screamer | 18:a15bfe7aaebd | 676 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 677 | * Register : FIFO_CTRL5 |
screamer | 18:a15bfe7aaebd | 678 | * Address : 0X0A |
screamer | 18:a15bfe7aaebd | 679 | * Bit Group Name: ODR_FIFO |
screamer | 18:a15bfe7aaebd | 680 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 681 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 682 | typedef enum { |
screamer | 18:a15bfe7aaebd | 683 | LSM6DSL_ACC_GYRO_ODR_FIFO_10Hz =0x08, |
screamer | 18:a15bfe7aaebd | 684 | LSM6DSL_ACC_GYRO_ODR_FIFO_25Hz =0x10, |
screamer | 18:a15bfe7aaebd | 685 | LSM6DSL_ACC_GYRO_ODR_FIFO_50Hz =0x18, |
screamer | 18:a15bfe7aaebd | 686 | LSM6DSL_ACC_GYRO_ODR_FIFO_100Hz =0x20, |
screamer | 18:a15bfe7aaebd | 687 | LSM6DSL_ACC_GYRO_ODR_FIFO_200Hz =0x28, |
screamer | 18:a15bfe7aaebd | 688 | LSM6DSL_ACC_GYRO_ODR_FIFO_400Hz =0x30, |
screamer | 18:a15bfe7aaebd | 689 | LSM6DSL_ACC_GYRO_ODR_FIFO_800Hz =0x38, |
screamer | 18:a15bfe7aaebd | 690 | LSM6DSL_ACC_GYRO_ODR_FIFO_1600Hz =0x40, |
screamer | 18:a15bfe7aaebd | 691 | LSM6DSL_ACC_GYRO_ODR_FIFO_3300Hz =0x48, |
screamer | 18:a15bfe7aaebd | 692 | LSM6DSL_ACC_GYRO_ODR_FIFO_6600Hz =0x50, |
screamer | 18:a15bfe7aaebd | 693 | LSM6DSL_ACC_GYRO_ODR_FIFO_13300Hz =0x58, |
screamer | 18:a15bfe7aaebd | 694 | } LSM6DSL_ACC_GYRO_ODR_FIFO_t; |
screamer | 18:a15bfe7aaebd | 695 | |
screamer | 18:a15bfe7aaebd | 696 | #define LSM6DSL_ACC_GYRO_ODR_FIFO_MASK 0x78 |
screamer | 18:a15bfe7aaebd | 697 | mems_status_t LSM6DSL_ACC_GYRO_W_ODR_FIFO(void *handle, LSM6DSL_ACC_GYRO_ODR_FIFO_t newValue); |
screamer | 18:a15bfe7aaebd | 698 | mems_status_t LSM6DSL_ACC_GYRO_R_ODR_FIFO(void *handle, LSM6DSL_ACC_GYRO_ODR_FIFO_t *value); |
screamer | 18:a15bfe7aaebd | 699 | |
screamer | 18:a15bfe7aaebd | 700 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 701 | * Register : DRDY_PULSE_CFG_G |
screamer | 18:a15bfe7aaebd | 702 | * Address : 0X0B |
screamer | 18:a15bfe7aaebd | 703 | * Bit Group Name: DRDY_PULSE |
screamer | 18:a15bfe7aaebd | 704 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 705 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 706 | typedef enum { |
screamer | 18:a15bfe7aaebd | 707 | LSM6DSL_ACC_GYRO_DRDY_LATCH =0x00, |
screamer | 18:a15bfe7aaebd | 708 | LSM6DSL_ACC_GYRO_DRDY_PULSE =0x80, |
screamer | 18:a15bfe7aaebd | 709 | } LSM6DSL_ACC_GYRO_DRDY_PULSE_t; |
screamer | 18:a15bfe7aaebd | 710 | |
screamer | 18:a15bfe7aaebd | 711 | #define LSM6DSL_ACC_GYRO_DRDY_PULSE_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 712 | mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_PULSE(void *handle, LSM6DSL_ACC_GYRO_DRDY_PULSE_t newValue); |
screamer | 18:a15bfe7aaebd | 713 | mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_PULSE(void *handle, LSM6DSL_ACC_GYRO_DRDY_PULSE_t *value); |
screamer | 18:a15bfe7aaebd | 714 | |
screamer | 18:a15bfe7aaebd | 715 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 716 | * Register : INT1_CTRL |
screamer | 18:a15bfe7aaebd | 717 | * Address : 0X0D |
screamer | 18:a15bfe7aaebd | 718 | * Bit Group Name: INT1_DRDY_XL |
screamer | 18:a15bfe7aaebd | 719 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 720 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 721 | typedef enum { |
screamer | 18:a15bfe7aaebd | 722 | LSM6DSL_ACC_GYRO_INT1_DRDY_XL_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 723 | LSM6DSL_ACC_GYRO_INT1_DRDY_XL_ENABLED =0x01, |
screamer | 18:a15bfe7aaebd | 724 | } LSM6DSL_ACC_GYRO_INT1_DRDY_XL_t; |
screamer | 18:a15bfe7aaebd | 725 | |
screamer | 18:a15bfe7aaebd | 726 | #define LSM6DSL_ACC_GYRO_INT1_DRDY_XL_MASK 0x01 |
screamer | 18:a15bfe7aaebd | 727 | mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_XL_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_XL_t newValue); |
screamer | 18:a15bfe7aaebd | 728 | mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_XL_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_XL_t *value); |
screamer | 18:a15bfe7aaebd | 729 | |
screamer | 18:a15bfe7aaebd | 730 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 731 | * Register : INT1_CTRL |
screamer | 18:a15bfe7aaebd | 732 | * Address : 0X0D |
screamer | 18:a15bfe7aaebd | 733 | * Bit Group Name: INT1_DRDY_G |
screamer | 18:a15bfe7aaebd | 734 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 735 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 736 | typedef enum { |
screamer | 18:a15bfe7aaebd | 737 | LSM6DSL_ACC_GYRO_INT1_DRDY_G_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 738 | LSM6DSL_ACC_GYRO_INT1_DRDY_G_ENABLED =0x02, |
screamer | 18:a15bfe7aaebd | 739 | } LSM6DSL_ACC_GYRO_INT1_DRDY_G_t; |
screamer | 18:a15bfe7aaebd | 740 | |
screamer | 18:a15bfe7aaebd | 741 | #define LSM6DSL_ACC_GYRO_INT1_DRDY_G_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 742 | mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_G_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_G_t newValue); |
screamer | 18:a15bfe7aaebd | 743 | mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_G_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_DRDY_G_t *value); |
screamer | 18:a15bfe7aaebd | 744 | |
screamer | 18:a15bfe7aaebd | 745 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 746 | * Register : INT1_CTRL |
screamer | 18:a15bfe7aaebd | 747 | * Address : 0X0D |
screamer | 18:a15bfe7aaebd | 748 | * Bit Group Name: INT1_BOOT |
screamer | 18:a15bfe7aaebd | 749 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 750 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 751 | typedef enum { |
screamer | 18:a15bfe7aaebd | 752 | LSM6DSL_ACC_GYRO_INT1_BOOT_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 753 | LSM6DSL_ACC_GYRO_INT1_BOOT_ENABLED =0x04, |
screamer | 18:a15bfe7aaebd | 754 | } LSM6DSL_ACC_GYRO_INT1_BOOT_t; |
screamer | 18:a15bfe7aaebd | 755 | |
screamer | 18:a15bfe7aaebd | 756 | #define LSM6DSL_ACC_GYRO_INT1_BOOT_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 757 | mems_status_t LSM6DSL_ACC_GYRO_W_BOOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_BOOT_t newValue); |
screamer | 18:a15bfe7aaebd | 758 | mems_status_t LSM6DSL_ACC_GYRO_R_BOOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_BOOT_t *value); |
screamer | 18:a15bfe7aaebd | 759 | |
screamer | 18:a15bfe7aaebd | 760 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 761 | * Register : INT1_CTRL |
screamer | 18:a15bfe7aaebd | 762 | * Address : 0X0D |
screamer | 18:a15bfe7aaebd | 763 | * Bit Group Name: INT1_FTH |
screamer | 18:a15bfe7aaebd | 764 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 765 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 766 | typedef enum { |
screamer | 18:a15bfe7aaebd | 767 | LSM6DSL_ACC_GYRO_INT1_FTH_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 768 | LSM6DSL_ACC_GYRO_INT1_FTH_ENABLED =0x08, |
screamer | 18:a15bfe7aaebd | 769 | } LSM6DSL_ACC_GYRO_INT1_FTH_t; |
screamer | 18:a15bfe7aaebd | 770 | |
screamer | 18:a15bfe7aaebd | 771 | #define LSM6DSL_ACC_GYRO_INT1_FTH_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 772 | mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_TSHLD_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FTH_t newValue); |
screamer | 18:a15bfe7aaebd | 773 | mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_TSHLD_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FTH_t *value); |
screamer | 18:a15bfe7aaebd | 774 | |
screamer | 18:a15bfe7aaebd | 775 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 776 | * Register : INT1_CTRL |
screamer | 18:a15bfe7aaebd | 777 | * Address : 0X0D |
screamer | 18:a15bfe7aaebd | 778 | * Bit Group Name: INT1_OVR |
screamer | 18:a15bfe7aaebd | 779 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 780 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 781 | typedef enum { |
screamer | 18:a15bfe7aaebd | 782 | LSM6DSL_ACC_GYRO_INT1_OVR_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 783 | LSM6DSL_ACC_GYRO_INT1_OVR_ENABLED =0x10, |
screamer | 18:a15bfe7aaebd | 784 | } LSM6DSL_ACC_GYRO_INT1_OVR_t; |
screamer | 18:a15bfe7aaebd | 785 | |
screamer | 18:a15bfe7aaebd | 786 | #define LSM6DSL_ACC_GYRO_INT1_OVR_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 787 | mems_status_t LSM6DSL_ACC_GYRO_W_OVERRUN_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_OVR_t newValue); |
screamer | 18:a15bfe7aaebd | 788 | mems_status_t LSM6DSL_ACC_GYRO_R_OVERRUN_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_OVR_t *value); |
screamer | 18:a15bfe7aaebd | 789 | |
screamer | 18:a15bfe7aaebd | 790 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 791 | * Register : INT1_CTRL |
screamer | 18:a15bfe7aaebd | 792 | * Address : 0X0D |
screamer | 18:a15bfe7aaebd | 793 | * Bit Group Name: INT1_FULL_FLAG |
screamer | 18:a15bfe7aaebd | 794 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 795 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 796 | typedef enum { |
screamer | 18:a15bfe7aaebd | 797 | LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 798 | LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_ENABLED =0x20, |
screamer | 18:a15bfe7aaebd | 799 | } LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_t; |
screamer | 18:a15bfe7aaebd | 800 | |
screamer | 18:a15bfe7aaebd | 801 | #define LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_MASK 0x20 |
screamer | 18:a15bfe7aaebd | 802 | mems_status_t LSM6DSL_ACC_GYRO_W_FULL_FLAG_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_t newValue); |
screamer | 18:a15bfe7aaebd | 803 | mems_status_t LSM6DSL_ACC_GYRO_R_FULL_FLAG_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_t *value); |
screamer | 18:a15bfe7aaebd | 804 | |
screamer | 18:a15bfe7aaebd | 805 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 806 | * Register : INT1_CTRL |
screamer | 18:a15bfe7aaebd | 807 | * Address : 0X0D |
screamer | 18:a15bfe7aaebd | 808 | * Bit Group Name: INT1_SIGN_MOT |
screamer | 18:a15bfe7aaebd | 809 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 810 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 811 | typedef enum { |
screamer | 18:a15bfe7aaebd | 812 | LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 813 | LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_ENABLED =0x40, |
screamer | 18:a15bfe7aaebd | 814 | } LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_t; |
screamer | 18:a15bfe7aaebd | 815 | |
screamer | 18:a15bfe7aaebd | 816 | #define LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 817 | mems_status_t LSM6DSL_ACC_GYRO_W_SIGN_MOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_t newValue); |
screamer | 18:a15bfe7aaebd | 818 | mems_status_t LSM6DSL_ACC_GYRO_R_SIGN_MOT_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_SIGN_MOT_t *value); |
screamer | 18:a15bfe7aaebd | 819 | |
screamer | 18:a15bfe7aaebd | 820 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 821 | * Register : INT1_CTRL |
screamer | 18:a15bfe7aaebd | 822 | * Address : 0X0D |
screamer | 18:a15bfe7aaebd | 823 | * Bit Group Name: INT1_STEP_DETECTOR |
screamer | 18:a15bfe7aaebd | 824 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 825 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 826 | typedef enum { |
screamer | 18:a15bfe7aaebd | 827 | LSM6DSL_ACC_GYRO_INT1_PEDO_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 828 | LSM6DSL_ACC_GYRO_INT1_PEDO_ENABLED =0x80, |
screamer | 18:a15bfe7aaebd | 829 | } LSM6DSL_ACC_GYRO_INT1_PEDO_t; |
screamer | 18:a15bfe7aaebd | 830 | |
screamer | 18:a15bfe7aaebd | 831 | #define LSM6DSL_ACC_GYRO_INT1_PEDO_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 832 | mems_status_t LSM6DSL_ACC_GYRO_W_STEP_DET_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_PEDO_t newValue); |
screamer | 18:a15bfe7aaebd | 833 | mems_status_t LSM6DSL_ACC_GYRO_R_STEP_DET_on_INT1(void *handle, LSM6DSL_ACC_GYRO_INT1_PEDO_t *value); |
screamer | 18:a15bfe7aaebd | 834 | |
screamer | 18:a15bfe7aaebd | 835 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 836 | * Register : INT2_CTRL |
screamer | 18:a15bfe7aaebd | 837 | * Address : 0X0E |
screamer | 18:a15bfe7aaebd | 838 | * Bit Group Name: INT2_DRDY_XL |
screamer | 18:a15bfe7aaebd | 839 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 840 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 841 | typedef enum { |
screamer | 18:a15bfe7aaebd | 842 | LSM6DSL_ACC_GYRO_INT2_DRDY_XL_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 843 | LSM6DSL_ACC_GYRO_INT2_DRDY_XL_ENABLED =0x01, |
screamer | 18:a15bfe7aaebd | 844 | } LSM6DSL_ACC_GYRO_INT2_DRDY_XL_t; |
screamer | 18:a15bfe7aaebd | 845 | |
screamer | 18:a15bfe7aaebd | 846 | #define LSM6DSL_ACC_GYRO_INT2_DRDY_XL_MASK 0x01 |
screamer | 18:a15bfe7aaebd | 847 | mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_XL_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_XL_t newValue); |
screamer | 18:a15bfe7aaebd | 848 | mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_XL_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_XL_t *value); |
screamer | 18:a15bfe7aaebd | 849 | |
screamer | 18:a15bfe7aaebd | 850 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 851 | * Register : INT2_CTRL |
screamer | 18:a15bfe7aaebd | 852 | * Address : 0X0E |
screamer | 18:a15bfe7aaebd | 853 | * Bit Group Name: INT2_DRDY_G |
screamer | 18:a15bfe7aaebd | 854 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 855 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 856 | typedef enum { |
screamer | 18:a15bfe7aaebd | 857 | LSM6DSL_ACC_GYRO_INT2_DRDY_G_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 858 | LSM6DSL_ACC_GYRO_INT2_DRDY_G_ENABLED =0x02, |
screamer | 18:a15bfe7aaebd | 859 | } LSM6DSL_ACC_GYRO_INT2_DRDY_G_t; |
screamer | 18:a15bfe7aaebd | 860 | |
screamer | 18:a15bfe7aaebd | 861 | #define LSM6DSL_ACC_GYRO_INT2_DRDY_G_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 862 | mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_G_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_G_t newValue); |
screamer | 18:a15bfe7aaebd | 863 | mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_G_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_G_t *value); |
screamer | 18:a15bfe7aaebd | 864 | |
screamer | 18:a15bfe7aaebd | 865 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 866 | * Register : INT2_CTRL |
screamer | 18:a15bfe7aaebd | 867 | * Address : 0X0E |
screamer | 18:a15bfe7aaebd | 868 | * Bit Group Name: INT2_DRDY_TEMP |
screamer | 18:a15bfe7aaebd | 869 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 870 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 871 | typedef enum { |
screamer | 18:a15bfe7aaebd | 872 | LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 873 | LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_ENABLED =0x04, |
screamer | 18:a15bfe7aaebd | 874 | } LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_t; |
screamer | 18:a15bfe7aaebd | 875 | |
screamer | 18:a15bfe7aaebd | 876 | #define LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 877 | mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_TEMP_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_t newValue); |
screamer | 18:a15bfe7aaebd | 878 | mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_TEMP_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_DRDY_TEMP_t *value); |
screamer | 18:a15bfe7aaebd | 879 | |
screamer | 18:a15bfe7aaebd | 880 | |
screamer | 18:a15bfe7aaebd | 881 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 882 | * Register : INT2_CTRL |
screamer | 18:a15bfe7aaebd | 883 | * Address : 0X0E |
screamer | 18:a15bfe7aaebd | 884 | * Bit Group Name: INT2_FTH |
screamer | 18:a15bfe7aaebd | 885 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 886 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 887 | typedef enum { |
screamer | 18:a15bfe7aaebd | 888 | LSM6DSL_ACC_GYRO_INT2_FTH_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 889 | LSM6DSL_ACC_GYRO_INT2_FTH_ENABLED =0x08, |
screamer | 18:a15bfe7aaebd | 890 | } LSM6DSL_ACC_GYRO_INT2_FTH_t; |
screamer | 18:a15bfe7aaebd | 891 | |
screamer | 18:a15bfe7aaebd | 892 | #define LSM6DSL_ACC_GYRO_INT2_FTH_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 893 | mems_status_t LSM6DSL_ACC_GYRO_W_FIFO_TSHLD_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FTH_t newValue); |
screamer | 18:a15bfe7aaebd | 894 | mems_status_t LSM6DSL_ACC_GYRO_R_FIFO_TSHLD_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FTH_t *value); |
screamer | 18:a15bfe7aaebd | 895 | |
screamer | 18:a15bfe7aaebd | 896 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 897 | * Register : INT2_CTRL |
screamer | 18:a15bfe7aaebd | 898 | * Address : 0X0E |
screamer | 18:a15bfe7aaebd | 899 | * Bit Group Name: INT2_OVR |
screamer | 18:a15bfe7aaebd | 900 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 901 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 902 | typedef enum { |
screamer | 18:a15bfe7aaebd | 903 | LSM6DSL_ACC_GYRO_INT2_OVR_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 904 | LSM6DSL_ACC_GYRO_INT2_OVR_ENABLED =0x10, |
screamer | 18:a15bfe7aaebd | 905 | } LSM6DSL_ACC_GYRO_INT2_OVR_t; |
screamer | 18:a15bfe7aaebd | 906 | |
screamer | 18:a15bfe7aaebd | 907 | #define LSM6DSL_ACC_GYRO_INT2_OVR_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 908 | mems_status_t LSM6DSL_ACC_GYRO_W_OVERRUN_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_OVR_t newValue); |
screamer | 18:a15bfe7aaebd | 909 | mems_status_t LSM6DSL_ACC_GYRO_R_OVERRUN_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_OVR_t *value); |
screamer | 18:a15bfe7aaebd | 910 | |
screamer | 18:a15bfe7aaebd | 911 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 912 | * Register : INT2_CTRL |
screamer | 18:a15bfe7aaebd | 913 | * Address : 0X0E |
screamer | 18:a15bfe7aaebd | 914 | * Bit Group Name: INT2_FULL_FLAG |
screamer | 18:a15bfe7aaebd | 915 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 916 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 917 | typedef enum { |
screamer | 18:a15bfe7aaebd | 918 | LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 919 | LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_ENABLED =0x20, |
screamer | 18:a15bfe7aaebd | 920 | } LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_t; |
screamer | 18:a15bfe7aaebd | 921 | |
screamer | 18:a15bfe7aaebd | 922 | #define LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_MASK 0x20 |
screamer | 18:a15bfe7aaebd | 923 | mems_status_t LSM6DSL_ACC_GYRO_W_FULL_FLAG_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_t newValue); |
screamer | 18:a15bfe7aaebd | 924 | mems_status_t LSM6DSL_ACC_GYRO_R_FULL_FLAG_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_FULL_FLAG_t *value); |
screamer | 18:a15bfe7aaebd | 925 | |
screamer | 18:a15bfe7aaebd | 926 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 927 | * Register : INT2_CTRL |
screamer | 18:a15bfe7aaebd | 928 | * Address : 0X0E |
screamer | 18:a15bfe7aaebd | 929 | * Bit Group Name: INT2_STEP_COUNT_OV |
screamer | 18:a15bfe7aaebd | 930 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 931 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 932 | typedef enum { |
screamer | 18:a15bfe7aaebd | 933 | LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 934 | LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_ENABLED =0x40, |
screamer | 18:a15bfe7aaebd | 935 | } LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_t; |
screamer | 18:a15bfe7aaebd | 936 | |
screamer | 18:a15bfe7aaebd | 937 | #define LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 938 | mems_status_t LSM6DSL_ACC_GYRO_W_STEP_COUNT_OV_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_t newValue); |
screamer | 18:a15bfe7aaebd | 939 | mems_status_t LSM6DSL_ACC_GYRO_R_STEP_COUNT_OV_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_COUNT_OV_t *value); |
screamer | 18:a15bfe7aaebd | 940 | |
screamer | 18:a15bfe7aaebd | 941 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 942 | * Register : INT2_CTRL |
screamer | 18:a15bfe7aaebd | 943 | * Address : 0X0E |
screamer | 18:a15bfe7aaebd | 944 | * Bit Group Name: INT2_STEP_DELTA |
screamer | 18:a15bfe7aaebd | 945 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 946 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 947 | typedef enum { |
screamer | 18:a15bfe7aaebd | 948 | LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 949 | LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_ENABLED =0x80, |
screamer | 18:a15bfe7aaebd | 950 | } LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_t; |
screamer | 18:a15bfe7aaebd | 951 | |
screamer | 18:a15bfe7aaebd | 952 | #define LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 953 | mems_status_t LSM6DSL_ACC_GYRO_W_STEP_DELTA_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_t newValue); |
screamer | 18:a15bfe7aaebd | 954 | mems_status_t LSM6DSL_ACC_GYRO_R_STEP_DELTA_on_INT2(void *handle, LSM6DSL_ACC_GYRO_INT2_STEP_DELTA_t *value); |
screamer | 18:a15bfe7aaebd | 955 | |
screamer | 18:a15bfe7aaebd | 956 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 957 | * Register : CTRL3_C |
screamer | 18:a15bfe7aaebd | 958 | * Address : 0X12 |
screamer | 18:a15bfe7aaebd | 959 | * Bit Group Name: SW_RESET |
screamer | 18:a15bfe7aaebd | 960 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 961 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 962 | typedef enum { |
screamer | 18:a15bfe7aaebd | 963 | LSM6DSL_ACC_GYRO_SW_RESET_NORMAL_MODE =0x00, |
screamer | 18:a15bfe7aaebd | 964 | LSM6DSL_ACC_GYRO_SW_RESET_RESET_DEVICE =0x01, |
screamer | 18:a15bfe7aaebd | 965 | } LSM6DSL_ACC_GYRO_SW_RESET_t; |
screamer | 18:a15bfe7aaebd | 966 | |
screamer | 18:a15bfe7aaebd | 967 | #define LSM6DSL_ACC_GYRO_SW_RESET_MASK 0x01 |
screamer | 18:a15bfe7aaebd | 968 | mems_status_t LSM6DSL_ACC_GYRO_W_SW_RESET(void *handle, LSM6DSL_ACC_GYRO_SW_RESET_t newValue); |
screamer | 18:a15bfe7aaebd | 969 | mems_status_t LSM6DSL_ACC_GYRO_R_SW_RESET(void *handle, LSM6DSL_ACC_GYRO_SW_RESET_t *value); |
screamer | 18:a15bfe7aaebd | 970 | |
screamer | 18:a15bfe7aaebd | 971 | |
screamer | 18:a15bfe7aaebd | 972 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 973 | * Register : CTRL3_C |
screamer | 18:a15bfe7aaebd | 974 | * Address : 0X12 |
screamer | 18:a15bfe7aaebd | 975 | * Bit Group Name: IF_INC |
screamer | 18:a15bfe7aaebd | 976 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 977 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 978 | typedef enum { |
screamer | 18:a15bfe7aaebd | 979 | LSM6DSL_ACC_GYRO_IF_INC_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 980 | LSM6DSL_ACC_GYRO_IF_INC_ENABLED =0x04, |
screamer | 18:a15bfe7aaebd | 981 | } LSM6DSL_ACC_GYRO_IF_INC_t; |
screamer | 18:a15bfe7aaebd | 982 | |
screamer | 18:a15bfe7aaebd | 983 | #define LSM6DSL_ACC_GYRO_IF_INC_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 984 | mems_status_t LSM6DSL_ACC_GYRO_W_IF_Addr_Incr(void *handle, LSM6DSL_ACC_GYRO_IF_INC_t newValue); |
screamer | 18:a15bfe7aaebd | 985 | mems_status_t LSM6DSL_ACC_GYRO_R_IF_Addr_Incr(void *handle, LSM6DSL_ACC_GYRO_IF_INC_t *value); |
screamer | 18:a15bfe7aaebd | 986 | |
screamer | 18:a15bfe7aaebd | 987 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 988 | * Register : CTRL3_C |
screamer | 18:a15bfe7aaebd | 989 | * Address : 0X12 |
screamer | 18:a15bfe7aaebd | 990 | * Bit Group Name: SIM |
screamer | 18:a15bfe7aaebd | 991 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 992 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 993 | typedef enum { |
screamer | 18:a15bfe7aaebd | 994 | LSM6DSL_ACC_GYRO_SIM_4_WIRE =0x00, |
screamer | 18:a15bfe7aaebd | 995 | LSM6DSL_ACC_GYRO_SIM_3_WIRE =0x08, |
screamer | 18:a15bfe7aaebd | 996 | } LSM6DSL_ACC_GYRO_SIM_t; |
screamer | 18:a15bfe7aaebd | 997 | |
screamer | 18:a15bfe7aaebd | 998 | #define LSM6DSL_ACC_GYRO_SIM_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 999 | mems_status_t LSM6DSL_ACC_GYRO_W_SPI_Mode(void *handle, LSM6DSL_ACC_GYRO_SIM_t newValue); |
screamer | 18:a15bfe7aaebd | 1000 | mems_status_t LSM6DSL_ACC_GYRO_R_SPI_Mode(void *handle, LSM6DSL_ACC_GYRO_SIM_t *value); |
screamer | 18:a15bfe7aaebd | 1001 | |
screamer | 18:a15bfe7aaebd | 1002 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1003 | * Register : CTRL3_C |
screamer | 18:a15bfe7aaebd | 1004 | * Address : 0X12 |
screamer | 18:a15bfe7aaebd | 1005 | * Bit Group Name: PP_OD |
screamer | 18:a15bfe7aaebd | 1006 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1007 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1008 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1009 | LSM6DSL_ACC_GYRO_PP_OD_PUSH_PULL =0x00, |
screamer | 18:a15bfe7aaebd | 1010 | LSM6DSL_ACC_GYRO_PP_OD_OPEN_DRAIN =0x10, |
screamer | 18:a15bfe7aaebd | 1011 | } LSM6DSL_ACC_GYRO_PP_OD_t; |
screamer | 18:a15bfe7aaebd | 1012 | |
screamer | 18:a15bfe7aaebd | 1013 | #define LSM6DSL_ACC_GYRO_PP_OD_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 1014 | mems_status_t LSM6DSL_ACC_GYRO_W_PadSel(void *handle, LSM6DSL_ACC_GYRO_PP_OD_t newValue); |
screamer | 18:a15bfe7aaebd | 1015 | mems_status_t LSM6DSL_ACC_GYRO_R_PadSel(void *handle, LSM6DSL_ACC_GYRO_PP_OD_t *value); |
screamer | 18:a15bfe7aaebd | 1016 | |
screamer | 18:a15bfe7aaebd | 1017 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1018 | * Register : CTRL3_C |
screamer | 18:a15bfe7aaebd | 1019 | * Address : 0X12 |
screamer | 18:a15bfe7aaebd | 1020 | * Bit Group Name: H_LACTIVE |
screamer | 18:a15bfe7aaebd | 1021 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1022 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1023 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1024 | LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_ACTIVE_HI =0x00, |
screamer | 18:a15bfe7aaebd | 1025 | LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_ACTIVE_LO =0x20, |
screamer | 18:a15bfe7aaebd | 1026 | } LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_t; |
screamer | 18:a15bfe7aaebd | 1027 | |
screamer | 18:a15bfe7aaebd | 1028 | #define LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_MASK 0x20 |
screamer | 18:a15bfe7aaebd | 1029 | mems_status_t LSM6DSL_ACC_GYRO_W_INT_ACT_LEVEL(void *handle, LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_t newValue); |
screamer | 18:a15bfe7aaebd | 1030 | mems_status_t LSM6DSL_ACC_GYRO_R_INT_ACT_LEVEL(void *handle, LSM6DSL_ACC_GYRO_INT_ACT_LEVEL_t *value); |
screamer | 18:a15bfe7aaebd | 1031 | |
screamer | 18:a15bfe7aaebd | 1032 | |
screamer | 18:a15bfe7aaebd | 1033 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1034 | * Register : CTRL3_C |
screamer | 18:a15bfe7aaebd | 1035 | * Address : 0X12 |
screamer | 18:a15bfe7aaebd | 1036 | * Bit Group Name: BOOT |
screamer | 18:a15bfe7aaebd | 1037 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1038 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1039 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1040 | LSM6DSL_ACC_GYRO_BOOT_NORMAL_MODE =0x00, |
screamer | 18:a15bfe7aaebd | 1041 | LSM6DSL_ACC_GYRO_BOOT_REBOOT_MODE =0x80, |
screamer | 18:a15bfe7aaebd | 1042 | } LSM6DSL_ACC_GYRO_BOOT_t; |
screamer | 18:a15bfe7aaebd | 1043 | |
screamer | 18:a15bfe7aaebd | 1044 | #define LSM6DSL_ACC_GYRO_BOOT_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 1045 | mems_status_t LSM6DSL_ACC_GYRO_W_BOOT(void *handle, LSM6DSL_ACC_GYRO_BOOT_t newValue); |
screamer | 18:a15bfe7aaebd | 1046 | mems_status_t LSM6DSL_ACC_GYRO_R_BOOT(void *handle, LSM6DSL_ACC_GYRO_BOOT_t *value); |
screamer | 18:a15bfe7aaebd | 1047 | |
screamer | 18:a15bfe7aaebd | 1048 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1049 | * Register : CTRL4_C |
screamer | 18:a15bfe7aaebd | 1050 | * Address : 0X13 |
screamer | 18:a15bfe7aaebd | 1051 | * Bit Group Name: LPF1_SEL_G |
screamer | 18:a15bfe7aaebd | 1052 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1053 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1054 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1055 | LSM6DSL_ACC_GYRO_MODE3_LPF1_G_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1056 | LSM6DSL_ACC_GYRO_MODE3_LPF1_G_ENABLED =0x02, |
screamer | 18:a15bfe7aaebd | 1057 | } LSM6DSL_ACC_GYRO_LPF1_SEL_G_t; |
screamer | 18:a15bfe7aaebd | 1058 | |
screamer | 18:a15bfe7aaebd | 1059 | #define LSM6DSL_ACC_GYRO_LPF1_SEL_G_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 1060 | mems_status_t LSM6DSL_ACC_GYRO_W_LPF1_SEL_G(void *handle, LSM6DSL_ACC_GYRO_LPF1_SEL_G_t newValue); |
screamer | 18:a15bfe7aaebd | 1061 | mems_status_t LSM6DSL_ACC_GYRO_R_LPF1_SEL_G(void *handle, LSM6DSL_ACC_GYRO_LPF1_SEL_G_t *value); |
screamer | 18:a15bfe7aaebd | 1062 | |
screamer | 18:a15bfe7aaebd | 1063 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1064 | * Register : CTRL4_C |
screamer | 18:a15bfe7aaebd | 1065 | * Address : 0X13 |
screamer | 18:a15bfe7aaebd | 1066 | * Bit Group Name: I2C_DISABLE |
screamer | 18:a15bfe7aaebd | 1067 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1068 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1069 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1070 | LSM6DSL_ACC_GYRO_I2C_DISABLE_I2C_AND_SPI =0x00, |
screamer | 18:a15bfe7aaebd | 1071 | LSM6DSL_ACC_GYRO_I2C_DISABLE_SPI_ONLY =0x04, |
screamer | 18:a15bfe7aaebd | 1072 | } LSM6DSL_ACC_GYRO_I2C_DISABLE_t; |
screamer | 18:a15bfe7aaebd | 1073 | |
screamer | 18:a15bfe7aaebd | 1074 | #define LSM6DSL_ACC_GYRO_I2C_DISABLE_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 1075 | mems_status_t LSM6DSL_ACC_GYRO_W_I2C_DISABLE(void *handle, LSM6DSL_ACC_GYRO_I2C_DISABLE_t newValue); |
screamer | 18:a15bfe7aaebd | 1076 | mems_status_t LSM6DSL_ACC_GYRO_R_I2C_DISABLE(void *handle, LSM6DSL_ACC_GYRO_I2C_DISABLE_t *value); |
screamer | 18:a15bfe7aaebd | 1077 | |
screamer | 18:a15bfe7aaebd | 1078 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1079 | * Register : CTRL4_C |
screamer | 18:a15bfe7aaebd | 1080 | * Address : 0X13 |
screamer | 18:a15bfe7aaebd | 1081 | * Bit Group Name: DRDY_MSK |
screamer | 18:a15bfe7aaebd | 1082 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1083 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1084 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1085 | LSM6DSL_ACC_GYRO_DRDY_MSK_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1086 | LSM6DSL_ACC_GYRO_DRDY_MSK_ENABLED =0x08, |
screamer | 18:a15bfe7aaebd | 1087 | } LSM6DSL_ACC_GYRO_DRDY_MSK_t; |
screamer | 18:a15bfe7aaebd | 1088 | |
screamer | 18:a15bfe7aaebd | 1089 | #define LSM6DSL_ACC_GYRO_DRDY_MSK_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 1090 | mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_MSK(void *handle, LSM6DSL_ACC_GYRO_DRDY_MSK_t newValue); |
screamer | 18:a15bfe7aaebd | 1091 | mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_MSK(void *handle, LSM6DSL_ACC_GYRO_DRDY_MSK_t *value); |
screamer | 18:a15bfe7aaebd | 1092 | |
screamer | 18:a15bfe7aaebd | 1093 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1094 | * Register : CTRL4_C |
screamer | 18:a15bfe7aaebd | 1095 | * Address : 0X13 |
screamer | 18:a15bfe7aaebd | 1096 | * Bit Group Name: INT2_ON_INT1 |
screamer | 18:a15bfe7aaebd | 1097 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1098 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1099 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1100 | LSM6DSL_ACC_GYRO_INT2_ON_INT1_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1101 | LSM6DSL_ACC_GYRO_INT2_ON_INT1_ENABLED =0x20, |
screamer | 18:a15bfe7aaebd | 1102 | } LSM6DSL_ACC_GYRO_INT2_ON_INT1_t; |
screamer | 18:a15bfe7aaebd | 1103 | |
screamer | 18:a15bfe7aaebd | 1104 | #define LSM6DSL_ACC_GYRO_INT2_ON_INT1_MASK 0x20 |
screamer | 18:a15bfe7aaebd | 1105 | mems_status_t LSM6DSL_ACC_GYRO_W_INT2_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_INT2_ON_INT1_t newValue); |
screamer | 18:a15bfe7aaebd | 1106 | mems_status_t LSM6DSL_ACC_GYRO_R_INT2_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_INT2_ON_INT1_t *value); |
screamer | 18:a15bfe7aaebd | 1107 | |
screamer | 18:a15bfe7aaebd | 1108 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1109 | * Register : CTRL4_C |
screamer | 18:a15bfe7aaebd | 1110 | * Address : 0X13 |
screamer | 18:a15bfe7aaebd | 1111 | * Bit Group Name: SLEEP_G |
screamer | 18:a15bfe7aaebd | 1112 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1113 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1114 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1115 | LSM6DSL_ACC_GYRO_SLEEP_G_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1116 | LSM6DSL_ACC_GYRO_SLEEP_G_ENABLED =0x40, |
screamer | 18:a15bfe7aaebd | 1117 | } LSM6DSL_ACC_GYRO_SLEEP_G_t; |
screamer | 18:a15bfe7aaebd | 1118 | |
screamer | 18:a15bfe7aaebd | 1119 | #define LSM6DSL_ACC_GYRO_SLEEP_G_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 1120 | mems_status_t LSM6DSL_ACC_GYRO_W_SleepMode_G(void *handle, LSM6DSL_ACC_GYRO_SLEEP_G_t newValue); |
screamer | 18:a15bfe7aaebd | 1121 | mems_status_t LSM6DSL_ACC_GYRO_R_SleepMode_G(void *handle, LSM6DSL_ACC_GYRO_SLEEP_G_t *value); |
screamer | 18:a15bfe7aaebd | 1122 | |
screamer | 18:a15bfe7aaebd | 1123 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1124 | * Register : CTRL5_C |
screamer | 18:a15bfe7aaebd | 1125 | * Address : 0X14 |
screamer | 18:a15bfe7aaebd | 1126 | * Bit Group Name: ST_XL |
screamer | 18:a15bfe7aaebd | 1127 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1128 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1129 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1130 | LSM6DSL_ACC_GYRO_ST_XL_NORMAL_MODE =0x00, |
screamer | 18:a15bfe7aaebd | 1131 | LSM6DSL_ACC_GYRO_ST_XL_POS_SIGN_TEST =0x01, |
screamer | 18:a15bfe7aaebd | 1132 | LSM6DSL_ACC_GYRO_ST_XL_NEG_SIGN_TEST =0x02, |
screamer | 18:a15bfe7aaebd | 1133 | LSM6DSL_ACC_GYRO_ST_XL_NA =0x03, |
screamer | 18:a15bfe7aaebd | 1134 | } LSM6DSL_ACC_GYRO_ST_XL_t; |
screamer | 18:a15bfe7aaebd | 1135 | |
screamer | 18:a15bfe7aaebd | 1136 | #define LSM6DSL_ACC_GYRO_ST_XL_MASK 0x03 |
screamer | 18:a15bfe7aaebd | 1137 | mems_status_t LSM6DSL_ACC_GYRO_W_SelfTest_XL(void *handle, LSM6DSL_ACC_GYRO_ST_XL_t newValue); |
screamer | 18:a15bfe7aaebd | 1138 | mems_status_t LSM6DSL_ACC_GYRO_R_SelfTest_XL(void *handle, LSM6DSL_ACC_GYRO_ST_XL_t *value); |
screamer | 18:a15bfe7aaebd | 1139 | |
screamer | 18:a15bfe7aaebd | 1140 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1141 | * Register : CTRL5_C |
screamer | 18:a15bfe7aaebd | 1142 | * Address : 0X14 |
screamer | 18:a15bfe7aaebd | 1143 | * Bit Group Name: ST_G |
screamer | 18:a15bfe7aaebd | 1144 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1145 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1146 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1147 | LSM6DSL_ACC_GYRO_ST_G_NORMAL_MODE =0x00, |
screamer | 18:a15bfe7aaebd | 1148 | LSM6DSL_ACC_GYRO_ST_G_POS_SIGN_TEST =0x04, |
screamer | 18:a15bfe7aaebd | 1149 | LSM6DSL_ACC_GYRO_ST_G_NA =0x08, |
screamer | 18:a15bfe7aaebd | 1150 | LSM6DSL_ACC_GYRO_ST_G_NEG_SIGN_TEST =0x0C, |
screamer | 18:a15bfe7aaebd | 1151 | } LSM6DSL_ACC_GYRO_ST_G_t; |
screamer | 18:a15bfe7aaebd | 1152 | |
screamer | 18:a15bfe7aaebd | 1153 | #define LSM6DSL_ACC_GYRO_ST_G_MASK 0x0C |
screamer | 18:a15bfe7aaebd | 1154 | mems_status_t LSM6DSL_ACC_GYRO_W_SelfTest_G(void *handle, LSM6DSL_ACC_GYRO_ST_G_t newValue); |
screamer | 18:a15bfe7aaebd | 1155 | mems_status_t LSM6DSL_ACC_GYRO_R_SelfTest_G(void *handle, LSM6DSL_ACC_GYRO_ST_G_t *value); |
screamer | 18:a15bfe7aaebd | 1156 | |
screamer | 18:a15bfe7aaebd | 1157 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1158 | * Register : CTRL5_C |
screamer | 18:a15bfe7aaebd | 1159 | * Address : 0X14 |
screamer | 18:a15bfe7aaebd | 1160 | * Bit Group Name: DEN_LH |
screamer | 18:a15bfe7aaebd | 1161 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1162 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1163 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1164 | LSM6DSL_ACC_GYRO_DEN_LOW =0x00, |
screamer | 18:a15bfe7aaebd | 1165 | LSM6DSL_ACC_GYRO_DEN_HIGH =0x10, |
screamer | 18:a15bfe7aaebd | 1166 | } LSM6DSL_ACC_GYRO_DEN_LH_t; |
screamer | 18:a15bfe7aaebd | 1167 | |
screamer | 18:a15bfe7aaebd | 1168 | #define LSM6DSL_ACC_GYRO_DEN_LH_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 1169 | mems_status_t LSM6DSL_ACC_GYRO_W_DEN_Polarity(void *handle, LSM6DSL_ACC_GYRO_DEN_LH_t newValue); |
screamer | 18:a15bfe7aaebd | 1170 | mems_status_t LSM6DSL_ACC_GYRO_R_DEN_Polarity(void *handle, LSM6DSL_ACC_GYRO_DEN_LH_t *value); |
screamer | 18:a15bfe7aaebd | 1171 | |
screamer | 18:a15bfe7aaebd | 1172 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1173 | * Register : CTRL5_C |
screamer | 18:a15bfe7aaebd | 1174 | * Address : 0X14 |
screamer | 18:a15bfe7aaebd | 1175 | * Bit Group Name: ST_ROUNDING |
screamer | 18:a15bfe7aaebd | 1176 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1177 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1178 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1179 | LSM6DSL_ACC_GYRO_NO_ROUNDING =0x00, |
screamer | 18:a15bfe7aaebd | 1180 | LSM6DSL_ACC_GYRO_ACC_ONLY =0x20, |
screamer | 18:a15bfe7aaebd | 1181 | LSM6DSL_ACC_GYRO_GYRO_ONLY =0x40, |
screamer | 18:a15bfe7aaebd | 1182 | LSM6DSL_ACC_GYRO_ACC_GYRO =0x60, |
screamer | 18:a15bfe7aaebd | 1183 | LSM6DSL_ACC_GYRO_SH1_SH6 =0x80, |
screamer | 18:a15bfe7aaebd | 1184 | LSM6DSL_ACC_GYRO_ACC_SH1_SH6 =0xA0, |
screamer | 18:a15bfe7aaebd | 1185 | LSM6DSL_ACC_GYRO_ACC_GYRO_SH1_SH6_SH7_SH12 =0xC0, |
screamer | 18:a15bfe7aaebd | 1186 | LSM6DSL_ACC_GYRO_ACC_GYRO_SH1_SH6 =0xE0, |
screamer | 18:a15bfe7aaebd | 1187 | } LSM6DSL_ACC_GYRO_ROUNDING_t; |
screamer | 18:a15bfe7aaebd | 1188 | |
screamer | 18:a15bfe7aaebd | 1189 | #define LSM6DSL_ACC_GYRO_LSM6DSL_ACC_GYRO_ROUNDING_t_MASK 0xE0 |
screamer | 18:a15bfe7aaebd | 1190 | mems_status_t LSM6DSL_ACC_GYRO_W_CircularBurstMode(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_t newValue); |
screamer | 18:a15bfe7aaebd | 1191 | mems_status_t LSM6DSL_ACC_GYRO_R_CircularBurstMode(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_t *value); |
screamer | 18:a15bfe7aaebd | 1192 | |
screamer | 18:a15bfe7aaebd | 1193 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1194 | * Register : CTRL6_G |
screamer | 18:a15bfe7aaebd | 1195 | * Address : 0X15 |
screamer | 18:a15bfe7aaebd | 1196 | * Bit Group Name: FTYPE |
screamer | 18:a15bfe7aaebd | 1197 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1198 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1199 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1200 | LSM6DSL_ACC_GYRO_LP_G_NORMAL =0x00, |
screamer | 18:a15bfe7aaebd | 1201 | LSM6DSL_ACC_GYRO_LP_G_NARROW =0x01, |
screamer | 18:a15bfe7aaebd | 1202 | LSM6DSL_ACC_GYRO_LP_G_VERY_NARROW =0x02, |
screamer | 18:a15bfe7aaebd | 1203 | LSM6DSL_ACC_GYRO_LP_G_WIDE =0x03, |
screamer | 18:a15bfe7aaebd | 1204 | } LSM6DSL_ACC_GYRO_FTYPE_t; |
screamer | 18:a15bfe7aaebd | 1205 | |
screamer | 18:a15bfe7aaebd | 1206 | #define LSM6DSL_ACC_GYRO_FTYPE_MASK 0x03 |
screamer | 18:a15bfe7aaebd | 1207 | mems_status_t LSM6DSL_ACC_GYRO_W_LP_BW_G(void *handle, LSM6DSL_ACC_GYRO_FTYPE_t newValue); |
screamer | 18:a15bfe7aaebd | 1208 | mems_status_t LSM6DSL_ACC_GYRO_R_LP_BW_G(void *handle, LSM6DSL_ACC_GYRO_FTYPE_t *value); |
screamer | 18:a15bfe7aaebd | 1209 | |
screamer | 18:a15bfe7aaebd | 1210 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1211 | * Register : CTRL6_G |
screamer | 18:a15bfe7aaebd | 1212 | * Address : 0X15 |
screamer | 18:a15bfe7aaebd | 1213 | * Bit Group Name: USR_OFF_W |
screamer | 18:a15bfe7aaebd | 1214 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1215 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1216 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1217 | LSM6DSL_ACC_GYRO_2Emin10 =0x00, |
screamer | 18:a15bfe7aaebd | 1218 | LSM6DSL_ACC_GYRO_2Emin6 =0x08, |
screamer | 18:a15bfe7aaebd | 1219 | } LSM6DSL_ACC_GYRO_USR_OFF_W_t; |
screamer | 18:a15bfe7aaebd | 1220 | |
screamer | 18:a15bfe7aaebd | 1221 | #define LSM6DSL_ACC_GYRO_USR_OFF_W_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 1222 | mems_status_t LSM6DSL_ACC_GYRO_W_UserOffsetWeight(void *handle, LSM6DSL_ACC_GYRO_USR_OFF_W_t newValue); |
screamer | 18:a15bfe7aaebd | 1223 | mems_status_t LSM6DSL_ACC_GYRO_R_UserOffsetWeight(void *handle, LSM6DSL_ACC_GYRO_USR_OFF_W_t *value); |
screamer | 18:a15bfe7aaebd | 1224 | |
screamer | 18:a15bfe7aaebd | 1225 | |
screamer | 18:a15bfe7aaebd | 1226 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1227 | * Register : CTRL6_G |
screamer | 18:a15bfe7aaebd | 1228 | * Address : 0X15 |
screamer | 18:a15bfe7aaebd | 1229 | * Bit Group Name: LP_XL |
screamer | 18:a15bfe7aaebd | 1230 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1231 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1232 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1233 | LSM6DSL_ACC_GYRO_LP_XL_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1234 | LSM6DSL_ACC_GYRO_LP_XL_ENABLED =0x10, |
screamer | 18:a15bfe7aaebd | 1235 | } LSM6DSL_ACC_GYRO_LP_XL_t; |
screamer | 18:a15bfe7aaebd | 1236 | |
screamer | 18:a15bfe7aaebd | 1237 | #define LSM6DSL_ACC_GYRO_LP_XL_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 1238 | mems_status_t LSM6DSL_ACC_GYRO_W_LowPower_XL(void *handle, LSM6DSL_ACC_GYRO_LP_XL_t newValue); |
screamer | 18:a15bfe7aaebd | 1239 | mems_status_t LSM6DSL_ACC_GYRO_R_LowPower_XL(void *handle, LSM6DSL_ACC_GYRO_LP_XL_t *value); |
screamer | 18:a15bfe7aaebd | 1240 | |
screamer | 18:a15bfe7aaebd | 1241 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1242 | * Register : CTRL6_G |
screamer | 18:a15bfe7aaebd | 1243 | * Address : 0X15 |
screamer | 18:a15bfe7aaebd | 1244 | * Bit Group Name: DEN_LVL2_EN |
screamer | 18:a15bfe7aaebd | 1245 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1246 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1247 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1248 | LSM6DSL_ACC_GYRO_DEN_LVL2_EN_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1249 | LSM6DSL_ACC_GYRO_DEN_LVL2_EN_ENABLED =0x20, |
screamer | 18:a15bfe7aaebd | 1250 | } LSM6DSL_ACC_GYRO_DEN_LVL2_EN_t; |
screamer | 18:a15bfe7aaebd | 1251 | |
screamer | 18:a15bfe7aaebd | 1252 | #define LSM6DSL_ACC_GYRO_DEN_LVL2_EN_MASK 0x20 |
screamer | 18:a15bfe7aaebd | 1253 | mems_status_t LSM6DSL_ACC_GYRO_W_DEN_LVL2_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL2_EN_t newValue); |
screamer | 18:a15bfe7aaebd | 1254 | mems_status_t LSM6DSL_ACC_GYRO_R_DEN_LVL2_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL2_EN_t *value); |
screamer | 18:a15bfe7aaebd | 1255 | |
screamer | 18:a15bfe7aaebd | 1256 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1257 | * Register : CTRL6_G |
screamer | 18:a15bfe7aaebd | 1258 | * Address : 0X15 |
screamer | 18:a15bfe7aaebd | 1259 | * Bit Group Name: DEN_LVL_EN |
screamer | 18:a15bfe7aaebd | 1260 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1261 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1262 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1263 | LSM6DSL_ACC_GYRO_DEN_LVL_EN_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1264 | LSM6DSL_ACC_GYRO_DEN_LVL_EN_ENABLED =0x40, |
screamer | 18:a15bfe7aaebd | 1265 | } LSM6DSL_ACC_GYRO_DEN_LVL_EN_t; |
screamer | 18:a15bfe7aaebd | 1266 | |
screamer | 18:a15bfe7aaebd | 1267 | #define LSM6DSL_ACC_GYRO_DEN_LVL_EN_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 1268 | mems_status_t LSM6DSL_ACC_GYRO_W_DEN_LVL_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL_EN_t newValue); |
screamer | 18:a15bfe7aaebd | 1269 | mems_status_t LSM6DSL_ACC_GYRO_R_DEN_LVL_EN(void *handle, LSM6DSL_ACC_GYRO_DEN_LVL_EN_t *value); |
screamer | 18:a15bfe7aaebd | 1270 | |
screamer | 18:a15bfe7aaebd | 1271 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1272 | * Register : CTRL6_G |
screamer | 18:a15bfe7aaebd | 1273 | * Address : 0X15 |
screamer | 18:a15bfe7aaebd | 1274 | * Bit Group Name: TRIG_EN |
screamer | 18:a15bfe7aaebd | 1275 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1276 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1277 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1278 | LSM6DSL_ACC_GYRO_DEN_EDGE_EN_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1279 | LSM6DSL_ACC_GYRO_DEN_EDGE_EN_ENABLED =0x80, |
screamer | 18:a15bfe7aaebd | 1280 | } LSM6DSL_ACC_GYRO_DEN_EDGE_EN_t; |
screamer | 18:a15bfe7aaebd | 1281 | |
screamer | 18:a15bfe7aaebd | 1282 | #define LSM6DSL_ACC_GYRO_DEN_EDGE_EN_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 1283 | mems_status_t LSM6DSL_ACC_GYRO_W_ExternalTrigger(void *handle, LSM6DSL_ACC_GYRO_DEN_EDGE_EN_t newValue); |
screamer | 18:a15bfe7aaebd | 1284 | mems_status_t LSM6DSL_ACC_GYRO_R_ExternalTrigger(void *handle, LSM6DSL_ACC_GYRO_DEN_EDGE_EN_t *value); |
screamer | 18:a15bfe7aaebd | 1285 | |
screamer | 18:a15bfe7aaebd | 1286 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1287 | * Register : CTRL7_G |
screamer | 18:a15bfe7aaebd | 1288 | * Address : 0X16 |
screamer | 18:a15bfe7aaebd | 1289 | * Bit Group Name: ROUNDING_STATUS |
screamer | 18:a15bfe7aaebd | 1290 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1291 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1292 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1293 | LSM6DSL_ACC_GYRO_RND_DISABLE =0x00, |
screamer | 18:a15bfe7aaebd | 1294 | LSM6DSL_ACC_GYRO_RND_ENABLE =0x04, |
screamer | 18:a15bfe7aaebd | 1295 | } LSM6DSL_ACC_GYRO_RND_STATUS_t; |
screamer | 18:a15bfe7aaebd | 1296 | |
screamer | 18:a15bfe7aaebd | 1297 | #define LSM6DSL_ACC_GYRO_RND_STATUS_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 1298 | mems_status_t LSM6DSL_ACC_GYRO_W_RoundingOnStatusRegisters(void *handle, LSM6DSL_ACC_GYRO_RND_STATUS_t newValue); |
screamer | 18:a15bfe7aaebd | 1299 | mems_status_t LSM6DSL_ACC_GYRO_R_RoundingOnStatusRegisters(void *handle, LSM6DSL_ACC_GYRO_RND_STATUS_t *value); |
screamer | 18:a15bfe7aaebd | 1300 | |
screamer | 18:a15bfe7aaebd | 1301 | |
screamer | 18:a15bfe7aaebd | 1302 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1303 | * Register : CTRL7_G |
screamer | 18:a15bfe7aaebd | 1304 | * Address : 0X16 |
screamer | 18:a15bfe7aaebd | 1305 | * Bit Group Name: HPM_G |
screamer | 18:a15bfe7aaebd | 1306 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1307 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1308 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1309 | LSM6DSL_ACC_GYRO_HPM_G_0Hz016 =0x00, |
screamer | 18:a15bfe7aaebd | 1310 | LSM6DSL_ACC_GYRO_HPM_G_0Hz065 =0x10, |
screamer | 18:a15bfe7aaebd | 1311 | LSM6DSL_ACC_GYRO_HPM_G_2Hz260 =0x20, |
screamer | 18:a15bfe7aaebd | 1312 | LSM6DSL_ACC_GYRO_HPM_G_1Hz04 =0x30, |
screamer | 18:a15bfe7aaebd | 1313 | } LSM6DSL_ACC_GYRO_HPM_G_t; |
screamer | 18:a15bfe7aaebd | 1314 | |
screamer | 18:a15bfe7aaebd | 1315 | #define LSM6DSL_ACC_GYRO_HPM_G_MASK 0x30 |
screamer | 18:a15bfe7aaebd | 1316 | mems_status_t LSM6DSL_ACC_GYRO_W_HPM_G(void *handle, LSM6DSL_ACC_GYRO_HPM_G_t newValue); |
screamer | 18:a15bfe7aaebd | 1317 | mems_status_t LSM6DSL_ACC_GYRO_R_HPM_G(void *handle, LSM6DSL_ACC_GYRO_HPM_G_t *value); |
screamer | 18:a15bfe7aaebd | 1318 | |
screamer | 18:a15bfe7aaebd | 1319 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1320 | * Register : CTRL7_G |
screamer | 18:a15bfe7aaebd | 1321 | * Address : 0X16 |
screamer | 18:a15bfe7aaebd | 1322 | * Bit Group Name: HP_EN_G |
screamer | 18:a15bfe7aaebd | 1323 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1324 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1325 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1326 | LSM6DSL_ACC_GYRO_HP_EN_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1327 | LSM6DSL_ACC_GYRO_HP_EN_ENABLED =0x40, |
screamer | 18:a15bfe7aaebd | 1328 | } LSM6DSL_ACC_GYRO_HP_EN_t; |
screamer | 18:a15bfe7aaebd | 1329 | |
screamer | 18:a15bfe7aaebd | 1330 | #define LSM6DSL_ACC_GYRO_HP_EN_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 1331 | mems_status_t LSM6DSL_ACC_GYRO_W_HPFilter_En(void *handle, LSM6DSL_ACC_GYRO_HP_EN_t newValue); |
screamer | 18:a15bfe7aaebd | 1332 | mems_status_t LSM6DSL_ACC_GYRO_R_HPFilter_En(void *handle, LSM6DSL_ACC_GYRO_HP_EN_t *value); |
screamer | 18:a15bfe7aaebd | 1333 | |
screamer | 18:a15bfe7aaebd | 1334 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1335 | * Register : CTRL7_G |
screamer | 18:a15bfe7aaebd | 1336 | * Address : 0X16 |
screamer | 18:a15bfe7aaebd | 1337 | * Bit Group Name: LP_EN |
screamer | 18:a15bfe7aaebd | 1338 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1339 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1340 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1341 | LSM6DSL_ACC_GYRO_LP_EN_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1342 | LSM6DSL_ACC_GYRO_LP_EN_ENABLED =0x80, |
screamer | 18:a15bfe7aaebd | 1343 | } LSM6DSL_ACC_GYRO_LP_EN_t; |
screamer | 18:a15bfe7aaebd | 1344 | |
screamer | 18:a15bfe7aaebd | 1345 | #define LSM6DSL_ACC_GYRO_LP_EN_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 1346 | mems_status_t LSM6DSL_ACC_GYRO_W_LP_Mode(void *handle, LSM6DSL_ACC_GYRO_LP_EN_t newValue); |
screamer | 18:a15bfe7aaebd | 1347 | mems_status_t LSM6DSL_ACC_GYRO_R_LP_Mode(void *handle, LSM6DSL_ACC_GYRO_LP_EN_t *value); |
screamer | 18:a15bfe7aaebd | 1348 | |
screamer | 18:a15bfe7aaebd | 1349 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1350 | * Register : CTRL7_G |
screamer | 18:a15bfe7aaebd | 1351 | * Address : 0X16 |
screamer | 18:a15bfe7aaebd | 1352 | * Bit Group Name: ROUNDING_STATUS |
screamer | 18:a15bfe7aaebd | 1353 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1354 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1355 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1356 | LSM6DSL_ACC_GYRO_ROUNDING_STATUS_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1357 | LSM6DSL_ACC_GYRO_ROUNDING_STATUS_ENABLED =0x04, |
screamer | 18:a15bfe7aaebd | 1358 | } LSM6DSL_ACC_GYRO_ROUNDING_STATUS_t; |
screamer | 18:a15bfe7aaebd | 1359 | |
screamer | 18:a15bfe7aaebd | 1360 | #define LSM6DSL_ACC_GYRO_ROUNDING_STATUS_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 1361 | mems_status_t LSM6DSL_ACC_GYRO_W_ROUNDING_STATUS(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_STATUS_t newValue); |
screamer | 18:a15bfe7aaebd | 1362 | mems_status_t LSM6DSL_ACC_GYRO_R_ROUNDING_STATUS(void *handle, LSM6DSL_ACC_GYRO_ROUNDING_STATUS_t *value); |
screamer | 18:a15bfe7aaebd | 1363 | |
screamer | 18:a15bfe7aaebd | 1364 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1365 | * Register : CTRL7_G |
screamer | 18:a15bfe7aaebd | 1366 | * Address : 0X16 |
screamer | 18:a15bfe7aaebd | 1367 | * Bit Group Name: HP_G_RST |
screamer | 18:a15bfe7aaebd | 1368 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1369 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1370 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1371 | LSM6DSL_ACC_GYRO_HP_G_RST_OFF =0x00, |
screamer | 18:a15bfe7aaebd | 1372 | LSM6DSL_ACC_GYRO_HP_G_RST_ON =0x08, |
screamer | 18:a15bfe7aaebd | 1373 | } LSM6DSL_ACC_GYRO_HP_G_RST_t; |
screamer | 18:a15bfe7aaebd | 1374 | |
screamer | 18:a15bfe7aaebd | 1375 | #define LSM6DSL_ACC_GYRO_HP_G_RST_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 1376 | mems_status_t LSM6DSL_ACC_GYRO_W_HP_G_RST(void *handle, LSM6DSL_ACC_GYRO_HP_G_RST_t newValue); |
screamer | 18:a15bfe7aaebd | 1377 | mems_status_t LSM6DSL_ACC_GYRO_R_HP_G_RST(void *handle, LSM6DSL_ACC_GYRO_HP_G_RST_t *value); |
screamer | 18:a15bfe7aaebd | 1378 | |
screamer | 18:a15bfe7aaebd | 1379 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1380 | * Register : CTRL8_XL |
screamer | 18:a15bfe7aaebd | 1381 | * Address : 0X17 |
screamer | 18:a15bfe7aaebd | 1382 | * Bit Group Name: LOW_PASS_ON_6D |
screamer | 18:a15bfe7aaebd | 1383 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1384 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1385 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1386 | LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_OFF =0x00, |
screamer | 18:a15bfe7aaebd | 1387 | LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_ON =0x01, |
screamer | 18:a15bfe7aaebd | 1388 | } LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_t; |
screamer | 18:a15bfe7aaebd | 1389 | |
screamer | 18:a15bfe7aaebd | 1390 | #define LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_MASK 0x01 |
screamer | 18:a15bfe7aaebd | 1391 | mems_status_t LSM6DSL_ACC_GYRO_W_LOW_PASS_ON_6D(void *handle, LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_t newValue); |
screamer | 18:a15bfe7aaebd | 1392 | mems_status_t LSM6DSL_ACC_GYRO_R_LOW_PASS_ON_6D(void *handle, LSM6DSL_ACC_GYRO_LOW_PASS_ON_6D_t *value); |
screamer | 18:a15bfe7aaebd | 1393 | |
screamer | 18:a15bfe7aaebd | 1394 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1395 | * Register : CTRL8_XL |
screamer | 18:a15bfe7aaebd | 1396 | * Address : 0X17 |
screamer | 18:a15bfe7aaebd | 1397 | * Bit Group Name: HP_SLOPE_XL_EN |
screamer | 18:a15bfe7aaebd | 1398 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1399 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1400 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1401 | LSM6DSL_ACC_GYRO_HP_SLOPE_XL_EN =0x00, |
screamer | 18:a15bfe7aaebd | 1402 | LSM6DSL_ACC_GYRO_HP_SLOPE_XL_DIS =0x04, |
screamer | 18:a15bfe7aaebd | 1403 | } LSM6DSL_ACC_GYRO_HP_SLOPE_XL_t; |
screamer | 18:a15bfe7aaebd | 1404 | |
screamer | 18:a15bfe7aaebd | 1405 | #define LSM6DSL_ACC_GYRO_HP_SLOPE_XL_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 1406 | mems_status_t LSM6DSL_ACC_GYRO_W_HP_SLOPE_XL(void *handle, LSM6DSL_ACC_GYRO_HP_SLOPE_XL_t newValue); |
screamer | 18:a15bfe7aaebd | 1407 | mems_status_t LSM6DSL_ACC_GYRO_R_HP_SLOPE_XL(void *handle, LSM6DSL_ACC_GYRO_HP_SLOPE_XL_t *value); |
screamer | 18:a15bfe7aaebd | 1408 | |
screamer | 18:a15bfe7aaebd | 1409 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1410 | * Register : CTRL8_XL |
screamer | 18:a15bfe7aaebd | 1411 | * Address : 0X17 |
screamer | 18:a15bfe7aaebd | 1412 | * Bit Group Name: INPUT_COMPOSITE |
screamer | 18:a15bfe7aaebd | 1413 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1414 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1415 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1416 | LSM6DSL_ACC_GYRO_IN_ODR_DIV_2 =0x00, |
screamer | 18:a15bfe7aaebd | 1417 | LSM6DSL_ACC_GYRO_IN_ODR_DIV_4 =0x80, |
screamer | 18:a15bfe7aaebd | 1418 | } LSM6DSL_ACC_GYRO_IN_COMP_t; |
screamer | 18:a15bfe7aaebd | 1419 | |
screamer | 18:a15bfe7aaebd | 1420 | #define LSM6DSL_ACC_GYRO_IN_COMP_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 1421 | mems_status_t LSM6DSL_ACC_GYRO_W_InComposit(void *handle, LSM6DSL_ACC_GYRO_IN_COMP_t newValue); |
screamer | 18:a15bfe7aaebd | 1422 | mems_status_t LSM6DSL_ACC_GYRO_R_InComposit(void *handle, LSM6DSL_ACC_GYRO_IN_COMP_t *value); |
screamer | 18:a15bfe7aaebd | 1423 | |
screamer | 18:a15bfe7aaebd | 1424 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1425 | * Register : CTRL8_XL |
screamer | 18:a15bfe7aaebd | 1426 | * Address : 0X17 |
screamer | 18:a15bfe7aaebd | 1427 | * Bit Group Name: HP_REF_MODE |
screamer | 18:a15bfe7aaebd | 1428 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1429 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1430 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1431 | LSM6DSL_ACC_GYRO_HP_REF_DISABLE =0x00, |
screamer | 18:a15bfe7aaebd | 1432 | LSM6DSL_ACC_GYRO_HP_REF_ENABLE =0x10, |
screamer | 18:a15bfe7aaebd | 1433 | } LSM6DSL_ACC_GYRO_HP_REF_MODE_t; |
screamer | 18:a15bfe7aaebd | 1434 | |
screamer | 18:a15bfe7aaebd | 1435 | #define LSM6DSL_ACC_GYRO_HP_REF_MODE_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 1436 | mems_status_t LSM6DSL_ACC_GYRO_W_HPfilterReference(void *handle, LSM6DSL_ACC_GYRO_HP_REF_MODE_t newValue); |
screamer | 18:a15bfe7aaebd | 1437 | mems_status_t LSM6DSL_ACC_GYRO_R_HPfilterReference(void *handle, LSM6DSL_ACC_GYRO_HP_REF_MODE_t *value); |
screamer | 18:a15bfe7aaebd | 1438 | |
screamer | 18:a15bfe7aaebd | 1439 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1440 | * Register : CTRL8_XL |
screamer | 18:a15bfe7aaebd | 1441 | * Address : 0X17 |
screamer | 18:a15bfe7aaebd | 1442 | * Bit Group Name: HPCF_XL |
screamer | 18:a15bfe7aaebd | 1443 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1444 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1445 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1446 | LSM6DSL_ACC_GYRO_HPCF_XL_DIV4 =0x00, |
screamer | 18:a15bfe7aaebd | 1447 | LSM6DSL_ACC_GYRO_HPCF_XL_DIV100 =0x20, |
screamer | 18:a15bfe7aaebd | 1448 | LSM6DSL_ACC_GYRO_HPCF_XL_DIV9 =0x40, |
screamer | 18:a15bfe7aaebd | 1449 | LSM6DSL_ACC_GYRO_HPCF_XL_DIV400 =0x60, |
screamer | 18:a15bfe7aaebd | 1450 | } LSM6DSL_ACC_GYRO_HPCF_XL_t; |
screamer | 18:a15bfe7aaebd | 1451 | |
screamer | 18:a15bfe7aaebd | 1452 | #define LSM6DSL_ACC_GYRO_HPCF_XL_MASK 0x60 |
screamer | 18:a15bfe7aaebd | 1453 | mems_status_t LSM6DSL_ACC_GYRO_W_HPCF_XL(void *handle, LSM6DSL_ACC_GYRO_HPCF_XL_t newValue); |
screamer | 18:a15bfe7aaebd | 1454 | mems_status_t LSM6DSL_ACC_GYRO_R_HPCF_XL(void *handle, LSM6DSL_ACC_GYRO_HPCF_XL_t *value); |
screamer | 18:a15bfe7aaebd | 1455 | |
screamer | 18:a15bfe7aaebd | 1456 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1457 | * Register : CTRL8_XL |
screamer | 18:a15bfe7aaebd | 1458 | * Address : 0X17 |
screamer | 18:a15bfe7aaebd | 1459 | * Bit Group Name: LPF2_XL_EN |
screamer | 18:a15bfe7aaebd | 1460 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1461 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1462 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1463 | LSM6DSL_ACC_GYRO_LPF2_XL_DISABLE =0x00, |
screamer | 18:a15bfe7aaebd | 1464 | LSM6DSL_ACC_GYRO_LPF2_XL_ENABLE =0x80, |
screamer | 18:a15bfe7aaebd | 1465 | } LSM6DSL_ACC_GYRO_LPF2_XL_t; |
screamer | 18:a15bfe7aaebd | 1466 | |
screamer | 18:a15bfe7aaebd | 1467 | #define LSM6DSL_ACC_GYRO_LPF2_XL_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 1468 | mems_status_t LSM6DSL_ACC_GYRO_W_LowPassFiltSel_XL(void *handle, LSM6DSL_ACC_GYRO_LPF2_XL_t newValue); |
screamer | 18:a15bfe7aaebd | 1469 | mems_status_t LSM6DSL_ACC_GYRO_R_LowPassFiltSel_XL(void *handle, LSM6DSL_ACC_GYRO_LPF2_XL_t *value); |
screamer | 18:a15bfe7aaebd | 1470 | |
screamer | 18:a15bfe7aaebd | 1471 | |
screamer | 18:a15bfe7aaebd | 1472 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1473 | * Register : CTRL9_XL |
screamer | 18:a15bfe7aaebd | 1474 | * Address : 0X18 |
screamer | 18:a15bfe7aaebd | 1475 | * Bit Group Name: SOFT_EN |
screamer | 18:a15bfe7aaebd | 1476 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1477 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1478 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1479 | LSM6DSL_ACC_GYRO_SOFT_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1480 | LSM6DSL_ACC_GYRO_SOFT_ENABLE =0x04, |
screamer | 18:a15bfe7aaebd | 1481 | } LSM6DSL_ACC_GYRO_SOFT_t; |
screamer | 18:a15bfe7aaebd | 1482 | |
screamer | 18:a15bfe7aaebd | 1483 | #define LSM6DSL_ACC_GYRO_SOFT_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 1484 | mems_status_t LSM6DSL_ACC_GYRO_W_SOFT(void *handle, LSM6DSL_ACC_GYRO_SOFT_t newValue); |
screamer | 18:a15bfe7aaebd | 1485 | mems_status_t LSM6DSL_ACC_GYRO_R_SOFT(void *handle, LSM6DSL_ACC_GYRO_SOFT_t *value); |
screamer | 18:a15bfe7aaebd | 1486 | |
screamer | 18:a15bfe7aaebd | 1487 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1488 | * Register : CTRL10_C |
screamer | 18:a15bfe7aaebd | 1489 | * Address : 0X19 |
screamer | 18:a15bfe7aaebd | 1490 | * Bit Group Name: SIGN_MOTION_EN |
screamer | 18:a15bfe7aaebd | 1491 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1492 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1493 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1494 | LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1495 | LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_ENABLED =0x01, |
screamer | 18:a15bfe7aaebd | 1496 | } LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_t; |
screamer | 18:a15bfe7aaebd | 1497 | |
screamer | 18:a15bfe7aaebd | 1498 | #define LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_MASK 0x01 |
screamer | 18:a15bfe7aaebd | 1499 | mems_status_t LSM6DSL_ACC_GYRO_W_SignifcantMotion(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_t newValue); |
screamer | 18:a15bfe7aaebd | 1500 | mems_status_t LSM6DSL_ACC_GYRO_R_SignifcantMotion(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOTION_EN_t *value); |
screamer | 18:a15bfe7aaebd | 1501 | |
screamer | 18:a15bfe7aaebd | 1502 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1503 | * Register : CTRL10_C |
screamer | 18:a15bfe7aaebd | 1504 | * Address : 0X19 |
screamer | 18:a15bfe7aaebd | 1505 | * Bit Group Name: PEDO_RST_STEP |
screamer | 18:a15bfe7aaebd | 1506 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1507 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1508 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1509 | LSM6DSL_ACC_GYRO_PEDO_RST_STEP_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1510 | LSM6DSL_ACC_GYRO_PEDO_RST_STEP_ENABLED =0x02, |
screamer | 18:a15bfe7aaebd | 1511 | } LSM6DSL_ACC_GYRO_PEDO_RST_STEP_t; |
screamer | 18:a15bfe7aaebd | 1512 | |
screamer | 18:a15bfe7aaebd | 1513 | #define LSM6DSL_ACC_GYRO_PEDO_RST_STEP_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 1514 | mems_status_t LSM6DSL_ACC_GYRO_W_PedoStepReset(void *handle, LSM6DSL_ACC_GYRO_PEDO_RST_STEP_t newValue); |
screamer | 18:a15bfe7aaebd | 1515 | mems_status_t LSM6DSL_ACC_GYRO_R_PedoStepReset(void *handle, LSM6DSL_ACC_GYRO_PEDO_RST_STEP_t *value); |
screamer | 18:a15bfe7aaebd | 1516 | |
screamer | 18:a15bfe7aaebd | 1517 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1518 | * Register : CTRL10_C |
screamer | 18:a15bfe7aaebd | 1519 | * Address : 0X19 |
screamer | 18:a15bfe7aaebd | 1520 | * Bit Group Name: FUNC_EN |
screamer | 18:a15bfe7aaebd | 1521 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1522 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1523 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1524 | LSM6DSL_ACC_GYRO_FUNC_EN_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1525 | LSM6DSL_ACC_GYRO_FUNC_EN_ENABLED =0x04, |
screamer | 18:a15bfe7aaebd | 1526 | } LSM6DSL_ACC_GYRO_FUNC_EN_t; |
screamer | 18:a15bfe7aaebd | 1527 | |
screamer | 18:a15bfe7aaebd | 1528 | #define LSM6DSL_ACC_GYRO_FUNC_EN_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 1529 | mems_status_t LSM6DSL_ACC_GYRO_W_FUNC_EN(void *handle, LSM6DSL_ACC_GYRO_FUNC_EN_t newValue); |
screamer | 18:a15bfe7aaebd | 1530 | mems_status_t LSM6DSL_ACC_GYRO_R_FUNC_EN(void *handle, LSM6DSL_ACC_GYRO_FUNC_EN_t *value); |
screamer | 18:a15bfe7aaebd | 1531 | |
screamer | 18:a15bfe7aaebd | 1532 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1533 | * Register : CTRL10_C |
screamer | 18:a15bfe7aaebd | 1534 | * Address : 0X19 |
screamer | 18:a15bfe7aaebd | 1535 | * Bit Group Name: TILT_EN |
screamer | 18:a15bfe7aaebd | 1536 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1537 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1538 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1539 | LSM6DSL_ACC_GYRO_TILT_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1540 | LSM6DSL_ACC_GYRO_TILT_ENABLED =0x08, |
screamer | 18:a15bfe7aaebd | 1541 | } LSM6DSL_ACC_GYRO_TILT_G_t; |
screamer | 18:a15bfe7aaebd | 1542 | |
screamer | 18:a15bfe7aaebd | 1543 | #define LSM6DSL_ACC_GYRO_TILT_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 1544 | mems_status_t LSM6DSL_ACC_GYRO_W_TILT(void *handle, LSM6DSL_ACC_GYRO_TILT_G_t newValue); |
screamer | 18:a15bfe7aaebd | 1545 | mems_status_t LSM6DSL_ACC_GYRO_R_TILT(void *handle, LSM6DSL_ACC_GYRO_TILT_G_t *value); |
screamer | 18:a15bfe7aaebd | 1546 | |
screamer | 18:a15bfe7aaebd | 1547 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1548 | * Register : CTRL10_C |
screamer | 18:a15bfe7aaebd | 1549 | * Address : 0X19 |
screamer | 18:a15bfe7aaebd | 1550 | * Bit Group Name: PEDO_EN |
screamer | 18:a15bfe7aaebd | 1551 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1552 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1553 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1554 | LSM6DSL_ACC_GYRO_PEDO_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1555 | LSM6DSL_ACC_GYRO_PEDO_ENABLED =0x10, |
screamer | 18:a15bfe7aaebd | 1556 | } LSM6DSL_ACC_GYRO_PEDO_t; |
screamer | 18:a15bfe7aaebd | 1557 | |
screamer | 18:a15bfe7aaebd | 1558 | #define LSM6DSL_ACC_GYRO_PEDO_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 1559 | mems_status_t LSM6DSL_ACC_GYRO_W_PEDO(void *handle, LSM6DSL_ACC_GYRO_PEDO_t newValue); |
screamer | 18:a15bfe7aaebd | 1560 | mems_status_t LSM6DSL_ACC_GYRO_R_PEDO(void *handle, LSM6DSL_ACC_GYRO_PEDO_t *value); |
screamer | 18:a15bfe7aaebd | 1561 | |
screamer | 18:a15bfe7aaebd | 1562 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1563 | * Register : CTRL10_C |
screamer | 18:a15bfe7aaebd | 1564 | * Address : 0X19 |
screamer | 18:a15bfe7aaebd | 1565 | * Bit Group Name: TIMER_EN |
screamer | 18:a15bfe7aaebd | 1566 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1567 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1568 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1569 | LSM6DSL_ACC_GYRO_TIMER_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1570 | LSM6DSL_ACC_GYRO_TIMER_ENABLED =0x20, |
screamer | 18:a15bfe7aaebd | 1571 | } LSM6DSL_ACC_GYRO_TIMER_t; |
screamer | 18:a15bfe7aaebd | 1572 | |
screamer | 18:a15bfe7aaebd | 1573 | #define LSM6DSL_ACC_GYRO_TIMER_MASK 0x20 |
screamer | 18:a15bfe7aaebd | 1574 | mems_status_t LSM6DSL_ACC_GYRO_W_TIMER(void *handle, LSM6DSL_ACC_GYRO_TIMER_t newValue); |
screamer | 18:a15bfe7aaebd | 1575 | mems_status_t LSM6DSL_ACC_GYRO_R_TIMER(void *handle, LSM6DSL_ACC_GYRO_TIMER_t *value); |
screamer | 18:a15bfe7aaebd | 1576 | |
screamer | 18:a15bfe7aaebd | 1577 | |
screamer | 18:a15bfe7aaebd | 1578 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1579 | * Register : MASTER_CONFIG |
screamer | 18:a15bfe7aaebd | 1580 | * Address : 0X1A |
screamer | 18:a15bfe7aaebd | 1581 | * Bit Group Name: MASTER_ON |
screamer | 18:a15bfe7aaebd | 1582 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1583 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1584 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1585 | LSM6DSL_ACC_GYRO_MASTER_ON_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1586 | LSM6DSL_ACC_GYRO_MASTER_ON_ENABLED =0x01, |
screamer | 18:a15bfe7aaebd | 1587 | } LSM6DSL_ACC_GYRO_MASTER_ON_t; |
screamer | 18:a15bfe7aaebd | 1588 | |
screamer | 18:a15bfe7aaebd | 1589 | #define LSM6DSL_ACC_GYRO_MASTER_ON_MASK 0x01 |
screamer | 18:a15bfe7aaebd | 1590 | mems_status_t LSM6DSL_ACC_GYRO_W_I2C_MASTER_Enable(void *handle, LSM6DSL_ACC_GYRO_MASTER_ON_t newValue); |
screamer | 18:a15bfe7aaebd | 1591 | mems_status_t LSM6DSL_ACC_GYRO_R_I2C_MASTER_Enable(void *handle, LSM6DSL_ACC_GYRO_MASTER_ON_t *value); |
screamer | 18:a15bfe7aaebd | 1592 | |
screamer | 18:a15bfe7aaebd | 1593 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1594 | * Register : MASTER_CONFIG |
screamer | 18:a15bfe7aaebd | 1595 | * Address : 0X1A |
screamer | 18:a15bfe7aaebd | 1596 | * Bit Group Name: IRON_EN |
screamer | 18:a15bfe7aaebd | 1597 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1598 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1599 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1600 | LSM6DSL_ACC_GYRO_IRON_EN_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1601 | LSM6DSL_ACC_GYRO_IRON_EN_ENABLED =0x02, |
screamer | 18:a15bfe7aaebd | 1602 | } LSM6DSL_ACC_GYRO_IRON_EN_t; |
screamer | 18:a15bfe7aaebd | 1603 | |
screamer | 18:a15bfe7aaebd | 1604 | #define LSM6DSL_ACC_GYRO_IRON_EN_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 1605 | mems_status_t LSM6DSL_ACC_GYRO_W_IronCorrection_EN(void *handle, LSM6DSL_ACC_GYRO_IRON_EN_t newValue); |
screamer | 18:a15bfe7aaebd | 1606 | mems_status_t LSM6DSL_ACC_GYRO_R_IronCorrection_EN(void *handle, LSM6DSL_ACC_GYRO_IRON_EN_t *value); |
screamer | 18:a15bfe7aaebd | 1607 | |
screamer | 18:a15bfe7aaebd | 1608 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1609 | * Register : MASTER_CONFIG |
screamer | 18:a15bfe7aaebd | 1610 | * Address : 0X1A |
screamer | 18:a15bfe7aaebd | 1611 | * Bit Group Name: PASS_THRU_MODE |
screamer | 18:a15bfe7aaebd | 1612 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1613 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1614 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1615 | LSM6DSL_ACC_GYRO_PASS_THRU_MODE_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1616 | LSM6DSL_ACC_GYRO_PASS_THRU_MODE_ENABLED =0x04, |
screamer | 18:a15bfe7aaebd | 1617 | } LSM6DSL_ACC_GYRO_PASS_THRU_MODE_t; |
screamer | 18:a15bfe7aaebd | 1618 | |
screamer | 18:a15bfe7aaebd | 1619 | #define LSM6DSL_ACC_GYRO_PASS_THRU_MODE_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 1620 | mems_status_t LSM6DSL_ACC_GYRO_W_PASS_THRU_MODE(void *handle, LSM6DSL_ACC_GYRO_PASS_THRU_MODE_t newValue); |
screamer | 18:a15bfe7aaebd | 1621 | mems_status_t LSM6DSL_ACC_GYRO_R_PASS_THRU_MODE(void *handle, LSM6DSL_ACC_GYRO_PASS_THRU_MODE_t *value); |
screamer | 18:a15bfe7aaebd | 1622 | |
screamer | 18:a15bfe7aaebd | 1623 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1624 | * Register : MASTER_CONFIG |
screamer | 18:a15bfe7aaebd | 1625 | * Address : 0X1A |
screamer | 18:a15bfe7aaebd | 1626 | * Bit Group Name: PULL_UP_EN |
screamer | 18:a15bfe7aaebd | 1627 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1628 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1629 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1630 | LSM6DSL_ACC_GYRO_PULL_UP_EN_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1631 | LSM6DSL_ACC_GYRO_PULL_UP_EN_ENABLED =0x08, |
screamer | 18:a15bfe7aaebd | 1632 | } LSM6DSL_ACC_GYRO_PULL_UP_EN_t; |
screamer | 18:a15bfe7aaebd | 1633 | |
screamer | 18:a15bfe7aaebd | 1634 | #define LSM6DSL_ACC_GYRO_PULL_UP_EN_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 1635 | mems_status_t LSM6DSL_ACC_GYRO_W_PULL_UP_EN(void *handle, LSM6DSL_ACC_GYRO_PULL_UP_EN_t newValue); |
screamer | 18:a15bfe7aaebd | 1636 | mems_status_t LSM6DSL_ACC_GYRO_R_PULL_UP_EN(void *handle, LSM6DSL_ACC_GYRO_PULL_UP_EN_t *value); |
screamer | 18:a15bfe7aaebd | 1637 | |
screamer | 18:a15bfe7aaebd | 1638 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1639 | * Register : MASTER_CONFIG |
screamer | 18:a15bfe7aaebd | 1640 | * Address : 0X1A |
screamer | 18:a15bfe7aaebd | 1641 | * Bit Group Name: START_CONFIG |
screamer | 18:a15bfe7aaebd | 1642 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1643 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1644 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1645 | LSM6DSL_ACC_GYRO_START_CONFIG_XL_G_DRDY =0x00, |
screamer | 18:a15bfe7aaebd | 1646 | LSM6DSL_ACC_GYRO_START_CONFIG_EXT_INT2 =0x10, |
screamer | 18:a15bfe7aaebd | 1647 | } LSM6DSL_ACC_GYRO_START_CONFIG_t; |
screamer | 18:a15bfe7aaebd | 1648 | |
screamer | 18:a15bfe7aaebd | 1649 | #define LSM6DSL_ACC_GYRO_START_CONFIG_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 1650 | mems_status_t LSM6DSL_ACC_GYRO_W_SensorHUB_Trigger_Sel(void *handle, LSM6DSL_ACC_GYRO_START_CONFIG_t newValue); |
screamer | 18:a15bfe7aaebd | 1651 | mems_status_t LSM6DSL_ACC_GYRO_R_SensorHUB_Trigger_Sel(void *handle, LSM6DSL_ACC_GYRO_START_CONFIG_t *value); |
screamer | 18:a15bfe7aaebd | 1652 | |
screamer | 18:a15bfe7aaebd | 1653 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1654 | * Register : MASTER_CONFIG |
screamer | 18:a15bfe7aaebd | 1655 | * Address : 0X1A |
screamer | 18:a15bfe7aaebd | 1656 | * Bit Group Name: DATA_VAL_SEL_FIFO |
screamer | 18:a15bfe7aaebd | 1657 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1658 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1659 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1660 | LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_XL_G_DRDY =0x00, |
screamer | 18:a15bfe7aaebd | 1661 | LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_SHUB_DRDY =0x40, |
screamer | 18:a15bfe7aaebd | 1662 | } LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_t; |
screamer | 18:a15bfe7aaebd | 1663 | |
screamer | 18:a15bfe7aaebd | 1664 | #define LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 1665 | mems_status_t LSM6DSL_ACC_GYRO_W_DATA_VAL_SEL_FIFO(void *handle, LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_t newValue); |
screamer | 18:a15bfe7aaebd | 1666 | mems_status_t LSM6DSL_ACC_GYRO_R_DATA_VAL_SEL_FIFO(void *handle, LSM6DSL_ACC_GYRO_DATA_VAL_SEL_FIFO_t *value); |
screamer | 18:a15bfe7aaebd | 1667 | |
screamer | 18:a15bfe7aaebd | 1668 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1669 | * Register : MASTER_CONFIG |
screamer | 18:a15bfe7aaebd | 1670 | * Address : 0X1A |
screamer | 18:a15bfe7aaebd | 1671 | * Bit Group Name: DRDY_ON_INT1 |
screamer | 18:a15bfe7aaebd | 1672 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 1673 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1674 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1675 | LSM6DSL_ACC_GYRO_DRDY_ON_INT1_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 1676 | LSM6DSL_ACC_GYRO_DRDY_ON_INT1_ENABLED =0x80, |
screamer | 18:a15bfe7aaebd | 1677 | } LSM6DSL_ACC_GYRO_DRDY_ON_INT1_t; |
screamer | 18:a15bfe7aaebd | 1678 | |
screamer | 18:a15bfe7aaebd | 1679 | #define LSM6DSL_ACC_GYRO_DRDY_ON_INT1_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 1680 | mems_status_t LSM6DSL_ACC_GYRO_W_DRDY_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_DRDY_ON_INT1_t newValue); |
screamer | 18:a15bfe7aaebd | 1681 | mems_status_t LSM6DSL_ACC_GYRO_R_DRDY_ON_INT1(void *handle, LSM6DSL_ACC_GYRO_DRDY_ON_INT1_t *value); |
screamer | 18:a15bfe7aaebd | 1682 | |
screamer | 18:a15bfe7aaebd | 1683 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1684 | * Register : WAKE_UP_SRC |
screamer | 18:a15bfe7aaebd | 1685 | * Address : 0X1B |
screamer | 18:a15bfe7aaebd | 1686 | * Bit Group Name: Z_WU |
screamer | 18:a15bfe7aaebd | 1687 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1688 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1689 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1690 | LSM6DSL_ACC_GYRO_Z_WU_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1691 | LSM6DSL_ACC_GYRO_Z_WU_DETECTED =0x01, |
screamer | 18:a15bfe7aaebd | 1692 | } LSM6DSL_ACC_GYRO_Z_WU_t; |
screamer | 18:a15bfe7aaebd | 1693 | |
screamer | 18:a15bfe7aaebd | 1694 | #define LSM6DSL_ACC_GYRO_Z_WU_MASK 0x01 |
screamer | 18:a15bfe7aaebd | 1695 | mems_status_t LSM6DSL_ACC_GYRO_R_Z_WU(void *handle, LSM6DSL_ACC_GYRO_Z_WU_t *value); |
screamer | 18:a15bfe7aaebd | 1696 | |
screamer | 18:a15bfe7aaebd | 1697 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1698 | * Register : WAKE_UP_SRC |
screamer | 18:a15bfe7aaebd | 1699 | * Address : 0X1B |
screamer | 18:a15bfe7aaebd | 1700 | * Bit Group Name: Y_WU |
screamer | 18:a15bfe7aaebd | 1701 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1702 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1703 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1704 | LSM6DSL_ACC_GYRO_Y_WU_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1705 | LSM6DSL_ACC_GYRO_Y_WU_DETECTED =0x02, |
screamer | 18:a15bfe7aaebd | 1706 | } LSM6DSL_ACC_GYRO_Y_WU_t; |
screamer | 18:a15bfe7aaebd | 1707 | |
screamer | 18:a15bfe7aaebd | 1708 | #define LSM6DSL_ACC_GYRO_Y_WU_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 1709 | mems_status_t LSM6DSL_ACC_GYRO_R_Y_WU(void *handle, LSM6DSL_ACC_GYRO_Y_WU_t *value); |
screamer | 18:a15bfe7aaebd | 1710 | |
screamer | 18:a15bfe7aaebd | 1711 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1712 | * Register : WAKE_UP_SRC |
screamer | 18:a15bfe7aaebd | 1713 | * Address : 0X1B |
screamer | 18:a15bfe7aaebd | 1714 | * Bit Group Name: X_WU |
screamer | 18:a15bfe7aaebd | 1715 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1716 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1717 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1718 | LSM6DSL_ACC_GYRO_X_WU_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1719 | LSM6DSL_ACC_GYRO_X_WU_DETECTED =0x04, |
screamer | 18:a15bfe7aaebd | 1720 | } LSM6DSL_ACC_GYRO_X_WU_t; |
screamer | 18:a15bfe7aaebd | 1721 | |
screamer | 18:a15bfe7aaebd | 1722 | #define LSM6DSL_ACC_GYRO_X_WU_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 1723 | mems_status_t LSM6DSL_ACC_GYRO_R_X_WU(void *handle, LSM6DSL_ACC_GYRO_X_WU_t *value); |
screamer | 18:a15bfe7aaebd | 1724 | |
screamer | 18:a15bfe7aaebd | 1725 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1726 | * Register : WAKE_UP_SRC |
screamer | 18:a15bfe7aaebd | 1727 | * Address : 0X1B |
screamer | 18:a15bfe7aaebd | 1728 | * Bit Group Name: WU_EV_STATUS |
screamer | 18:a15bfe7aaebd | 1729 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1730 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1731 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1732 | LSM6DSL_ACC_GYRO_WU_EV_STATUS_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1733 | LSM6DSL_ACC_GYRO_WU_EV_STATUS_DETECTED =0x08, |
screamer | 18:a15bfe7aaebd | 1734 | } LSM6DSL_ACC_GYRO_WU_EV_STATUS_t; |
screamer | 18:a15bfe7aaebd | 1735 | |
screamer | 18:a15bfe7aaebd | 1736 | #define LSM6DSL_ACC_GYRO_WU_EV_STATUS_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 1737 | mems_status_t LSM6DSL_ACC_GYRO_R_WU_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_WU_EV_STATUS_t *value); |
screamer | 18:a15bfe7aaebd | 1738 | |
screamer | 18:a15bfe7aaebd | 1739 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1740 | * Register : WAKE_UP_SRC |
screamer | 18:a15bfe7aaebd | 1741 | * Address : 0X1B |
screamer | 18:a15bfe7aaebd | 1742 | * Bit Group Name: SLEEP_EV_STATUS |
screamer | 18:a15bfe7aaebd | 1743 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1744 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1745 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1746 | LSM6DSL_ACC_GYRO_SLEEP_EV_STATUS_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1747 | LSM6DSL_ACC_GYRO_SLEEP_EV_STATUS_DETECTED =0x10, |
screamer | 18:a15bfe7aaebd | 1748 | } LSM6DSL_ACC_GYRO_SLEEP_EV_STATUS_t; |
screamer | 18:a15bfe7aaebd | 1749 | |
screamer | 18:a15bfe7aaebd | 1750 | #define LSM6DSL_ACC_GYRO_SLEEP_EV_STATUS_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 1751 | mems_status_t LSM6DSL_ACC_GYRO_R_SLEEP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SLEEP_EV_STATUS_t *value); |
screamer | 18:a15bfe7aaebd | 1752 | |
screamer | 18:a15bfe7aaebd | 1753 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1754 | * Register : WAKE_UP_SRC |
screamer | 18:a15bfe7aaebd | 1755 | * Address : 0X1B |
screamer | 18:a15bfe7aaebd | 1756 | * Bit Group Name: FF_EV_STATUS |
screamer | 18:a15bfe7aaebd | 1757 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1758 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1759 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1760 | LSM6DSL_ACC_GYRO_FF_EV_STATUS_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1761 | LSM6DSL_ACC_GYRO_FF_EV_STATUS_DETECTED =0x20, |
screamer | 18:a15bfe7aaebd | 1762 | } LSM6DSL_ACC_GYRO_FF_EV_STATUS_t; |
screamer | 18:a15bfe7aaebd | 1763 | |
screamer | 18:a15bfe7aaebd | 1764 | #define LSM6DSL_ACC_GYRO_FF_EV_STATUS_MASK 0x20 |
screamer | 18:a15bfe7aaebd | 1765 | mems_status_t LSM6DSL_ACC_GYRO_R_FF_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_FF_EV_STATUS_t *value); |
screamer | 18:a15bfe7aaebd | 1766 | |
screamer | 18:a15bfe7aaebd | 1767 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1768 | * Register : TAP_SRC |
screamer | 18:a15bfe7aaebd | 1769 | * Address : 0X1C |
screamer | 18:a15bfe7aaebd | 1770 | * Bit Group Name: Z_TAP |
screamer | 18:a15bfe7aaebd | 1771 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1772 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1773 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1774 | LSM6DSL_ACC_GYRO_Z_TAP_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1775 | LSM6DSL_ACC_GYRO_Z_TAP_DETECTED =0x01, |
screamer | 18:a15bfe7aaebd | 1776 | } LSM6DSL_ACC_GYRO_Z_TAP_t; |
screamer | 18:a15bfe7aaebd | 1777 | |
screamer | 18:a15bfe7aaebd | 1778 | #define LSM6DSL_ACC_GYRO_Z_TAP_MASK 0x01 |
screamer | 18:a15bfe7aaebd | 1779 | mems_status_t LSM6DSL_ACC_GYRO_R_Z_TAP(void *handle, LSM6DSL_ACC_GYRO_Z_TAP_t *value); |
screamer | 18:a15bfe7aaebd | 1780 | |
screamer | 18:a15bfe7aaebd | 1781 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1782 | * Register : TAP_SRC |
screamer | 18:a15bfe7aaebd | 1783 | * Address : 0X1C |
screamer | 18:a15bfe7aaebd | 1784 | * Bit Group Name: Y_TAP |
screamer | 18:a15bfe7aaebd | 1785 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1786 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1787 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1788 | LSM6DSL_ACC_GYRO_Y_TAP_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1789 | LSM6DSL_ACC_GYRO_Y_TAP_DETECTED =0x02, |
screamer | 18:a15bfe7aaebd | 1790 | } LSM6DSL_ACC_GYRO_Y_TAP_t; |
screamer | 18:a15bfe7aaebd | 1791 | |
screamer | 18:a15bfe7aaebd | 1792 | #define LSM6DSL_ACC_GYRO_Y_TAP_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 1793 | mems_status_t LSM6DSL_ACC_GYRO_R_Y_TAP(void *handle, LSM6DSL_ACC_GYRO_Y_TAP_t *value); |
screamer | 18:a15bfe7aaebd | 1794 | |
screamer | 18:a15bfe7aaebd | 1795 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1796 | * Register : TAP_SRC |
screamer | 18:a15bfe7aaebd | 1797 | * Address : 0X1C |
screamer | 18:a15bfe7aaebd | 1798 | * Bit Group Name: X_TAP |
screamer | 18:a15bfe7aaebd | 1799 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1800 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1801 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1802 | LSM6DSL_ACC_GYRO_X_TAP_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1803 | LSM6DSL_ACC_GYRO_X_TAP_DETECTED =0x04, |
screamer | 18:a15bfe7aaebd | 1804 | } LSM6DSL_ACC_GYRO_X_TAP_t; |
screamer | 18:a15bfe7aaebd | 1805 | |
screamer | 18:a15bfe7aaebd | 1806 | #define LSM6DSL_ACC_GYRO_X_TAP_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 1807 | mems_status_t LSM6DSL_ACC_GYRO_R_X_TAP(void *handle, LSM6DSL_ACC_GYRO_X_TAP_t *value); |
screamer | 18:a15bfe7aaebd | 1808 | |
screamer | 18:a15bfe7aaebd | 1809 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1810 | * Register : TAP_SRC |
screamer | 18:a15bfe7aaebd | 1811 | * Address : 0X1C |
screamer | 18:a15bfe7aaebd | 1812 | * Bit Group Name: TAP_SIGN |
screamer | 18:a15bfe7aaebd | 1813 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1814 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1815 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1816 | LSM6DSL_ACC_GYRO_TAP_SIGN_POS_SIGN =0x00, |
screamer | 18:a15bfe7aaebd | 1817 | LSM6DSL_ACC_GYRO_TAP_SIGN_NEG_SIGN =0x08, |
screamer | 18:a15bfe7aaebd | 1818 | } LSM6DSL_ACC_GYRO_TAP_SIGN_t; |
screamer | 18:a15bfe7aaebd | 1819 | |
screamer | 18:a15bfe7aaebd | 1820 | #define LSM6DSL_ACC_GYRO_TAP_SIGN_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 1821 | mems_status_t LSM6DSL_ACC_GYRO_R_TAP_SIGN(void *handle, LSM6DSL_ACC_GYRO_TAP_SIGN_t *value); |
screamer | 18:a15bfe7aaebd | 1822 | |
screamer | 18:a15bfe7aaebd | 1823 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1824 | * Register : TAP_SRC |
screamer | 18:a15bfe7aaebd | 1825 | * Address : 0X1C |
screamer | 18:a15bfe7aaebd | 1826 | * Bit Group Name: DOUBLE_TAP_EV_STATUS |
screamer | 18:a15bfe7aaebd | 1827 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1828 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1829 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1830 | LSM6DSL_ACC_GYRO_DOUBLE_TAP_EV_STATUS_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1831 | LSM6DSL_ACC_GYRO_DOUBLE_TAP_EV_STATUS_DETECTED =0x10, |
screamer | 18:a15bfe7aaebd | 1832 | } LSM6DSL_ACC_GYRO_DOUBLE_TAP_EV_STATUS_t; |
screamer | 18:a15bfe7aaebd | 1833 | |
screamer | 18:a15bfe7aaebd | 1834 | #define LSM6DSL_ACC_GYRO_DOUBLE_TAP_EV_STATUS_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 1835 | mems_status_t LSM6DSL_ACC_GYRO_R_DOUBLE_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_DOUBLE_TAP_EV_STATUS_t *value); |
screamer | 18:a15bfe7aaebd | 1836 | |
screamer | 18:a15bfe7aaebd | 1837 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1838 | * Register : TAP_SRC |
screamer | 18:a15bfe7aaebd | 1839 | * Address : 0X1C |
screamer | 18:a15bfe7aaebd | 1840 | * Bit Group Name: SINGLE_TAP_EV_STATUS |
screamer | 18:a15bfe7aaebd | 1841 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1842 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1843 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1844 | LSM6DSL_ACC_GYRO_SINGLE_TAP_EV_STATUS_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1845 | LSM6DSL_ACC_GYRO_SINGLE_TAP_EV_STATUS_DETECTED =0x20, |
screamer | 18:a15bfe7aaebd | 1846 | } LSM6DSL_ACC_GYRO_SINGLE_TAP_EV_STATUS_t; |
screamer | 18:a15bfe7aaebd | 1847 | |
screamer | 18:a15bfe7aaebd | 1848 | #define LSM6DSL_ACC_GYRO_SINGLE_TAP_EV_STATUS_MASK 0x20 |
screamer | 18:a15bfe7aaebd | 1849 | mems_status_t LSM6DSL_ACC_GYRO_R_SINGLE_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SINGLE_TAP_EV_STATUS_t *value); |
screamer | 18:a15bfe7aaebd | 1850 | |
screamer | 18:a15bfe7aaebd | 1851 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1852 | * Register : TAP_SRC |
screamer | 18:a15bfe7aaebd | 1853 | * Address : 0X1C |
screamer | 18:a15bfe7aaebd | 1854 | * Bit Group Name: TAP_EV_STATUS |
screamer | 18:a15bfe7aaebd | 1855 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1856 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1857 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1858 | LSM6DSL_ACC_GYRO_TAP_EV_STATUS_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1859 | LSM6DSL_ACC_GYRO_TAP_EV_STATUS_DETECTED =0x40, |
screamer | 18:a15bfe7aaebd | 1860 | } LSM6DSL_ACC_GYRO_TAP_EV_STATUS_t; |
screamer | 18:a15bfe7aaebd | 1861 | |
screamer | 18:a15bfe7aaebd | 1862 | #define LSM6DSL_ACC_GYRO_TAP_EV_STATUS_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 1863 | mems_status_t LSM6DSL_ACC_GYRO_R_TAP_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_TAP_EV_STATUS_t *value); |
screamer | 18:a15bfe7aaebd | 1864 | |
screamer | 18:a15bfe7aaebd | 1865 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1866 | * Register : D6D_SRC |
screamer | 18:a15bfe7aaebd | 1867 | * Address : 0X1D |
screamer | 18:a15bfe7aaebd | 1868 | * Bit Group Name: DSD_XL |
screamer | 18:a15bfe7aaebd | 1869 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1870 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1871 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1872 | LSM6DSL_ACC_GYRO_DSD_XL_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1873 | LSM6DSL_ACC_GYRO_DSD_XL_DETECTED =0x01, |
screamer | 18:a15bfe7aaebd | 1874 | } LSM6DSL_ACC_GYRO_DSD_XL_t; |
screamer | 18:a15bfe7aaebd | 1875 | |
screamer | 18:a15bfe7aaebd | 1876 | #define LSM6DSL_ACC_GYRO_DSD_XL_MASK 0x01 |
screamer | 18:a15bfe7aaebd | 1877 | mems_status_t LSM6DSL_ACC_GYRO_R_DSD_XL(void *handle, LSM6DSL_ACC_GYRO_DSD_XL_t *value); |
screamer | 18:a15bfe7aaebd | 1878 | |
screamer | 18:a15bfe7aaebd | 1879 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1880 | * Register : D6D_SRC |
screamer | 18:a15bfe7aaebd | 1881 | * Address : 0X1D |
screamer | 18:a15bfe7aaebd | 1882 | * Bit Group Name: DSD_XH |
screamer | 18:a15bfe7aaebd | 1883 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1884 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1885 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1886 | LSM6DSL_ACC_GYRO_DSD_XH_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1887 | LSM6DSL_ACC_GYRO_DSD_XH_DETECTED =0x02, |
screamer | 18:a15bfe7aaebd | 1888 | } LSM6DSL_ACC_GYRO_DSD_XH_t; |
screamer | 18:a15bfe7aaebd | 1889 | |
screamer | 18:a15bfe7aaebd | 1890 | #define LSM6DSL_ACC_GYRO_DSD_XH_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 1891 | mems_status_t LSM6DSL_ACC_GYRO_R_DSD_XH(void *handle, LSM6DSL_ACC_GYRO_DSD_XH_t *value); |
screamer | 18:a15bfe7aaebd | 1892 | |
screamer | 18:a15bfe7aaebd | 1893 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1894 | * Register : D6D_SRC |
screamer | 18:a15bfe7aaebd | 1895 | * Address : 0X1D |
screamer | 18:a15bfe7aaebd | 1896 | * Bit Group Name: DSD_YL |
screamer | 18:a15bfe7aaebd | 1897 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1898 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1899 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1900 | LSM6DSL_ACC_GYRO_DSD_YL_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1901 | LSM6DSL_ACC_GYRO_DSD_YL_DETECTED =0x04, |
screamer | 18:a15bfe7aaebd | 1902 | } LSM6DSL_ACC_GYRO_DSD_YL_t; |
screamer | 18:a15bfe7aaebd | 1903 | |
screamer | 18:a15bfe7aaebd | 1904 | #define LSM6DSL_ACC_GYRO_DSD_YL_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 1905 | mems_status_t LSM6DSL_ACC_GYRO_R_DSD_YL(void *handle, LSM6DSL_ACC_GYRO_DSD_YL_t *value); |
screamer | 18:a15bfe7aaebd | 1906 | |
screamer | 18:a15bfe7aaebd | 1907 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1908 | * Register : D6D_SRC |
screamer | 18:a15bfe7aaebd | 1909 | * Address : 0X1D |
screamer | 18:a15bfe7aaebd | 1910 | * Bit Group Name: DSD_YH |
screamer | 18:a15bfe7aaebd | 1911 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1912 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1913 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1914 | LSM6DSL_ACC_GYRO_DSD_YH_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1915 | LSM6DSL_ACC_GYRO_DSD_YH_DETECTED =0x08, |
screamer | 18:a15bfe7aaebd | 1916 | } LSM6DSL_ACC_GYRO_DSD_YH_t; |
screamer | 18:a15bfe7aaebd | 1917 | |
screamer | 18:a15bfe7aaebd | 1918 | #define LSM6DSL_ACC_GYRO_DSD_YH_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 1919 | mems_status_t LSM6DSL_ACC_GYRO_R_DSD_YH(void *handle, LSM6DSL_ACC_GYRO_DSD_YH_t *value); |
screamer | 18:a15bfe7aaebd | 1920 | |
screamer | 18:a15bfe7aaebd | 1921 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1922 | * Register : D6D_SRC |
screamer | 18:a15bfe7aaebd | 1923 | * Address : 0X1D |
screamer | 18:a15bfe7aaebd | 1924 | * Bit Group Name: DSD_ZL |
screamer | 18:a15bfe7aaebd | 1925 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1926 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1927 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1928 | LSM6DSL_ACC_GYRO_DSD_ZL_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1929 | LSM6DSL_ACC_GYRO_DSD_ZL_DETECTED =0x10, |
screamer | 18:a15bfe7aaebd | 1930 | } LSM6DSL_ACC_GYRO_DSD_ZL_t; |
screamer | 18:a15bfe7aaebd | 1931 | |
screamer | 18:a15bfe7aaebd | 1932 | #define LSM6DSL_ACC_GYRO_DSD_ZL_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 1933 | mems_status_t LSM6DSL_ACC_GYRO_R_DSD_ZL(void *handle, LSM6DSL_ACC_GYRO_DSD_ZL_t *value); |
screamer | 18:a15bfe7aaebd | 1934 | |
screamer | 18:a15bfe7aaebd | 1935 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1936 | * Register : D6D_SRC |
screamer | 18:a15bfe7aaebd | 1937 | * Address : 0X1D |
screamer | 18:a15bfe7aaebd | 1938 | * Bit Group Name: DSD_ZH |
screamer | 18:a15bfe7aaebd | 1939 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1940 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1941 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1942 | LSM6DSL_ACC_GYRO_DSD_ZH_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1943 | LSM6DSL_ACC_GYRO_DSD_ZH_DETECTED =0x20, |
screamer | 18:a15bfe7aaebd | 1944 | } LSM6DSL_ACC_GYRO_DSD_ZH_t; |
screamer | 18:a15bfe7aaebd | 1945 | |
screamer | 18:a15bfe7aaebd | 1946 | #define LSM6DSL_ACC_GYRO_DSD_ZH_MASK 0x20 |
screamer | 18:a15bfe7aaebd | 1947 | mems_status_t LSM6DSL_ACC_GYRO_R_DSD_ZH(void *handle, LSM6DSL_ACC_GYRO_DSD_ZH_t *value); |
screamer | 18:a15bfe7aaebd | 1948 | |
screamer | 18:a15bfe7aaebd | 1949 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1950 | * Register : D6D_SRC |
screamer | 18:a15bfe7aaebd | 1951 | * Address : 0X1D |
screamer | 18:a15bfe7aaebd | 1952 | * Bit Group Name: D6D_EV_STATUS |
screamer | 18:a15bfe7aaebd | 1953 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1954 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1955 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1956 | LSM6DSL_ACC_GYRO_D6D_EV_STATUS_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 1957 | LSM6DSL_ACC_GYRO_D6D_EV_STATUS_DETECTED =0x40, |
screamer | 18:a15bfe7aaebd | 1958 | } LSM6DSL_ACC_GYRO_D6D_EV_STATUS_t; |
screamer | 18:a15bfe7aaebd | 1959 | |
screamer | 18:a15bfe7aaebd | 1960 | #define LSM6DSL_ACC_GYRO_D6D_EV_STATUS_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 1961 | mems_status_t LSM6DSL_ACC_GYRO_R_D6D_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_D6D_EV_STATUS_t *value); |
screamer | 18:a15bfe7aaebd | 1962 | |
screamer | 18:a15bfe7aaebd | 1963 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1964 | * Register : STATUS_REG |
screamer | 18:a15bfe7aaebd | 1965 | * Address : 0X1E |
screamer | 18:a15bfe7aaebd | 1966 | * Bit Group Name: XLDA |
screamer | 18:a15bfe7aaebd | 1967 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1968 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1969 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1970 | LSM6DSL_ACC_GYRO_XLDA_NO_DATA_AVAIL =0x00, |
screamer | 18:a15bfe7aaebd | 1971 | LSM6DSL_ACC_GYRO_XLDA_DATA_AVAIL =0x01, |
screamer | 18:a15bfe7aaebd | 1972 | } LSM6DSL_ACC_GYRO_XLDA_t; |
screamer | 18:a15bfe7aaebd | 1973 | |
screamer | 18:a15bfe7aaebd | 1974 | #define LSM6DSL_ACC_GYRO_XLDA_MASK 0x01 |
screamer | 18:a15bfe7aaebd | 1975 | mems_status_t LSM6DSL_ACC_GYRO_R_XLDA(void *handle, LSM6DSL_ACC_GYRO_XLDA_t *value); |
screamer | 18:a15bfe7aaebd | 1976 | |
screamer | 18:a15bfe7aaebd | 1977 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1978 | * Register : STATUS_REG |
screamer | 18:a15bfe7aaebd | 1979 | * Address : 0X1E |
screamer | 18:a15bfe7aaebd | 1980 | * Bit Group Name: GDA |
screamer | 18:a15bfe7aaebd | 1981 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1982 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1983 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1984 | LSM6DSL_ACC_GYRO_GDA_NO_DATA_AVAIL =0x00, |
screamer | 18:a15bfe7aaebd | 1985 | LSM6DSL_ACC_GYRO_GDA_DATA_AVAIL =0x02, |
screamer | 18:a15bfe7aaebd | 1986 | } LSM6DSL_ACC_GYRO_GDA_t; |
screamer | 18:a15bfe7aaebd | 1987 | |
screamer | 18:a15bfe7aaebd | 1988 | #define LSM6DSL_ACC_GYRO_GDA_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 1989 | mems_status_t LSM6DSL_ACC_GYRO_R_GDA(void *handle, LSM6DSL_ACC_GYRO_GDA_t *value); |
screamer | 18:a15bfe7aaebd | 1990 | |
screamer | 18:a15bfe7aaebd | 1991 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 1992 | * Register : STATUS_REG |
screamer | 18:a15bfe7aaebd | 1993 | * Address : 0X1E |
screamer | 18:a15bfe7aaebd | 1994 | * Bit Group Name: TDA |
screamer | 18:a15bfe7aaebd | 1995 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 1996 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 1997 | typedef enum { |
screamer | 18:a15bfe7aaebd | 1998 | LSM6DSL_ACC_GYRO_TDA_NO_DATA_AVAIL =0x00, |
screamer | 18:a15bfe7aaebd | 1999 | LSM6DSL_ACC_GYRO_TDA_DATA_AVAIL =0x04, |
screamer | 18:a15bfe7aaebd | 2000 | } LSM6DSL_ACC_GYRO_TDA_t; |
screamer | 18:a15bfe7aaebd | 2001 | |
screamer | 18:a15bfe7aaebd | 2002 | #define LSM6DSL_ACC_GYRO_TDA_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 2003 | mems_status_t LSM6DSL_ACC_GYRO_R_TDA(void *handle, LSM6DSL_ACC_GYRO_TDA_t *value); |
screamer | 18:a15bfe7aaebd | 2004 | |
screamer | 18:a15bfe7aaebd | 2005 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2006 | * Register : FIFO_STATUS1 |
screamer | 18:a15bfe7aaebd | 2007 | * Address : 0X3A |
screamer | 18:a15bfe7aaebd | 2008 | * Bit Group Name: DIFF_FIFO |
screamer | 18:a15bfe7aaebd | 2009 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2010 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2011 | #define LSM6DSL_ACC_GYRO_DIFF_FIFO_STATUS1_MASK 0xFF |
screamer | 18:a15bfe7aaebd | 2012 | #define LSM6DSL_ACC_GYRO_DIFF_FIFO_STATUS1_POSITION 0 |
screamer | 18:a15bfe7aaebd | 2013 | #define LSM6DSL_ACC_GYRO_DIFF_FIFO_STATUS2_MASK 0xF |
screamer | 18:a15bfe7aaebd | 2014 | #define LSM6DSL_ACC_GYRO_DIFF_FIFO_STATUS2_POSITION 0 |
screamer | 18:a15bfe7aaebd | 2015 | mems_status_t LSM6DSL_ACC_GYRO_R_FIFONumOfEntries(void *handle, u16_t *value); |
screamer | 18:a15bfe7aaebd | 2016 | |
screamer | 18:a15bfe7aaebd | 2017 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2018 | * Register : FIFO_STATUS2 |
screamer | 18:a15bfe7aaebd | 2019 | * Address : 0X3B |
screamer | 18:a15bfe7aaebd | 2020 | * Bit Group Name: FIFO_EMPTY |
screamer | 18:a15bfe7aaebd | 2021 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2022 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2023 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2024 | LSM6DSL_ACC_GYRO_FIFO_EMPTY_FIFO_NOT_EMPTY =0x00, |
screamer | 18:a15bfe7aaebd | 2025 | LSM6DSL_ACC_GYRO_FIFO_EMPTY_FIFO_EMPTY =0x10, |
screamer | 18:a15bfe7aaebd | 2026 | } LSM6DSL_ACC_GYRO_FIFO_EMPTY_t; |
screamer | 18:a15bfe7aaebd | 2027 | |
screamer | 18:a15bfe7aaebd | 2028 | #define LSM6DSL_ACC_GYRO_FIFO_EMPTY_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 2029 | mems_status_t LSM6DSL_ACC_GYRO_R_FIFOEmpty(void *handle, LSM6DSL_ACC_GYRO_FIFO_EMPTY_t *value); |
screamer | 18:a15bfe7aaebd | 2030 | |
screamer | 18:a15bfe7aaebd | 2031 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2032 | * Register : FIFO_STATUS2 |
screamer | 18:a15bfe7aaebd | 2033 | * Address : 0X3B |
screamer | 18:a15bfe7aaebd | 2034 | * Bit Group Name: FIFO_FULL |
screamer | 18:a15bfe7aaebd | 2035 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2036 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2037 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2038 | LSM6DSL_ACC_GYRO_FIFO_FULL_FIFO_NOT_FULL =0x00, |
screamer | 18:a15bfe7aaebd | 2039 | LSM6DSL_ACC_GYRO_FIFO_FULL_FIFO_FULL =0x20, |
screamer | 18:a15bfe7aaebd | 2040 | } LSM6DSL_ACC_GYRO_FIFO_FULL_t; |
screamer | 18:a15bfe7aaebd | 2041 | |
screamer | 18:a15bfe7aaebd | 2042 | #define LSM6DSL_ACC_GYRO_FIFO_FULL_MASK 0x20 |
screamer | 18:a15bfe7aaebd | 2043 | mems_status_t LSM6DSL_ACC_GYRO_R_FIFOFull(void *handle, LSM6DSL_ACC_GYRO_FIFO_FULL_t *value); |
screamer | 18:a15bfe7aaebd | 2044 | |
screamer | 18:a15bfe7aaebd | 2045 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2046 | * Register : FIFO_STATUS2 |
screamer | 18:a15bfe7aaebd | 2047 | * Address : 0X3B |
screamer | 18:a15bfe7aaebd | 2048 | * Bit Group Name: OVERRUN |
screamer | 18:a15bfe7aaebd | 2049 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2050 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2051 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2052 | LSM6DSL_ACC_GYRO_OVERRUN_NO_OVERRUN =0x00, |
screamer | 18:a15bfe7aaebd | 2053 | LSM6DSL_ACC_GYRO_OVERRUN_OVERRUN =0x40, |
screamer | 18:a15bfe7aaebd | 2054 | } LSM6DSL_ACC_GYRO_OVERRUN_t; |
screamer | 18:a15bfe7aaebd | 2055 | |
screamer | 18:a15bfe7aaebd | 2056 | #define LSM6DSL_ACC_GYRO_OVERRUN_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 2057 | mems_status_t LSM6DSL_ACC_GYRO_R_OVERRUN(void *handle, LSM6DSL_ACC_GYRO_OVERRUN_t *value); |
screamer | 18:a15bfe7aaebd | 2058 | |
screamer | 18:a15bfe7aaebd | 2059 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2060 | * Register : FIFO_STATUS2 |
screamer | 18:a15bfe7aaebd | 2061 | * Address : 0X3B |
screamer | 18:a15bfe7aaebd | 2062 | * Bit Group Name: WTM |
screamer | 18:a15bfe7aaebd | 2063 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2064 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2065 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2066 | LSM6DSL_ACC_GYRO_WTM_BELOW_WTM =0x00, |
screamer | 18:a15bfe7aaebd | 2067 | LSM6DSL_ACC_GYRO_WTM_ABOVE_OR_EQUAL_WTM =0x80, |
screamer | 18:a15bfe7aaebd | 2068 | } LSM6DSL_ACC_GYRO_WTM_t; |
screamer | 18:a15bfe7aaebd | 2069 | |
screamer | 18:a15bfe7aaebd | 2070 | #define LSM6DSL_ACC_GYRO_WTM_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 2071 | mems_status_t LSM6DSL_ACC_GYRO_R_WaterMark(void *handle, LSM6DSL_ACC_GYRO_WTM_t *value); |
screamer | 18:a15bfe7aaebd | 2072 | |
screamer | 18:a15bfe7aaebd | 2073 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2074 | * Register : FIFO_STATUS3 |
screamer | 18:a15bfe7aaebd | 2075 | * Address : 0X3C |
screamer | 18:a15bfe7aaebd | 2076 | * Bit Group Name: FIFO_PATTERN |
screamer | 18:a15bfe7aaebd | 2077 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2078 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2079 | #define LSM6DSL_ACC_GYRO_FIFO_STATUS3_PATTERN_MASK 0xFF |
screamer | 18:a15bfe7aaebd | 2080 | #define LSM6DSL_ACC_GYRO_FIFO_STATUS3_PATTERN_POSITION 0 |
screamer | 18:a15bfe7aaebd | 2081 | #define LSM6DSL_ACC_GYRO_FIFO_STATUS4_PATTERN_MASK 0x03 |
screamer | 18:a15bfe7aaebd | 2082 | #define LSM6DSL_ACC_GYRO_FIFO_STATUS4_PATTERN_POSITION 0 |
screamer | 18:a15bfe7aaebd | 2083 | mems_status_t LSM6DSL_ACC_GYRO_R_FIFOPattern(void *handle, u16_t *value); |
screamer | 18:a15bfe7aaebd | 2084 | |
screamer | 18:a15bfe7aaebd | 2085 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2086 | * Register : FUNC_SRC |
screamer | 18:a15bfe7aaebd | 2087 | * Address : 0X53 |
screamer | 18:a15bfe7aaebd | 2088 | * Bit Group Name: SENS_HUB_END |
screamer | 18:a15bfe7aaebd | 2089 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2090 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2091 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2092 | LSM6DSL_ACC_GYRO_SENS_HUB_END_STILL_ONGOING =0x00, |
screamer | 18:a15bfe7aaebd | 2093 | LSM6DSL_ACC_GYRO_SENS_HUB_END_OP_COMPLETED =0x01, |
screamer | 18:a15bfe7aaebd | 2094 | } LSM6DSL_ACC_GYRO_SENS_HUB_END_t; |
screamer | 18:a15bfe7aaebd | 2095 | |
screamer | 18:a15bfe7aaebd | 2096 | #define LSM6DSL_ACC_GYRO_SENS_HUB_END_MASK 0x01 |
screamer | 18:a15bfe7aaebd | 2097 | mems_status_t LSM6DSL_ACC_GYRO_R_SENS_HUB_END(void *handle, LSM6DSL_ACC_GYRO_SENS_HUB_END_t *value); |
screamer | 18:a15bfe7aaebd | 2098 | |
screamer | 18:a15bfe7aaebd | 2099 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2100 | * Register : FUNC_SRC |
screamer | 18:a15bfe7aaebd | 2101 | * Address : 0X53 |
screamer | 18:a15bfe7aaebd | 2102 | * Bit Group Name: SOFT_IRON_END |
screamer | 18:a15bfe7aaebd | 2103 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2104 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2105 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2106 | LSM6DSL_ACC_GYRO_SOFT_IRON_END_NOT_COMPLETED =0x00, |
screamer | 18:a15bfe7aaebd | 2107 | LSM6DSL_ACC_GYRO_SOFT_IRON_END_COMPLETED =0x02, |
screamer | 18:a15bfe7aaebd | 2108 | } LSM6DSL_ACC_GYRO_SOFT_IRON_END_t; |
screamer | 18:a15bfe7aaebd | 2109 | |
screamer | 18:a15bfe7aaebd | 2110 | #define LSM6DSL_ACC_GYRO_SOFT_IRON_END_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 2111 | mems_status_t LSM6DSL_ACC_GYRO_R_SOFT_IRON_END(void *handle, LSM6DSL_ACC_GYRO_SOFT_IRON_END_t *value); |
screamer | 18:a15bfe7aaebd | 2112 | |
screamer | 18:a15bfe7aaebd | 2113 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2114 | * Register : FUNC_SRC |
screamer | 18:a15bfe7aaebd | 2115 | * Address : 0X53 |
screamer | 18:a15bfe7aaebd | 2116 | * Bit Group Name: HI_FAIL |
screamer | 18:a15bfe7aaebd | 2117 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2118 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2119 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2120 | LSM6DSL_ACC_GYRO_HARD_IRON_NORMAL =0x00, |
screamer | 18:a15bfe7aaebd | 2121 | LSM6DSL_ACC_GYRO_HARD_IRON_FAIL =0x04, |
screamer | 18:a15bfe7aaebd | 2122 | } LSM6DSL_ACC_GYRO_SOFT_HARD_IRON_STAT_t; |
screamer | 18:a15bfe7aaebd | 2123 | |
screamer | 18:a15bfe7aaebd | 2124 | #define LSM6DSL_ACC_GYRO_HARD_IRON_STAT_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 2125 | mems_status_t LSM6DSL_ACC_GYRO_R_HardIron(void *handle, LSM6DSL_ACC_GYRO_SOFT_HARD_IRON_STAT_t *value); |
screamer | 18:a15bfe7aaebd | 2126 | |
screamer | 18:a15bfe7aaebd | 2127 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2128 | * Register : FUNC_SRC |
screamer | 18:a15bfe7aaebd | 2129 | * Address : 0X53 |
screamer | 18:a15bfe7aaebd | 2130 | * Bit Group Name: STEP_OVERFLOW |
screamer | 18:a15bfe7aaebd | 2131 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2132 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2133 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2134 | LSM6DSL_ACC_GYRO_PEDO_STEP_IN_RANGE =0x00, |
screamer | 18:a15bfe7aaebd | 2135 | LSM6DSL_ACC_GYRO_PEDO_ESTEP_OVERFLOW =0x08, |
screamer | 18:a15bfe7aaebd | 2136 | } LSM6DSL_ACC_GYRO_STEP_OVERFLOW_t; |
screamer | 18:a15bfe7aaebd | 2137 | |
screamer | 18:a15bfe7aaebd | 2138 | #define LSM6DSL_ACC_GYRO_STEP_OVERFLOW_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 2139 | mems_status_t LSM6DSL_ACC_GYRO_R_STEP_OVERFLOW(void *handle, LSM6DSL_ACC_GYRO_STEP_OVERFLOW_t *value); |
screamer | 18:a15bfe7aaebd | 2140 | |
screamer | 18:a15bfe7aaebd | 2141 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2142 | * Register : FUNC_SRC |
screamer | 18:a15bfe7aaebd | 2143 | * Address : 0X53 |
screamer | 18:a15bfe7aaebd | 2144 | * Bit Group Name: PEDO_EV_STATUS |
screamer | 18:a15bfe7aaebd | 2145 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2146 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2147 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2148 | LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 2149 | LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_DETECTED =0x10, |
screamer | 18:a15bfe7aaebd | 2150 | } LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_t; |
screamer | 18:a15bfe7aaebd | 2151 | |
screamer | 18:a15bfe7aaebd | 2152 | #define LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 2153 | mems_status_t LSM6DSL_ACC_GYRO_R_PEDO_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_t *value); |
screamer | 18:a15bfe7aaebd | 2154 | |
screamer | 18:a15bfe7aaebd | 2155 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2156 | * Register : FUNC_SRC |
screamer | 18:a15bfe7aaebd | 2157 | * Address : 0X53 |
screamer | 18:a15bfe7aaebd | 2158 | * Bit Group Name: TILT_EV_STATUS |
screamer | 18:a15bfe7aaebd | 2159 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2160 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2161 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2162 | LSM6DSL_ACC_GYRO_TILT_EV_STATUS_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 2163 | LSM6DSL_ACC_GYRO_TILT_EV_STATUS_DETECTED =0x20, |
screamer | 18:a15bfe7aaebd | 2164 | } LSM6DSL_ACC_GYRO_TILT_EV_STATUS_t; |
screamer | 18:a15bfe7aaebd | 2165 | |
screamer | 18:a15bfe7aaebd | 2166 | #define LSM6DSL_ACC_GYRO_TILT_EV_STATUS_MASK 0x20 |
screamer | 18:a15bfe7aaebd | 2167 | mems_status_t LSM6DSL_ACC_GYRO_R_TILT_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_TILT_EV_STATUS_t *value); |
screamer | 18:a15bfe7aaebd | 2168 | |
screamer | 18:a15bfe7aaebd | 2169 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2170 | * Register : FUNC_SRC |
screamer | 18:a15bfe7aaebd | 2171 | * Address : 0X53 |
screamer | 18:a15bfe7aaebd | 2172 | * Bit Group Name: SIGN_MOT_EV_STATUS |
screamer | 18:a15bfe7aaebd | 2173 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2174 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2175 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2176 | LSM6DSL_ACC_GYRO_SIGN_MOT_EV_STATUS_NOT_DETECTED =0x00, |
screamer | 18:a15bfe7aaebd | 2177 | LSM6DSL_ACC_GYRO_SIGN_MOT_EV_STATUS_DETECTED =0x40, |
screamer | 18:a15bfe7aaebd | 2178 | } LSM6DSL_ACC_GYRO_SIGN_MOT_EV_STATUS_t; |
screamer | 18:a15bfe7aaebd | 2179 | |
screamer | 18:a15bfe7aaebd | 2180 | #define LSM6DSL_ACC_GYRO_SIGN_MOT_EV_STATUS_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 2181 | mems_status_t LSM6DSL_ACC_GYRO_R_SIGN_MOT_EV_STATUS(void *handle, LSM6DSL_ACC_GYRO_SIGN_MOT_EV_STATUS_t *value); |
screamer | 18:a15bfe7aaebd | 2182 | |
screamer | 18:a15bfe7aaebd | 2183 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2184 | * Register : FUNC_SRC |
screamer | 18:a15bfe7aaebd | 2185 | * Address : 0X53 |
screamer | 18:a15bfe7aaebd | 2186 | * Bit Group Name: STEP_COUNT_DELTA_IA |
screamer | 18:a15bfe7aaebd | 2187 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2188 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2189 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2190 | LSM6DSL_ACC_GYRO_NO_STEP_COUNT_IN_DELTA =0x00, |
screamer | 18:a15bfe7aaebd | 2191 | LSM6DSL_ACC_GYRO_STEP_COUNT_IN_DELTA =0x80, |
screamer | 18:a15bfe7aaebd | 2192 | } LSM6DSL_ACC_GYRO_STEP_COUNT_DELTA_t; |
screamer | 18:a15bfe7aaebd | 2193 | |
screamer | 18:a15bfe7aaebd | 2194 | #define LSM6DSL_ACC_GYRO_STEP_COUNT_DELTA_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 2195 | mems_status_t LSM6DSL_ACC_GYRO_R_STEP_COUNT_DELTA(void *handle, LSM6DSL_ACC_GYRO_STEP_COUNT_DELTA_t *value); |
screamer | 18:a15bfe7aaebd | 2196 | |
screamer | 18:a15bfe7aaebd | 2197 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2198 | * Register : TAP_CFG1 |
screamer | 18:a15bfe7aaebd | 2199 | * Address : 0X58 |
screamer | 18:a15bfe7aaebd | 2200 | * Bit Group Name: LIR |
screamer | 18:a15bfe7aaebd | 2201 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2202 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2203 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2204 | LSM6DSL_ACC_GYRO_LIR_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2205 | LSM6DSL_ACC_GYRO_LIR_ENABLED =0x01, |
screamer | 18:a15bfe7aaebd | 2206 | } LSM6DSL_ACC_GYRO_LIR_t; |
screamer | 18:a15bfe7aaebd | 2207 | |
screamer | 18:a15bfe7aaebd | 2208 | #define LSM6DSL_ACC_GYRO_LIR_MASK 0x01 |
screamer | 18:a15bfe7aaebd | 2209 | mems_status_t LSM6DSL_ACC_GYRO_W_LIR(void *handle, LSM6DSL_ACC_GYRO_LIR_t newValue); |
screamer | 18:a15bfe7aaebd | 2210 | mems_status_t LSM6DSL_ACC_GYRO_R_LIR(void *handle, LSM6DSL_ACC_GYRO_LIR_t *value); |
screamer | 18:a15bfe7aaebd | 2211 | |
screamer | 18:a15bfe7aaebd | 2212 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2213 | * Register : TAP_CFG1 |
screamer | 18:a15bfe7aaebd | 2214 | * Address : 0X58 |
screamer | 18:a15bfe7aaebd | 2215 | * Bit Group Name: TAP_Z_EN |
screamer | 18:a15bfe7aaebd | 2216 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2217 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2218 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2219 | LSM6DSL_ACC_GYRO_TAP_Z_EN_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2220 | LSM6DSL_ACC_GYRO_TAP_Z_EN_ENABLED =0x02, |
screamer | 18:a15bfe7aaebd | 2221 | } LSM6DSL_ACC_GYRO_TAP_Z_EN_t; |
screamer | 18:a15bfe7aaebd | 2222 | |
screamer | 18:a15bfe7aaebd | 2223 | #define LSM6DSL_ACC_GYRO_TAP_Z_EN_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 2224 | mems_status_t LSM6DSL_ACC_GYRO_W_TAP_Z_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Z_EN_t newValue); |
screamer | 18:a15bfe7aaebd | 2225 | mems_status_t LSM6DSL_ACC_GYRO_R_TAP_Z_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Z_EN_t *value); |
screamer | 18:a15bfe7aaebd | 2226 | |
screamer | 18:a15bfe7aaebd | 2227 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2228 | * Register : TAP_CFG1 |
screamer | 18:a15bfe7aaebd | 2229 | * Address : 0X58 |
screamer | 18:a15bfe7aaebd | 2230 | * Bit Group Name: TAP_Y_EN |
screamer | 18:a15bfe7aaebd | 2231 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2232 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2233 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2234 | LSM6DSL_ACC_GYRO_TAP_Y_EN_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2235 | LSM6DSL_ACC_GYRO_TAP_Y_EN_ENABLED =0x04, |
screamer | 18:a15bfe7aaebd | 2236 | } LSM6DSL_ACC_GYRO_TAP_Y_EN_t; |
screamer | 18:a15bfe7aaebd | 2237 | |
screamer | 18:a15bfe7aaebd | 2238 | #define LSM6DSL_ACC_GYRO_TAP_Y_EN_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 2239 | mems_status_t LSM6DSL_ACC_GYRO_W_TAP_Y_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Y_EN_t newValue); |
screamer | 18:a15bfe7aaebd | 2240 | mems_status_t LSM6DSL_ACC_GYRO_R_TAP_Y_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_Y_EN_t *value); |
screamer | 18:a15bfe7aaebd | 2241 | |
screamer | 18:a15bfe7aaebd | 2242 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2243 | * Register : TAP_CFG1 |
screamer | 18:a15bfe7aaebd | 2244 | * Address : 0X58 |
screamer | 18:a15bfe7aaebd | 2245 | * Bit Group Name: TAP_X_EN |
screamer | 18:a15bfe7aaebd | 2246 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2247 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2248 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2249 | LSM6DSL_ACC_GYRO_TAP_X_EN_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2250 | LSM6DSL_ACC_GYRO_TAP_X_EN_ENABLED =0x08, |
screamer | 18:a15bfe7aaebd | 2251 | } LSM6DSL_ACC_GYRO_TAP_X_EN_t; |
screamer | 18:a15bfe7aaebd | 2252 | |
screamer | 18:a15bfe7aaebd | 2253 | #define LSM6DSL_ACC_GYRO_TAP_X_EN_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 2254 | mems_status_t LSM6DSL_ACC_GYRO_W_TAP_X_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_X_EN_t newValue); |
screamer | 18:a15bfe7aaebd | 2255 | mems_status_t LSM6DSL_ACC_GYRO_R_TAP_X_EN(void *handle, LSM6DSL_ACC_GYRO_TAP_X_EN_t *value); |
screamer | 18:a15bfe7aaebd | 2256 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2257 | * Register : TAP_CFG1 |
screamer | 18:a15bfe7aaebd | 2258 | * Address : 0X58 |
screamer | 18:a15bfe7aaebd | 2259 | * Bit Group Name: SLOPE_FDS |
screamer | 18:a15bfe7aaebd | 2260 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2261 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2262 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2263 | LSM6DSL_ACC_GYRO_SLOPE_FDS_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2264 | LSM6DSL_ACC_GYRO_SLOPE_FDS_ENABLED =0x10, |
screamer | 18:a15bfe7aaebd | 2265 | } LSM6DSL_ACC_GYRO_SLOPE_FDS_t; |
screamer | 18:a15bfe7aaebd | 2266 | |
screamer | 18:a15bfe7aaebd | 2267 | #define LSM6DSL_ACC_GYRO_SLOPE_FDS_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 2268 | mems_status_t LSM6DSL_ACC_GYRO_W_SLOPE_FDS(void *handle, LSM6DSL_ACC_GYRO_SLOPE_FDS_t newValue); |
screamer | 18:a15bfe7aaebd | 2269 | mems_status_t LSM6DSL_ACC_GYRO_R_SLOPE_FDS(void *handle, LSM6DSL_ACC_GYRO_SLOPE_FDS_t *value); |
screamer | 18:a15bfe7aaebd | 2270 | |
screamer | 18:a15bfe7aaebd | 2271 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2272 | * Register : TAP_CFG1 |
screamer | 18:a15bfe7aaebd | 2273 | * Address : 0X58 |
screamer | 18:a15bfe7aaebd | 2274 | * Bit Group Name: INTERRUPTS_ENABLE |
screamer | 18:a15bfe7aaebd | 2275 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2276 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2277 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2278 | LSM6DSL_ACC_GYRO_BASIC_INT_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2279 | LSM6DSL_ACC_GYRO_BASIC_INT_ENABLED =0x80, |
screamer | 18:a15bfe7aaebd | 2280 | } LSM6DSL_ACC_GYRO_INT_EN_t; |
screamer | 18:a15bfe7aaebd | 2281 | |
screamer | 18:a15bfe7aaebd | 2282 | #define LSM6DSL_ACC_GYRO_INT_EN_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 2283 | mems_status_t LSM6DSL_ACC_GYRO_W_BASIC_INT(void *handle, LSM6DSL_ACC_GYRO_INT_EN_t newValue); |
screamer | 18:a15bfe7aaebd | 2284 | mems_status_t LSM6DSL_ACC_GYRO_R_BASIC_INT(void *handle, LSM6DSL_ACC_GYRO_INT_EN_t *value); |
screamer | 18:a15bfe7aaebd | 2285 | |
screamer | 18:a15bfe7aaebd | 2286 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2287 | * Register : TAP_THS_6D |
screamer | 18:a15bfe7aaebd | 2288 | * Address : 0X59 |
screamer | 18:a15bfe7aaebd | 2289 | * Bit Group Name: TAP_THS |
screamer | 18:a15bfe7aaebd | 2290 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2291 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2292 | #define LSM6DSL_ACC_GYRO_TAP_THS_MASK 0x1F |
screamer | 18:a15bfe7aaebd | 2293 | #define LSM6DSL_ACC_GYRO_TAP_THS_POSITION 0 |
screamer | 18:a15bfe7aaebd | 2294 | mems_status_t LSM6DSL_ACC_GYRO_W_TAP_THS(void *handle, u8_t newValue); |
screamer | 18:a15bfe7aaebd | 2295 | mems_status_t LSM6DSL_ACC_GYRO_R_TAP_THS(void *handle, u8_t *value); |
screamer | 18:a15bfe7aaebd | 2296 | |
screamer | 18:a15bfe7aaebd | 2297 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2298 | * Register : TAP_THS_6D |
screamer | 18:a15bfe7aaebd | 2299 | * Address : 0X59 |
screamer | 18:a15bfe7aaebd | 2300 | * Bit Group Name: SIXD_THS |
screamer | 18:a15bfe7aaebd | 2301 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2302 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2303 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2304 | LSM6DSL_ACC_GYRO_SIXD_THS_80_degree =0x00, |
screamer | 18:a15bfe7aaebd | 2305 | LSM6DSL_ACC_GYRO_SIXD_THS_70_degree =0x20, |
screamer | 18:a15bfe7aaebd | 2306 | LSM6DSL_ACC_GYRO_SIXD_THS_60_degree =0x40, |
screamer | 18:a15bfe7aaebd | 2307 | LSM6DSL_ACC_GYRO_SIXD_THS_50_degree =0x60, |
screamer | 18:a15bfe7aaebd | 2308 | } LSM6DSL_ACC_GYRO_SIXD_THS_t; |
screamer | 18:a15bfe7aaebd | 2309 | |
screamer | 18:a15bfe7aaebd | 2310 | #define LSM6DSL_ACC_GYRO_SIXD_THS_MASK 0x60 |
screamer | 18:a15bfe7aaebd | 2311 | mems_status_t LSM6DSL_ACC_GYRO_W_SIXD_THS(void *handle, LSM6DSL_ACC_GYRO_SIXD_THS_t newValue); |
screamer | 18:a15bfe7aaebd | 2312 | mems_status_t LSM6DSL_ACC_GYRO_R_SIXD_THS(void *handle, LSM6DSL_ACC_GYRO_SIXD_THS_t *value); |
screamer | 18:a15bfe7aaebd | 2313 | |
screamer | 18:a15bfe7aaebd | 2314 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2315 | * Register : TAP_THS_6D |
screamer | 18:a15bfe7aaebd | 2316 | * Address : 0X59 |
screamer | 18:a15bfe7aaebd | 2317 | * Bit Group Name: D4D_EN |
screamer | 18:a15bfe7aaebd | 2318 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2319 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2320 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2321 | LSM6DSL_ACC_GYRO_D4D_DIS =0x00, |
screamer | 18:a15bfe7aaebd | 2322 | LSM6DSL_ACC_GYRO_D4D_EN =0x80, |
screamer | 18:a15bfe7aaebd | 2323 | } LSM6DSL_ACC_GYRO_D4D_t; |
screamer | 18:a15bfe7aaebd | 2324 | |
screamer | 18:a15bfe7aaebd | 2325 | #define LSM6DSL_ACC_GYRO_D4D_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 2326 | mems_status_t LSM6DSL_ACC_GYRO_W_D4D(void *handle, LSM6DSL_ACC_GYRO_D4D_t newValue); |
screamer | 18:a15bfe7aaebd | 2327 | mems_status_t LSM6DSL_ACC_GYRO_R_D4D(void *handle, LSM6DSL_ACC_GYRO_D4D_t *value); |
screamer | 18:a15bfe7aaebd | 2328 | |
screamer | 18:a15bfe7aaebd | 2329 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2330 | * Register : INT_DUR2 |
screamer | 18:a15bfe7aaebd | 2331 | * Address : 0X5A |
screamer | 18:a15bfe7aaebd | 2332 | * Bit Group Name: SHOCK |
screamer | 18:a15bfe7aaebd | 2333 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2334 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2335 | #define LSM6DSL_ACC_GYRO_SHOCK_MASK 0x03 |
screamer | 18:a15bfe7aaebd | 2336 | #define LSM6DSL_ACC_GYRO_SHOCK_POSITION 0 |
screamer | 18:a15bfe7aaebd | 2337 | mems_status_t LSM6DSL_ACC_GYRO_W_SHOCK_Duration(void *handle, u8_t newValue); |
screamer | 18:a15bfe7aaebd | 2338 | mems_status_t LSM6DSL_ACC_GYRO_R_SHOCK_Duration(void *handle, u8_t *value); |
screamer | 18:a15bfe7aaebd | 2339 | |
screamer | 18:a15bfe7aaebd | 2340 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2341 | * Register : INT_DUR2 |
screamer | 18:a15bfe7aaebd | 2342 | * Address : 0X5A |
screamer | 18:a15bfe7aaebd | 2343 | * Bit Group Name: QUIET |
screamer | 18:a15bfe7aaebd | 2344 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2345 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2346 | #define LSM6DSL_ACC_GYRO_QUIET_MASK 0x0C |
screamer | 18:a15bfe7aaebd | 2347 | #define LSM6DSL_ACC_GYRO_QUIET_POSITION 2 |
screamer | 18:a15bfe7aaebd | 2348 | mems_status_t LSM6DSL_ACC_GYRO_W_QUIET_Duration(void *handle, u8_t newValue); |
screamer | 18:a15bfe7aaebd | 2349 | mems_status_t LSM6DSL_ACC_GYRO_R_QUIET_Duration(void *handle, u8_t *value); |
screamer | 18:a15bfe7aaebd | 2350 | |
screamer | 18:a15bfe7aaebd | 2351 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2352 | * Register : INT_DUR2 |
screamer | 18:a15bfe7aaebd | 2353 | * Address : 0X5A |
screamer | 18:a15bfe7aaebd | 2354 | * Bit Group Name: DUR |
screamer | 18:a15bfe7aaebd | 2355 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2356 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2357 | #define LSM6DSL_ACC_GYRO_DUR_MASK 0xF0 |
screamer | 18:a15bfe7aaebd | 2358 | #define LSM6DSL_ACC_GYRO_DUR_POSITION 4 |
screamer | 18:a15bfe7aaebd | 2359 | mems_status_t LSM6DSL_ACC_GYRO_W_DUR(void *handle, u8_t newValue); |
screamer | 18:a15bfe7aaebd | 2360 | mems_status_t LSM6DSL_ACC_GYRO_R_DUR(void *handle, u8_t *value); |
screamer | 18:a15bfe7aaebd | 2361 | |
screamer | 18:a15bfe7aaebd | 2362 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2363 | * Register : WAKE_UP_THS |
screamer | 18:a15bfe7aaebd | 2364 | * Address : 0X5B |
screamer | 18:a15bfe7aaebd | 2365 | * Bit Group Name: WK_THS |
screamer | 18:a15bfe7aaebd | 2366 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2367 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2368 | #define LSM6DSL_ACC_GYRO_WK_THS_MASK 0x3F |
screamer | 18:a15bfe7aaebd | 2369 | #define LSM6DSL_ACC_GYRO_WK_THS_POSITION 0 |
screamer | 18:a15bfe7aaebd | 2370 | mems_status_t LSM6DSL_ACC_GYRO_W_WK_THS(void *handle, u8_t newValue); |
screamer | 18:a15bfe7aaebd | 2371 | mems_status_t LSM6DSL_ACC_GYRO_R_WK_THS(void *handle, u8_t *value); |
screamer | 18:a15bfe7aaebd | 2372 | |
screamer | 18:a15bfe7aaebd | 2373 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2374 | * Register : WAKE_UP_THS |
screamer | 18:a15bfe7aaebd | 2375 | * Address : 0X5B |
screamer | 18:a15bfe7aaebd | 2376 | * Bit Group Name: SINGLE_DOUBLE_TAP |
screamer | 18:a15bfe7aaebd | 2377 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2378 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2379 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2380 | LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_SINGLE_TAP =0x00, |
screamer | 18:a15bfe7aaebd | 2381 | LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_DOUBLE_TAP =0x80, |
screamer | 18:a15bfe7aaebd | 2382 | } LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_t; |
screamer | 18:a15bfe7aaebd | 2383 | |
screamer | 18:a15bfe7aaebd | 2384 | #define LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 2385 | mems_status_t LSM6DSL_ACC_GYRO_W_SINGLE_DOUBLE_TAP_EV(void *handle, LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_t newValue); |
screamer | 18:a15bfe7aaebd | 2386 | mems_status_t LSM6DSL_ACC_GYRO_R_SINGLE_DOUBLE_TAP_EV(void *handle, LSM6DSL_ACC_GYRO_SINGLE_DOUBLE_TAP_t *value); |
screamer | 18:a15bfe7aaebd | 2387 | |
screamer | 18:a15bfe7aaebd | 2388 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2389 | * Register : WAKE_UP_DUR |
screamer | 18:a15bfe7aaebd | 2390 | * Address : 0X5C |
screamer | 18:a15bfe7aaebd | 2391 | * Bit Group Name: SLEEP_DUR |
screamer | 18:a15bfe7aaebd | 2392 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2393 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2394 | #define LSM6DSL_ACC_GYRO_SLEEP_DUR_MASK 0x0F |
screamer | 18:a15bfe7aaebd | 2395 | #define LSM6DSL_ACC_GYRO_SLEEP_DUR_POSITION 0 |
screamer | 18:a15bfe7aaebd | 2396 | mems_status_t LSM6DSL_ACC_GYRO_W_SLEEP_DUR(void *handle, u8_t newValue); |
screamer | 18:a15bfe7aaebd | 2397 | mems_status_t LSM6DSL_ACC_GYRO_R_SLEEP_DUR(void *handle, u8_t *value); |
screamer | 18:a15bfe7aaebd | 2398 | |
screamer | 18:a15bfe7aaebd | 2399 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2400 | * Register : WAKE_UP_DUR |
screamer | 18:a15bfe7aaebd | 2401 | * Address : 0X5C |
screamer | 18:a15bfe7aaebd | 2402 | * Bit Group Name: TIMER_HR |
screamer | 18:a15bfe7aaebd | 2403 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2404 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2405 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2406 | LSM6DSL_ACC_GYRO_TIMER_HR_6_4ms =0x00, |
screamer | 18:a15bfe7aaebd | 2407 | LSM6DSL_ACC_GYRO_TIMER_HR_25us =0x10, |
screamer | 18:a15bfe7aaebd | 2408 | } LSM6DSL_ACC_GYRO_TIMER_HR_t; |
screamer | 18:a15bfe7aaebd | 2409 | |
screamer | 18:a15bfe7aaebd | 2410 | #define LSM6DSL_ACC_GYRO_TIMER_HR_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 2411 | mems_status_t LSM6DSL_ACC_GYRO_W_TIMER_HR(void *handle, LSM6DSL_ACC_GYRO_TIMER_HR_t newValue); |
screamer | 18:a15bfe7aaebd | 2412 | mems_status_t LSM6DSL_ACC_GYRO_R_TIMER_HR(void *handle, LSM6DSL_ACC_GYRO_TIMER_HR_t *value); |
screamer | 18:a15bfe7aaebd | 2413 | |
screamer | 18:a15bfe7aaebd | 2414 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2415 | * Register : WAKE_UP_DUR |
screamer | 18:a15bfe7aaebd | 2416 | * Address : 0X5C |
screamer | 18:a15bfe7aaebd | 2417 | * Bit Group Name: WAKE_DUR |
screamer | 18:a15bfe7aaebd | 2418 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2419 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2420 | #define LSM6DSL_ACC_GYRO_WAKE_DUR_MASK 0x60 |
screamer | 18:a15bfe7aaebd | 2421 | #define LSM6DSL_ACC_GYRO_WAKE_DUR_POSITION 5 |
screamer | 18:a15bfe7aaebd | 2422 | mems_status_t LSM6DSL_ACC_GYRO_W_WAKE_DUR(void *handle, u8_t newValue); |
screamer | 18:a15bfe7aaebd | 2423 | mems_status_t LSM6DSL_ACC_GYRO_R_WAKE_DUR(void *handle, u8_t *value); |
screamer | 18:a15bfe7aaebd | 2424 | |
screamer | 18:a15bfe7aaebd | 2425 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2426 | * Register : FREE_FALL |
screamer | 18:a15bfe7aaebd | 2427 | * Address : 0X5D |
screamer | 18:a15bfe7aaebd | 2428 | * Bit Group Name: FF_DUR |
screamer | 18:a15bfe7aaebd | 2429 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2430 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2431 | #define LSM6DSL_ACC_GYRO_FF_FREE_FALL_DUR_MASK 0xF8 |
screamer | 18:a15bfe7aaebd | 2432 | #define LSM6DSL_ACC_GYRO_FF_FREE_FALL_DUR_POSITION 3 |
screamer | 18:a15bfe7aaebd | 2433 | #define LSM6DSL_ACC_GYRO_FF_WAKE_UP_DUR_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 2434 | #define LSM6DSL_ACC_GYRO_FF_WAKE_UP_DUR_POSITION 7 |
screamer | 18:a15bfe7aaebd | 2435 | mems_status_t LSM6DSL_ACC_GYRO_W_FF_Duration(void *handle, u8_t newValue); |
screamer | 18:a15bfe7aaebd | 2436 | mems_status_t LSM6DSL_ACC_GYRO_R_FF_Duration(void *handle, u8_t *value); |
screamer | 18:a15bfe7aaebd | 2437 | |
screamer | 18:a15bfe7aaebd | 2438 | |
screamer | 18:a15bfe7aaebd | 2439 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2440 | * Register : FREE_FALL |
screamer | 18:a15bfe7aaebd | 2441 | * Address : 0X5D |
screamer | 18:a15bfe7aaebd | 2442 | * Bit Group Name: FF_THS |
screamer | 18:a15bfe7aaebd | 2443 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2444 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2445 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2446 | LSM6DSL_ACC_GYRO_FF_THS_156mg =0x00, |
screamer | 18:a15bfe7aaebd | 2447 | LSM6DSL_ACC_GYRO_FF_THS_219mg =0x01, |
screamer | 18:a15bfe7aaebd | 2448 | LSM6DSL_ACC_GYRO_FF_THS_250mg =0x02, |
screamer | 18:a15bfe7aaebd | 2449 | LSM6DSL_ACC_GYRO_FF_THS_312mg =0x03, |
screamer | 18:a15bfe7aaebd | 2450 | LSM6DSL_ACC_GYRO_FF_THS_344mg =0x04, |
screamer | 18:a15bfe7aaebd | 2451 | LSM6DSL_ACC_GYRO_FF_THS_406mg =0x05, |
screamer | 18:a15bfe7aaebd | 2452 | LSM6DSL_ACC_GYRO_FF_THS_469mg =0x06, |
screamer | 18:a15bfe7aaebd | 2453 | LSM6DSL_ACC_GYRO_FF_THS_500mg =0x07, |
screamer | 18:a15bfe7aaebd | 2454 | } LSM6DSL_ACC_GYRO_FF_THS_t; |
screamer | 18:a15bfe7aaebd | 2455 | |
screamer | 18:a15bfe7aaebd | 2456 | #define LSM6DSL_ACC_GYRO_FF_THS_MASK 0x07 |
screamer | 18:a15bfe7aaebd | 2457 | mems_status_t LSM6DSL_ACC_GYRO_W_FF_THS(void *handle, LSM6DSL_ACC_GYRO_FF_THS_t newValue); |
screamer | 18:a15bfe7aaebd | 2458 | mems_status_t LSM6DSL_ACC_GYRO_R_FF_THS(void *handle, LSM6DSL_ACC_GYRO_FF_THS_t *value); |
screamer | 18:a15bfe7aaebd | 2459 | |
screamer | 18:a15bfe7aaebd | 2460 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2461 | * Register : MD1_CFG |
screamer | 18:a15bfe7aaebd | 2462 | * Address : 0X5E |
screamer | 18:a15bfe7aaebd | 2463 | * Bit Group Name: INT1_TIMER |
screamer | 18:a15bfe7aaebd | 2464 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2465 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2466 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2467 | LSM6DSL_ACC_GYRO_INT1_TIMER_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2468 | LSM6DSL_ACC_GYRO_INT1_TIMER_ENABLED =0x01, |
screamer | 18:a15bfe7aaebd | 2469 | } LSM6DSL_ACC_GYRO_INT1_TIMER_t; |
screamer | 18:a15bfe7aaebd | 2470 | |
screamer | 18:a15bfe7aaebd | 2471 | #define LSM6DSL_ACC_GYRO_INT1_TIMER_MASK 0x01 |
screamer | 18:a15bfe7aaebd | 2472 | mems_status_t LSM6DSL_ACC_GYRO_W_TimerEvRouteInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TIMER_t newValue); |
screamer | 18:a15bfe7aaebd | 2473 | mems_status_t LSM6DSL_ACC_GYRO_R_TimerEvRouteInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TIMER_t *value); |
screamer | 18:a15bfe7aaebd | 2474 | |
screamer | 18:a15bfe7aaebd | 2475 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2476 | * Register : MD1_CFG |
screamer | 18:a15bfe7aaebd | 2477 | * Address : 0X5E |
screamer | 18:a15bfe7aaebd | 2478 | * Bit Group Name: INT1_TILT |
screamer | 18:a15bfe7aaebd | 2479 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2480 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2481 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2482 | LSM6DSL_ACC_GYRO_INT1_TILT_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2483 | LSM6DSL_ACC_GYRO_INT1_TILT_ENABLED =0x02, |
screamer | 18:a15bfe7aaebd | 2484 | } LSM6DSL_ACC_GYRO_INT1_TILT_t; |
screamer | 18:a15bfe7aaebd | 2485 | |
screamer | 18:a15bfe7aaebd | 2486 | #define LSM6DSL_ACC_GYRO_INT1_TILT_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 2487 | mems_status_t LSM6DSL_ACC_GYRO_W_TiltEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TILT_t newValue); |
screamer | 18:a15bfe7aaebd | 2488 | mems_status_t LSM6DSL_ACC_GYRO_R_TiltEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TILT_t *value); |
screamer | 18:a15bfe7aaebd | 2489 | |
screamer | 18:a15bfe7aaebd | 2490 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2491 | * Register : MD1_CFG |
screamer | 18:a15bfe7aaebd | 2492 | * Address : 0X5E |
screamer | 18:a15bfe7aaebd | 2493 | * Bit Group Name: INT1_6D |
screamer | 18:a15bfe7aaebd | 2494 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2495 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2496 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2497 | LSM6DSL_ACC_GYRO_INT1_6D_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2498 | LSM6DSL_ACC_GYRO_INT1_6D_ENABLED =0x04, |
screamer | 18:a15bfe7aaebd | 2499 | } LSM6DSL_ACC_GYRO_INT1_6D_t; |
screamer | 18:a15bfe7aaebd | 2500 | |
screamer | 18:a15bfe7aaebd | 2501 | #define LSM6DSL_ACC_GYRO_INT1_6D_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 2502 | mems_status_t LSM6DSL_ACC_GYRO_W_6DEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_6D_t newValue); |
screamer | 18:a15bfe7aaebd | 2503 | mems_status_t LSM6DSL_ACC_GYRO_R_6DEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_6D_t *value); |
screamer | 18:a15bfe7aaebd | 2504 | |
screamer | 18:a15bfe7aaebd | 2505 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2506 | * Register : MD1_CFG |
screamer | 18:a15bfe7aaebd | 2507 | * Address : 0X5E |
screamer | 18:a15bfe7aaebd | 2508 | * Bit Group Name: INT1_TAP |
screamer | 18:a15bfe7aaebd | 2509 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2510 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2511 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2512 | LSM6DSL_ACC_GYRO_INT1_TAP_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2513 | LSM6DSL_ACC_GYRO_INT1_TAP_ENABLED =0x08, |
screamer | 18:a15bfe7aaebd | 2514 | } LSM6DSL_ACC_GYRO_INT1_TAP_t; |
screamer | 18:a15bfe7aaebd | 2515 | |
screamer | 18:a15bfe7aaebd | 2516 | #define LSM6DSL_ACC_GYRO_INT1_TAP_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 2517 | mems_status_t LSM6DSL_ACC_GYRO_W_TapEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TAP_t newValue); |
screamer | 18:a15bfe7aaebd | 2518 | mems_status_t LSM6DSL_ACC_GYRO_R_TapEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_TAP_t *value); |
screamer | 18:a15bfe7aaebd | 2519 | |
screamer | 18:a15bfe7aaebd | 2520 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2521 | * Register : MD1_CFG |
screamer | 18:a15bfe7aaebd | 2522 | * Address : 0X5E |
screamer | 18:a15bfe7aaebd | 2523 | * Bit Group Name: INT1_FF |
screamer | 18:a15bfe7aaebd | 2524 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2525 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2526 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2527 | LSM6DSL_ACC_GYRO_INT1_FF_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2528 | LSM6DSL_ACC_GYRO_INT1_FF_ENABLED =0x10, |
screamer | 18:a15bfe7aaebd | 2529 | } LSM6DSL_ACC_GYRO_INT1_FF_t; |
screamer | 18:a15bfe7aaebd | 2530 | |
screamer | 18:a15bfe7aaebd | 2531 | #define LSM6DSL_ACC_GYRO_INT1_FF_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 2532 | mems_status_t LSM6DSL_ACC_GYRO_W_FFEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_FF_t newValue); |
screamer | 18:a15bfe7aaebd | 2533 | mems_status_t LSM6DSL_ACC_GYRO_R_FFEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_FF_t *value); |
screamer | 18:a15bfe7aaebd | 2534 | |
screamer | 18:a15bfe7aaebd | 2535 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2536 | * Register : MD1_CFG |
screamer | 18:a15bfe7aaebd | 2537 | * Address : 0X5E |
screamer | 18:a15bfe7aaebd | 2538 | * Bit Group Name: INT1_WU |
screamer | 18:a15bfe7aaebd | 2539 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2540 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2541 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2542 | LSM6DSL_ACC_GYRO_INT1_WU_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2543 | LSM6DSL_ACC_GYRO_INT1_WU_ENABLED =0x20, |
screamer | 18:a15bfe7aaebd | 2544 | } LSM6DSL_ACC_GYRO_INT1_WU_t; |
screamer | 18:a15bfe7aaebd | 2545 | |
screamer | 18:a15bfe7aaebd | 2546 | #define LSM6DSL_ACC_GYRO_INT1_WU_MASK 0x20 |
screamer | 18:a15bfe7aaebd | 2547 | mems_status_t LSM6DSL_ACC_GYRO_W_WUEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_WU_t newValue); |
screamer | 18:a15bfe7aaebd | 2548 | mems_status_t LSM6DSL_ACC_GYRO_R_WUEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_WU_t *value); |
screamer | 18:a15bfe7aaebd | 2549 | |
screamer | 18:a15bfe7aaebd | 2550 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2551 | * Register : MD1_CFG |
screamer | 18:a15bfe7aaebd | 2552 | * Address : 0X5E |
screamer | 18:a15bfe7aaebd | 2553 | * Bit Group Name: INT1_SINGLE_TAP |
screamer | 18:a15bfe7aaebd | 2554 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2555 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2556 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2557 | LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2558 | LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_ENABLED =0x40, |
screamer | 18:a15bfe7aaebd | 2559 | } LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_t; |
screamer | 18:a15bfe7aaebd | 2560 | |
screamer | 18:a15bfe7aaebd | 2561 | #define LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 2562 | mems_status_t LSM6DSL_ACC_GYRO_W_SingleTapOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_t newValue); |
screamer | 18:a15bfe7aaebd | 2563 | mems_status_t LSM6DSL_ACC_GYRO_R_SingleTapOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SINGLE_TAP_t *value); |
screamer | 18:a15bfe7aaebd | 2564 | |
screamer | 18:a15bfe7aaebd | 2565 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2566 | * Register : MD1_CFG |
screamer | 18:a15bfe7aaebd | 2567 | * Address : 0X5E |
screamer | 18:a15bfe7aaebd | 2568 | * Bit Group Name: INT1_INACT_STATE |
screamer | 18:a15bfe7aaebd | 2569 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2570 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2571 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2572 | LSM6DSL_ACC_GYRO_INT1_SLEEP_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2573 | LSM6DSL_ACC_GYRO_INT1_SLEEP_ENABLED =0x80, |
screamer | 18:a15bfe7aaebd | 2574 | } LSM6DSL_ACC_GYRO_INT1_SLEEP_t; |
screamer | 18:a15bfe7aaebd | 2575 | |
screamer | 18:a15bfe7aaebd | 2576 | #define LSM6DSL_ACC_GYRO_INT1_SLEEP_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 2577 | mems_status_t LSM6DSL_ACC_GYRO_W_SleepEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SLEEP_t newValue); |
screamer | 18:a15bfe7aaebd | 2578 | mems_status_t LSM6DSL_ACC_GYRO_R_SleepEvOnInt1(void *handle, LSM6DSL_ACC_GYRO_INT1_SLEEP_t *value); |
screamer | 18:a15bfe7aaebd | 2579 | |
screamer | 18:a15bfe7aaebd | 2580 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2581 | * Register : MD2_CFG |
screamer | 18:a15bfe7aaebd | 2582 | * Address : 0X5F |
screamer | 18:a15bfe7aaebd | 2583 | * Bit Group Name: INT2_IRON |
screamer | 18:a15bfe7aaebd | 2584 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2585 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2586 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2587 | LSM6DSL_ACC_GYRO_INT2_IRON_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2588 | LSM6DSL_ACC_GYRO_INT2_IRON_ENABLED =0x01, |
screamer | 18:a15bfe7aaebd | 2589 | } LSM6DSL_ACC_GYRO_INT2_IRON_t; |
screamer | 18:a15bfe7aaebd | 2590 | |
screamer | 18:a15bfe7aaebd | 2591 | #define LSM6DSL_ACC_GYRO_INT2_IRON_MASK 0x01 |
screamer | 18:a15bfe7aaebd | 2592 | mems_status_t LSM6DSL_ACC_GYRO_W_MagCorrection_Int2(void *handle, LSM6DSL_ACC_GYRO_INT2_IRON_t newValue); |
screamer | 18:a15bfe7aaebd | 2593 | mems_status_t LSM6DSL_ACC_GYRO_R_MagCorrection_Int2(void *handle, LSM6DSL_ACC_GYRO_INT2_IRON_t *value); |
screamer | 18:a15bfe7aaebd | 2594 | |
screamer | 18:a15bfe7aaebd | 2595 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2596 | * Register : MD2_CFG |
screamer | 18:a15bfe7aaebd | 2597 | * Address : 0X5F |
screamer | 18:a15bfe7aaebd | 2598 | * Bit Group Name: INT2_TILT |
screamer | 18:a15bfe7aaebd | 2599 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2600 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2601 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2602 | LSM6DSL_ACC_GYRO_INT2_TILT_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2603 | LSM6DSL_ACC_GYRO_INT2_TILT_ENABLED =0x02, |
screamer | 18:a15bfe7aaebd | 2604 | } LSM6DSL_ACC_GYRO_INT2_TILT_t; |
screamer | 18:a15bfe7aaebd | 2605 | |
screamer | 18:a15bfe7aaebd | 2606 | #define LSM6DSL_ACC_GYRO_INT2_TILT_MASK 0x02 |
screamer | 18:a15bfe7aaebd | 2607 | mems_status_t LSM6DSL_ACC_GYRO_W_TiltEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TILT_t newValue); |
screamer | 18:a15bfe7aaebd | 2608 | mems_status_t LSM6DSL_ACC_GYRO_R_TiltEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TILT_t *value); |
screamer | 18:a15bfe7aaebd | 2609 | |
screamer | 18:a15bfe7aaebd | 2610 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2611 | * Register : MD2_CFG |
screamer | 18:a15bfe7aaebd | 2612 | * Address : 0X5F |
screamer | 18:a15bfe7aaebd | 2613 | * Bit Group Name: INT2_6D |
screamer | 18:a15bfe7aaebd | 2614 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2615 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2616 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2617 | LSM6DSL_ACC_GYRO_INT2_6D_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2618 | LSM6DSL_ACC_GYRO_INT2_6D_ENABLED =0x04, |
screamer | 18:a15bfe7aaebd | 2619 | } LSM6DSL_ACC_GYRO_INT2_6D_t; |
screamer | 18:a15bfe7aaebd | 2620 | |
screamer | 18:a15bfe7aaebd | 2621 | #define LSM6DSL_ACC_GYRO_INT2_6D_MASK 0x04 |
screamer | 18:a15bfe7aaebd | 2622 | mems_status_t LSM6DSL_ACC_GYRO_W_6DEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_6D_t newValue); |
screamer | 18:a15bfe7aaebd | 2623 | mems_status_t LSM6DSL_ACC_GYRO_R_6DEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_6D_t *value); |
screamer | 18:a15bfe7aaebd | 2624 | |
screamer | 18:a15bfe7aaebd | 2625 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2626 | * Register : MD2_CFG |
screamer | 18:a15bfe7aaebd | 2627 | * Address : 0X5F |
screamer | 18:a15bfe7aaebd | 2628 | * Bit Group Name: INT2_TAP |
screamer | 18:a15bfe7aaebd | 2629 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2630 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2631 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2632 | LSM6DSL_ACC_GYRO_INT2_TAP_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2633 | LSM6DSL_ACC_GYRO_INT2_TAP_ENABLED =0x08, |
screamer | 18:a15bfe7aaebd | 2634 | } LSM6DSL_ACC_GYRO_INT2_TAP_t; |
screamer | 18:a15bfe7aaebd | 2635 | |
screamer | 18:a15bfe7aaebd | 2636 | #define LSM6DSL_ACC_GYRO_INT2_TAP_MASK 0x08 |
screamer | 18:a15bfe7aaebd | 2637 | mems_status_t LSM6DSL_ACC_GYRO_W_TapEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TAP_t newValue); |
screamer | 18:a15bfe7aaebd | 2638 | mems_status_t LSM6DSL_ACC_GYRO_R_TapEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_TAP_t *value); |
screamer | 18:a15bfe7aaebd | 2639 | |
screamer | 18:a15bfe7aaebd | 2640 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2641 | * Register : MD2_CFG |
screamer | 18:a15bfe7aaebd | 2642 | * Address : 0X5F |
screamer | 18:a15bfe7aaebd | 2643 | * Bit Group Name: INT2_FF |
screamer | 18:a15bfe7aaebd | 2644 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2645 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2646 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2647 | LSM6DSL_ACC_GYRO_INT2_FF_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2648 | LSM6DSL_ACC_GYRO_INT2_FF_ENABLED =0x10, |
screamer | 18:a15bfe7aaebd | 2649 | } LSM6DSL_ACC_GYRO_INT2_FF_t; |
screamer | 18:a15bfe7aaebd | 2650 | |
screamer | 18:a15bfe7aaebd | 2651 | #define LSM6DSL_ACC_GYRO_INT2_FF_MASK 0x10 |
screamer | 18:a15bfe7aaebd | 2652 | mems_status_t LSM6DSL_ACC_GYRO_W_FFEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_FF_t newValue); |
screamer | 18:a15bfe7aaebd | 2653 | mems_status_t LSM6DSL_ACC_GYRO_R_FFEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_FF_t *value); |
screamer | 18:a15bfe7aaebd | 2654 | |
screamer | 18:a15bfe7aaebd | 2655 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2656 | * Register : MD2_CFG |
screamer | 18:a15bfe7aaebd | 2657 | * Address : 0X5F |
screamer | 18:a15bfe7aaebd | 2658 | * Bit Group Name: INT2_WU |
screamer | 18:a15bfe7aaebd | 2659 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2660 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2661 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2662 | LSM6DSL_ACC_GYRO_INT2_WU_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2663 | LSM6DSL_ACC_GYRO_INT2_WU_ENABLED =0x20, |
screamer | 18:a15bfe7aaebd | 2664 | } LSM6DSL_ACC_GYRO_INT2_WU_t; |
screamer | 18:a15bfe7aaebd | 2665 | |
screamer | 18:a15bfe7aaebd | 2666 | #define LSM6DSL_ACC_GYRO_INT2_WU_MASK 0x20 |
screamer | 18:a15bfe7aaebd | 2667 | mems_status_t LSM6DSL_ACC_GYRO_W_WUEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_WU_t newValue); |
screamer | 18:a15bfe7aaebd | 2668 | mems_status_t LSM6DSL_ACC_GYRO_R_WUEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_WU_t *value); |
screamer | 18:a15bfe7aaebd | 2669 | |
screamer | 18:a15bfe7aaebd | 2670 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2671 | * Register : MD2_CFG |
screamer | 18:a15bfe7aaebd | 2672 | * Address : 0X5F |
screamer | 18:a15bfe7aaebd | 2673 | * Bit Group Name: INT2_SINGLE_TAP |
screamer | 18:a15bfe7aaebd | 2674 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2675 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2676 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2677 | LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2678 | LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_ENABLED =0x40, |
screamer | 18:a15bfe7aaebd | 2679 | } LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_t; |
screamer | 18:a15bfe7aaebd | 2680 | |
screamer | 18:a15bfe7aaebd | 2681 | #define LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_MASK 0x40 |
screamer | 18:a15bfe7aaebd | 2682 | mems_status_t LSM6DSL_ACC_GYRO_W_SingleTapOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_t newValue); |
screamer | 18:a15bfe7aaebd | 2683 | mems_status_t LSM6DSL_ACC_GYRO_R_SingleTapOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SINGLE_TAP_t *value); |
screamer | 18:a15bfe7aaebd | 2684 | |
screamer | 18:a15bfe7aaebd | 2685 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2686 | * Register : MD2_CFG |
screamer | 18:a15bfe7aaebd | 2687 | * Address : 0X5F |
screamer | 18:a15bfe7aaebd | 2688 | * Bit Group Name: INT2_INACT_STATE |
screamer | 18:a15bfe7aaebd | 2689 | * Permission : RW |
screamer | 18:a15bfe7aaebd | 2690 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2691 | typedef enum { |
screamer | 18:a15bfe7aaebd | 2692 | LSM6DSL_ACC_GYRO_INT2_SLEEP_DISABLED =0x00, |
screamer | 18:a15bfe7aaebd | 2693 | LSM6DSL_ACC_GYRO_INT2_SLEEP_ENABLED =0x80, |
screamer | 18:a15bfe7aaebd | 2694 | } LSM6DSL_ACC_GYRO_INT2_SLEEP_t; |
screamer | 18:a15bfe7aaebd | 2695 | |
screamer | 18:a15bfe7aaebd | 2696 | #define LSM6DSL_ACC_GYRO_INT2_SLEEP_MASK 0x80 |
screamer | 18:a15bfe7aaebd | 2697 | mems_status_t LSM6DSL_ACC_GYRO_W_SleepEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SLEEP_t newValue); |
screamer | 18:a15bfe7aaebd | 2698 | mems_status_t LSM6DSL_ACC_GYRO_R_SleepEvOnInt2(void *handle, LSM6DSL_ACC_GYRO_INT2_SLEEP_t *value); |
screamer | 18:a15bfe7aaebd | 2699 | |
screamer | 18:a15bfe7aaebd | 2700 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2701 | * Register : <REGISTER_L> - <REGISTER_H> |
screamer | 18:a15bfe7aaebd | 2702 | * Output Type : GetAccData |
screamer | 18:a15bfe7aaebd | 2703 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2704 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2705 | mems_status_t LSM6DSL_ACC_GYRO_GetRawAccData(void *handle, u8_t *buff); |
screamer | 18:a15bfe7aaebd | 2706 | mems_status_t LSM6DSL_ACC_Get_Acceleration(void *handle, int *buff, u8_t from_fifo); |
screamer | 18:a15bfe7aaebd | 2707 | |
screamer | 18:a15bfe7aaebd | 2708 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2709 | * Register : <REGISTER_L> - <REGISTER_H> |
screamer | 18:a15bfe7aaebd | 2710 | * Output Type : GetFIFOData |
screamer | 18:a15bfe7aaebd | 2711 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2712 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2713 | mems_status_t LSM6DSL_ACC_GYRO_Get_GetFIFOData(void *handle, u8_t *buff); |
screamer | 18:a15bfe7aaebd | 2714 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2715 | * Register : <REGISTER_L> - <REGISTER_H> |
screamer | 18:a15bfe7aaebd | 2716 | * Output Type : GetTimestamp |
screamer | 18:a15bfe7aaebd | 2717 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2718 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2719 | mems_status_t LSM6DSL_ACC_GYRO_Get_GetTimestamp(void *handle, u8_t *buff); |
screamer | 18:a15bfe7aaebd | 2720 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2721 | * Register : <REGISTER_L> - <REGISTER_H> |
screamer | 18:a15bfe7aaebd | 2722 | * Output Type : GetStepCounter |
screamer | 18:a15bfe7aaebd | 2723 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2724 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2725 | mems_status_t LSM6DSL_ACC_GYRO_Get_GetStepCounter(void *handle, u8_t *buff); |
screamer | 18:a15bfe7aaebd | 2726 | |
screamer | 18:a15bfe7aaebd | 2727 | /******************************************************************************* |
screamer | 18:a15bfe7aaebd | 2728 | * Register : <REGISTER_L> - <REGISTER_H> |
screamer | 18:a15bfe7aaebd | 2729 | * Output Type : Pedometer Threshold |
screamer | 18:a15bfe7aaebd | 2730 | * Permission : RO |
screamer | 18:a15bfe7aaebd | 2731 | *******************************************************************************/ |
screamer | 18:a15bfe7aaebd | 2732 | mems_status_t LSM6DSL_ACC_GYRO_W_PedoThreshold(void *handle, u8_t newValue); |
screamer | 18:a15bfe7aaebd | 2733 | |
screamer | 18:a15bfe7aaebd | 2734 | /************** Use Sensor Hub *******************/ |
screamer | 18:a15bfe7aaebd | 2735 | |
screamer | 18:a15bfe7aaebd | 2736 | /* program to .... */ |
screamer | 18:a15bfe7aaebd | 2737 | mems_status_t LSM6DSL_ACC_GYRO_SH0_Program(void *handle, u8_t SlvAddr, u8_t Reg, u8_t len); |
screamer | 18:a15bfe7aaebd | 2738 | |
screamer | 18:a15bfe7aaebd | 2739 | /* Program the six Soft Iron Matrix coefficients. */ |
screamer | 18:a15bfe7aaebd | 2740 | mems_status_t LSM6DSL_ACC_GYRO_SH_init_SI_Matrix(void *handle, u8_t *SI_matrix); |
screamer | 18:a15bfe7aaebd | 2741 | |
screamer | 18:a15bfe7aaebd | 2742 | /* Read a remote device through I2C Sensor Hub Slave 0 */ |
screamer | 18:a15bfe7aaebd | 2743 | mems_status_t LSM6DSL_ACC_GYRO_SH0_ReadMem(void *handle, u8_t SlvAddr, u8_t Reg, u8_t *Bufp, u8_t len, u8_t stop); |
screamer | 18:a15bfe7aaebd | 2744 | |
screamer | 18:a15bfe7aaebd | 2745 | /* Write a remote device through I2C Sensor Hub Slave 0 */ |
screamer | 18:a15bfe7aaebd | 2746 | mems_status_t LSM6DSL_ACC_GYRO_SH0_WriteByte(void *handle, u8_t SlvAddr, u8_t Reg, u8_t Bufp); |
screamer | 18:a15bfe7aaebd | 2747 | |
screamer | 18:a15bfe7aaebd | 2748 | #ifdef __cplusplus |
screamer | 18:a15bfe7aaebd | 2749 | } |
screamer | 18:a15bfe7aaebd | 2750 | #endif |
screamer | 18:a15bfe7aaebd | 2751 | |
screamer | 18:a15bfe7aaebd | 2752 | #endif |