Example of single tap and double tap detection for LSM6DSL in X-NUCLEO-IKS01A2

Dependencies:   X_NUCLEO_IKS01A2 mbed

Fork of SingleDoubleTap_IKS01A2 by ST Expansion SW Team

Single and Double Tap Demo Application based on sensor expansion board X-NUCLEO-IKS01A2

Main function is to show how to detect the single and double tap events using the sensor expansion board and send a notification using UART to a connected PC or Desktop and display it on terminal applications like TeraTerm.
After connection has been established:
- the user can try to tap the board and then view the notification using an hyper terminal. When the single tap is detected, the LED is switched on for a while.
- the user can press the user button to pass from the single tap detection to the double tap detection feature. The user can try to double tap the board and then view the notification using an hyper terminal. When the double tap is detected, the LED is switched on twice for a while.
- the user can press again the user button to disable the single and double tap detection feature.
- the user can press the user button to enable again the single tap detection feature and so on.

Committer:
cparata
Date:
Fri Aug 12 13:42:02 2016 +0000
Revision:
0:e4f89df7a7a5
First release of Single/Double Tap for LSM6DSL in IKS01A2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cparata 0:e4f89df7a7a5 1 /**
cparata 0:e4f89df7a7a5 2 ******************************************************************************
cparata 0:e4f89df7a7a5 3 * @file LSM303AGR_ACC_driver.h
cparata 0:e4f89df7a7a5 4 * @author MEMS Application Team
cparata 0:e4f89df7a7a5 5 * @version V1.1
cparata 0:e4f89df7a7a5 6 * @date 24-February-2016
cparata 0:e4f89df7a7a5 7 * @brief LSM303AGR Accelerometer header driver file
cparata 0:e4f89df7a7a5 8 ******************************************************************************
cparata 0:e4f89df7a7a5 9 * @attention
cparata 0:e4f89df7a7a5 10 *
cparata 0:e4f89df7a7a5 11 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
cparata 0:e4f89df7a7a5 12 *
cparata 0:e4f89df7a7a5 13 * Redistribution and use in source and binary forms, with or without modification,
cparata 0:e4f89df7a7a5 14 * are permitted provided that the following conditions are met:
cparata 0:e4f89df7a7a5 15 * 1. Redistributions of source code must retain the above copyright notice,
cparata 0:e4f89df7a7a5 16 * this list of conditions and the following disclaimer.
cparata 0:e4f89df7a7a5 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
cparata 0:e4f89df7a7a5 18 * this list of conditions and the following disclaimer in the documentation
cparata 0:e4f89df7a7a5 19 * and/or other materials provided with the distribution.
cparata 0:e4f89df7a7a5 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
cparata 0:e4f89df7a7a5 21 * may be used to endorse or promote products derived from this software
cparata 0:e4f89df7a7a5 22 * without specific prior written permission.
cparata 0:e4f89df7a7a5 23 *
cparata 0:e4f89df7a7a5 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
cparata 0:e4f89df7a7a5 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
cparata 0:e4f89df7a7a5 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
cparata 0:e4f89df7a7a5 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
cparata 0:e4f89df7a7a5 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
cparata 0:e4f89df7a7a5 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
cparata 0:e4f89df7a7a5 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
cparata 0:e4f89df7a7a5 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
cparata 0:e4f89df7a7a5 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
cparata 0:e4f89df7a7a5 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
cparata 0:e4f89df7a7a5 34 *
cparata 0:e4f89df7a7a5 35 ******************************************************************************
cparata 0:e4f89df7a7a5 36 */
cparata 0:e4f89df7a7a5 37
cparata 0:e4f89df7a7a5 38 /* Define to prevent recursive inclusion -------------------------------------*/
cparata 0:e4f89df7a7a5 39 #ifndef __LSM303AGR_ACC_DRIVER__H
cparata 0:e4f89df7a7a5 40 #define __LSM303AGR_ACC_DRIVER__H
cparata 0:e4f89df7a7a5 41
cparata 0:e4f89df7a7a5 42 /* Includes ------------------------------------------------------------------*/
cparata 0:e4f89df7a7a5 43 #include <stdint.h>
cparata 0:e4f89df7a7a5 44
cparata 0:e4f89df7a7a5 45 /* Exported types ------------------------------------------------------------*/
cparata 0:e4f89df7a7a5 46
cparata 0:e4f89df7a7a5 47 #ifdef __cplusplus
cparata 0:e4f89df7a7a5 48 extern "C" {
cparata 0:e4f89df7a7a5 49 #endif
cparata 0:e4f89df7a7a5 50
cparata 0:e4f89df7a7a5 51 //these could change accordingly with the architecture
cparata 0:e4f89df7a7a5 52
cparata 0:e4f89df7a7a5 53 #ifndef __ARCHDEP__TYPES
cparata 0:e4f89df7a7a5 54 #define __ARCHDEP__TYPES
cparata 0:e4f89df7a7a5 55
cparata 0:e4f89df7a7a5 56 typedef unsigned char u8_t;
cparata 0:e4f89df7a7a5 57 typedef unsigned short int u16_t;
cparata 0:e4f89df7a7a5 58 typedef unsigned int u32_t;
cparata 0:e4f89df7a7a5 59 typedef int i32_t;
cparata 0:e4f89df7a7a5 60 typedef short int i16_t;
cparata 0:e4f89df7a7a5 61 typedef signed char i8_t;
cparata 0:e4f89df7a7a5 62
cparata 0:e4f89df7a7a5 63 #endif /*__ARCHDEP__TYPES*/
cparata 0:e4f89df7a7a5 64
cparata 0:e4f89df7a7a5 65 /* Exported common structure --------------------------------------------------------*/
cparata 0:e4f89df7a7a5 66
cparata 0:e4f89df7a7a5 67 #ifndef __SHARED__TYPES
cparata 0:e4f89df7a7a5 68 #define __SHARED__TYPES
cparata 0:e4f89df7a7a5 69
cparata 0:e4f89df7a7a5 70 typedef union{
cparata 0:e4f89df7a7a5 71 i16_t i16bit[3];
cparata 0:e4f89df7a7a5 72 u8_t u8bit[6];
cparata 0:e4f89df7a7a5 73 } Type3Axis16bit_U;
cparata 0:e4f89df7a7a5 74
cparata 0:e4f89df7a7a5 75 typedef union{
cparata 0:e4f89df7a7a5 76 i16_t i16bit;
cparata 0:e4f89df7a7a5 77 u8_t u8bit[2];
cparata 0:e4f89df7a7a5 78 } Type1Axis16bit_U;
cparata 0:e4f89df7a7a5 79
cparata 0:e4f89df7a7a5 80 typedef union{
cparata 0:e4f89df7a7a5 81 i32_t i32bit;
cparata 0:e4f89df7a7a5 82 u8_t u8bit[4];
cparata 0:e4f89df7a7a5 83 } Type1Axis32bit_U;
cparata 0:e4f89df7a7a5 84
cparata 0:e4f89df7a7a5 85 typedef enum {
cparata 0:e4f89df7a7a5 86 MEMS_SUCCESS = 0x01,
cparata 0:e4f89df7a7a5 87 MEMS_ERROR = 0x00
cparata 0:e4f89df7a7a5 88 } status_t;
cparata 0:e4f89df7a7a5 89
cparata 0:e4f89df7a7a5 90 #endif /*__SHARED__TYPES*/
cparata 0:e4f89df7a7a5 91
cparata 0:e4f89df7a7a5 92 /* Exported macro ------------------------------------------------------------*/
cparata 0:e4f89df7a7a5 93
cparata 0:e4f89df7a7a5 94 /* Exported constants --------------------------------------------------------*/
cparata 0:e4f89df7a7a5 95
cparata 0:e4f89df7a7a5 96 /************** I2C Address *****************/
cparata 0:e4f89df7a7a5 97
cparata 0:e4f89df7a7a5 98 #define LSM303AGR_ACC_I2C_ADDRESS 0x32
cparata 0:e4f89df7a7a5 99
cparata 0:e4f89df7a7a5 100 /************** Who am I *******************/
cparata 0:e4f89df7a7a5 101
cparata 0:e4f89df7a7a5 102 #define LSM303AGR_ACC_WHO_AM_I 0x33
cparata 0:e4f89df7a7a5 103
cparata 0:e4f89df7a7a5 104 /* Private Function Prototype -------------------------------------------------------*/
cparata 0:e4f89df7a7a5 105
cparata 0:e4f89df7a7a5 106 void LSM303AGR_ACC_SwapHighLowByte(u8_t *bufferToSwap, u8_t numberOfByte, u8_t dimension);
cparata 0:e4f89df7a7a5 107
cparata 0:e4f89df7a7a5 108 /* Public Function Prototypes ------------------------------------------------*/
cparata 0:e4f89df7a7a5 109
cparata 0:e4f89df7a7a5 110 status_t LSM303AGR_ACC_ReadReg( void *handle, u8_t Reg, u8_t* Data );
cparata 0:e4f89df7a7a5 111 status_t LSM303AGR_ACC_WriteReg( void *handle, u8_t Reg, u8_t Data );
cparata 0:e4f89df7a7a5 112
cparata 0:e4f89df7a7a5 113
cparata 0:e4f89df7a7a5 114 /************** Device Register *******************/
cparata 0:e4f89df7a7a5 115 #define LSM303AGR_ACC_STATUS_REG_AUX 0X07
cparata 0:e4f89df7a7a5 116 #define LSM303AGR_ACC_OUT_ADC1_L 0X08
cparata 0:e4f89df7a7a5 117 #define LSM303AGR_ACC_OUT_ADC1_H 0X09
cparata 0:e4f89df7a7a5 118 #define LSM303AGR_ACC_OUT_ADC2_L 0X0A
cparata 0:e4f89df7a7a5 119 #define LSM303AGR_ACC_OUT_ADC2_H 0X0B
cparata 0:e4f89df7a7a5 120 #define LSM303AGR_ACC_OUT_ADC3_L 0X0C
cparata 0:e4f89df7a7a5 121 #define LSM303AGR_ACC_OUT_ADC3_H 0X0D
cparata 0:e4f89df7a7a5 122 #define LSM303AGR_ACC_INT_COUNTER_REG 0X0E
cparata 0:e4f89df7a7a5 123 #define LSM303AGR_ACC_WHO_AM_I_REG 0X0F
cparata 0:e4f89df7a7a5 124 #define LSM303AGR_ACC_TEMP_CFG_REG 0X1F
cparata 0:e4f89df7a7a5 125 #define LSM303AGR_ACC_CTRL_REG1 0X20
cparata 0:e4f89df7a7a5 126 #define LSM303AGR_ACC_CTRL_REG2 0X21
cparata 0:e4f89df7a7a5 127 #define LSM303AGR_ACC_CTRL_REG3 0X22
cparata 0:e4f89df7a7a5 128 #define LSM303AGR_ACC_CTRL_REG4 0X23
cparata 0:e4f89df7a7a5 129 #define LSM303AGR_ACC_CTRL_REG5 0X24
cparata 0:e4f89df7a7a5 130 #define LSM303AGR_ACC_CTRL_REG6 0X25
cparata 0:e4f89df7a7a5 131 #define LSM303AGR_ACC_REFERENCE 0X26
cparata 0:e4f89df7a7a5 132 #define LSM303AGR_ACC_STATUS_REG2 0X27
cparata 0:e4f89df7a7a5 133 #define LSM303AGR_ACC_OUT_X_L 0X28
cparata 0:e4f89df7a7a5 134 #define LSM303AGR_ACC_OUT_X_H 0X29
cparata 0:e4f89df7a7a5 135 #define LSM303AGR_ACC_OUT_Y_L 0X2A
cparata 0:e4f89df7a7a5 136 #define LSM303AGR_ACC_OUT_Y_H 0X2B
cparata 0:e4f89df7a7a5 137 #define LSM303AGR_ACC_OUT_Z_L 0X2C
cparata 0:e4f89df7a7a5 138 #define LSM303AGR_ACC_OUT_Z_H 0X2D
cparata 0:e4f89df7a7a5 139 #define LSM303AGR_ACC_FIFO_CTRL_REG 0X2E
cparata 0:e4f89df7a7a5 140 #define LSM303AGR_ACC_FIFO_SRC_REG 0X2F
cparata 0:e4f89df7a7a5 141 #define LSM303AGR_ACC_INT1_CFG 0X30
cparata 0:e4f89df7a7a5 142 #define LSM303AGR_ACC_INT1_SOURCE 0X31
cparata 0:e4f89df7a7a5 143 #define LSM303AGR_ACC_INT1_THS 0X32
cparata 0:e4f89df7a7a5 144 #define LSM303AGR_ACC_INT1_DURATION 0X33
cparata 0:e4f89df7a7a5 145 #define LSM303AGR_ACC_INT2_CFG 0X34
cparata 0:e4f89df7a7a5 146 #define LSM303AGR_ACC_INT2_SOURCE 0X35
cparata 0:e4f89df7a7a5 147 #define LSM303AGR_ACC_INT2_THS 0X36
cparata 0:e4f89df7a7a5 148 #define LSM303AGR_ACC_INT2_DURATION 0X37
cparata 0:e4f89df7a7a5 149 #define LSM303AGR_ACC_CLICK_CFG 0X38
cparata 0:e4f89df7a7a5 150 #define LSM303AGR_ACC_CLICK_SRC 0X39
cparata 0:e4f89df7a7a5 151 #define LSM303AGR_ACC_CLICK_THS 0X3A
cparata 0:e4f89df7a7a5 152 #define LSM303AGR_ACC_TIME_LIMIT 0X3B
cparata 0:e4f89df7a7a5 153 #define LSM303AGR_ACC_TIME_LATENCY 0X3C
cparata 0:e4f89df7a7a5 154 #define LSM303AGR_ACC_TIME_WINDOW 0X3D
cparata 0:e4f89df7a7a5 155
cparata 0:e4f89df7a7a5 156 /*******************************************************************************
cparata 0:e4f89df7a7a5 157 * Register : STATUS_REG_AUX
cparata 0:e4f89df7a7a5 158 * Address : 0X07
cparata 0:e4f89df7a7a5 159 * Bit Group Name: 1DA
cparata 0:e4f89df7a7a5 160 * Permission : RO
cparata 0:e4f89df7a7a5 161 *******************************************************************************/
cparata 0:e4f89df7a7a5 162 typedef enum {
cparata 0:e4f89df7a7a5 163 LSM303AGR_ACC_1DA_NOT_AVAILABLE =0x00,
cparata 0:e4f89df7a7a5 164 LSM303AGR_ACC_1DA_AVAILABLE =0x01,
cparata 0:e4f89df7a7a5 165 } LSM303AGR_ACC_1DA_t;
cparata 0:e4f89df7a7a5 166
cparata 0:e4f89df7a7a5 167 #define LSM303AGR_ACC_1DA_MASK 0x01
cparata 0:e4f89df7a7a5 168 status_t LSM303AGR_ACC_R_x_data_avail(void *handle, LSM303AGR_ACC_1DA_t *value);
cparata 0:e4f89df7a7a5 169
cparata 0:e4f89df7a7a5 170 /*******************************************************************************
cparata 0:e4f89df7a7a5 171 * Register : STATUS_REG_AUX
cparata 0:e4f89df7a7a5 172 * Address : 0X07
cparata 0:e4f89df7a7a5 173 * Bit Group Name: 2DA_
cparata 0:e4f89df7a7a5 174 * Permission : RO
cparata 0:e4f89df7a7a5 175 *******************************************************************************/
cparata 0:e4f89df7a7a5 176 typedef enum {
cparata 0:e4f89df7a7a5 177 LSM303AGR_ACC_2DA__NOT_AVAILABLE =0x00,
cparata 0:e4f89df7a7a5 178 LSM303AGR_ACC_2DA__AVAILABLE =0x02,
cparata 0:e4f89df7a7a5 179 } LSM303AGR_ACC_2DA__t;
cparata 0:e4f89df7a7a5 180
cparata 0:e4f89df7a7a5 181 #define LSM303AGR_ACC_2DA__MASK 0x02
cparata 0:e4f89df7a7a5 182 status_t LSM303AGR_ACC_R_y_data_avail(void *handle, LSM303AGR_ACC_2DA__t *value);
cparata 0:e4f89df7a7a5 183
cparata 0:e4f89df7a7a5 184 /*******************************************************************************
cparata 0:e4f89df7a7a5 185 * Register : STATUS_REG_AUX
cparata 0:e4f89df7a7a5 186 * Address : 0X07
cparata 0:e4f89df7a7a5 187 * Bit Group Name: 3DA_
cparata 0:e4f89df7a7a5 188 * Permission : RO
cparata 0:e4f89df7a7a5 189 *******************************************************************************/
cparata 0:e4f89df7a7a5 190 typedef enum {
cparata 0:e4f89df7a7a5 191 LSM303AGR_ACC_3DA__NOT_AVAILABLE =0x00,
cparata 0:e4f89df7a7a5 192 LSM303AGR_ACC_3DA__AVAILABLE =0x04,
cparata 0:e4f89df7a7a5 193 } LSM303AGR_ACC_3DA__t;
cparata 0:e4f89df7a7a5 194
cparata 0:e4f89df7a7a5 195 #define LSM303AGR_ACC_3DA__MASK 0x04
cparata 0:e4f89df7a7a5 196 status_t LSM303AGR_ACC_R_z_data_avail(void *handle, LSM303AGR_ACC_3DA__t *value);
cparata 0:e4f89df7a7a5 197
cparata 0:e4f89df7a7a5 198 /*******************************************************************************
cparata 0:e4f89df7a7a5 199 * Register : STATUS_REG_AUX
cparata 0:e4f89df7a7a5 200 * Address : 0X07
cparata 0:e4f89df7a7a5 201 * Bit Group Name: 321DA_
cparata 0:e4f89df7a7a5 202 * Permission : RO
cparata 0:e4f89df7a7a5 203 *******************************************************************************/
cparata 0:e4f89df7a7a5 204 typedef enum {
cparata 0:e4f89df7a7a5 205 LSM303AGR_ACC_321DA__NOT_AVAILABLE =0x00,
cparata 0:e4f89df7a7a5 206 LSM303AGR_ACC_321DA__AVAILABLE =0x08,
cparata 0:e4f89df7a7a5 207 } LSM303AGR_ACC_321DA__t;
cparata 0:e4f89df7a7a5 208
cparata 0:e4f89df7a7a5 209 #define LSM303AGR_ACC_321DA__MASK 0x08
cparata 0:e4f89df7a7a5 210 status_t LSM303AGR_ACC_R_xyz_data_avail(void *handle, LSM303AGR_ACC_321DA__t *value);
cparata 0:e4f89df7a7a5 211
cparata 0:e4f89df7a7a5 212 /*******************************************************************************
cparata 0:e4f89df7a7a5 213 * Register : STATUS_REG_AUX
cparata 0:e4f89df7a7a5 214 * Address : 0X07
cparata 0:e4f89df7a7a5 215 * Bit Group Name: 1OR_
cparata 0:e4f89df7a7a5 216 * Permission : RO
cparata 0:e4f89df7a7a5 217 *******************************************************************************/
cparata 0:e4f89df7a7a5 218 typedef enum {
cparata 0:e4f89df7a7a5 219 LSM303AGR_ACC_1OR__NO_OVERRUN =0x00,
cparata 0:e4f89df7a7a5 220 LSM303AGR_ACC_1OR__OVERRUN =0x10,
cparata 0:e4f89df7a7a5 221 } LSM303AGR_ACC_1OR__t;
cparata 0:e4f89df7a7a5 222
cparata 0:e4f89df7a7a5 223 #define LSM303AGR_ACC_1OR__MASK 0x10
cparata 0:e4f89df7a7a5 224 status_t LSM303AGR_ACC_R_DataXOverrun(void *handle, LSM303AGR_ACC_1OR__t *value);
cparata 0:e4f89df7a7a5 225
cparata 0:e4f89df7a7a5 226 /*******************************************************************************
cparata 0:e4f89df7a7a5 227 * Register : STATUS_REG_AUX
cparata 0:e4f89df7a7a5 228 * Address : 0X07
cparata 0:e4f89df7a7a5 229 * Bit Group Name: 2OR_
cparata 0:e4f89df7a7a5 230 * Permission : RO
cparata 0:e4f89df7a7a5 231 *******************************************************************************/
cparata 0:e4f89df7a7a5 232 typedef enum {
cparata 0:e4f89df7a7a5 233 LSM303AGR_ACC_2OR__NO_OVERRUN =0x00,
cparata 0:e4f89df7a7a5 234 LSM303AGR_ACC_2OR__OVERRUN =0x20,
cparata 0:e4f89df7a7a5 235 } LSM303AGR_ACC_2OR__t;
cparata 0:e4f89df7a7a5 236
cparata 0:e4f89df7a7a5 237 #define LSM303AGR_ACC_2OR__MASK 0x20
cparata 0:e4f89df7a7a5 238 status_t LSM303AGR_ACC_R_DataYOverrun(void *handle, LSM303AGR_ACC_2OR__t *value);
cparata 0:e4f89df7a7a5 239
cparata 0:e4f89df7a7a5 240 /*******************************************************************************
cparata 0:e4f89df7a7a5 241 * Register : STATUS_REG_AUX
cparata 0:e4f89df7a7a5 242 * Address : 0X07
cparata 0:e4f89df7a7a5 243 * Bit Group Name: 3OR_
cparata 0:e4f89df7a7a5 244 * Permission : RO
cparata 0:e4f89df7a7a5 245 *******************************************************************************/
cparata 0:e4f89df7a7a5 246 typedef enum {
cparata 0:e4f89df7a7a5 247 LSM303AGR_ACC_3OR__NO_OVERRUN =0x00,
cparata 0:e4f89df7a7a5 248 LSM303AGR_ACC_3OR__OVERRUN =0x40,
cparata 0:e4f89df7a7a5 249 } LSM303AGR_ACC_3OR__t;
cparata 0:e4f89df7a7a5 250
cparata 0:e4f89df7a7a5 251 #define LSM303AGR_ACC_3OR__MASK 0x40
cparata 0:e4f89df7a7a5 252 status_t LSM303AGR_ACC_R_DataZOverrun(void *handle, LSM303AGR_ACC_3OR__t *value);
cparata 0:e4f89df7a7a5 253
cparata 0:e4f89df7a7a5 254 /*******************************************************************************
cparata 0:e4f89df7a7a5 255 * Register : STATUS_REG_AUX
cparata 0:e4f89df7a7a5 256 * Address : 0X07
cparata 0:e4f89df7a7a5 257 * Bit Group Name: 321OR_
cparata 0:e4f89df7a7a5 258 * Permission : RO
cparata 0:e4f89df7a7a5 259 *******************************************************************************/
cparata 0:e4f89df7a7a5 260 typedef enum {
cparata 0:e4f89df7a7a5 261 LSM303AGR_ACC_321OR__NO_OVERRUN =0x00,
cparata 0:e4f89df7a7a5 262 LSM303AGR_ACC_321OR__OVERRUN =0x80,
cparata 0:e4f89df7a7a5 263 } LSM303AGR_ACC_321OR__t;
cparata 0:e4f89df7a7a5 264
cparata 0:e4f89df7a7a5 265 #define LSM303AGR_ACC_321OR__MASK 0x80
cparata 0:e4f89df7a7a5 266 status_t LSM303AGR_ACC_R_DataXYZOverrun(void *handle, LSM303AGR_ACC_321OR__t *value);
cparata 0:e4f89df7a7a5 267
cparata 0:e4f89df7a7a5 268 /*******************************************************************************
cparata 0:e4f89df7a7a5 269 * Register : INT_COUNTER_REG
cparata 0:e4f89df7a7a5 270 * Address : 0X0E
cparata 0:e4f89df7a7a5 271 * Bit Group Name: IC
cparata 0:e4f89df7a7a5 272 * Permission : RO
cparata 0:e4f89df7a7a5 273 *******************************************************************************/
cparata 0:e4f89df7a7a5 274 #define LSM303AGR_ACC_IC_MASK 0xFF
cparata 0:e4f89df7a7a5 275 #define LSM303AGR_ACC_IC_POSITION 0
cparata 0:e4f89df7a7a5 276 status_t LSM303AGR_ACC_R_int_counter(void *handle, u8_t *value);
cparata 0:e4f89df7a7a5 277
cparata 0:e4f89df7a7a5 278 /*******************************************************************************
cparata 0:e4f89df7a7a5 279 * Register : WHO_AM_I
cparata 0:e4f89df7a7a5 280 * Address : 0X0F
cparata 0:e4f89df7a7a5 281 * Bit Group Name: WHO_AM_I
cparata 0:e4f89df7a7a5 282 * Permission : RO
cparata 0:e4f89df7a7a5 283 *******************************************************************************/
cparata 0:e4f89df7a7a5 284 #define LSM303AGR_ACC_WHO_AM_I_MASK 0xFF
cparata 0:e4f89df7a7a5 285 #define LSM303AGR_ACC_WHO_AM_I_POSITION 0
cparata 0:e4f89df7a7a5 286 status_t LSM303AGR_ACC_R_WHO_AM_I(void *handle, u8_t *value);
cparata 0:e4f89df7a7a5 287
cparata 0:e4f89df7a7a5 288 /*******************************************************************************
cparata 0:e4f89df7a7a5 289 * Register : TEMP_CFG_REG
cparata 0:e4f89df7a7a5 290 * Address : 0X1F
cparata 0:e4f89df7a7a5 291 * Bit Group Name: TEMP_EN
cparata 0:e4f89df7a7a5 292 * Permission : RW
cparata 0:e4f89df7a7a5 293 *******************************************************************************/
cparata 0:e4f89df7a7a5 294 typedef enum {
cparata 0:e4f89df7a7a5 295 LSM303AGR_ACC_TEMP_EN_DISABLED =0x00,
cparata 0:e4f89df7a7a5 296 LSM303AGR_ACC_TEMP_EN_ENABLED =0x40,
cparata 0:e4f89df7a7a5 297 } LSM303AGR_ACC_TEMP_EN_t;
cparata 0:e4f89df7a7a5 298
cparata 0:e4f89df7a7a5 299 #define LSM303AGR_ACC_TEMP_EN_MASK 0x40
cparata 0:e4f89df7a7a5 300 status_t LSM303AGR_ACC_W_TEMP_EN_bits(void *handle, LSM303AGR_ACC_TEMP_EN_t newValue);
cparata 0:e4f89df7a7a5 301 status_t LSM303AGR_ACC_R_TEMP_EN_bits(void *handle, LSM303AGR_ACC_TEMP_EN_t *value);
cparata 0:e4f89df7a7a5 302
cparata 0:e4f89df7a7a5 303 /*******************************************************************************
cparata 0:e4f89df7a7a5 304 * Register : TEMP_CFG_REG
cparata 0:e4f89df7a7a5 305 * Address : 0X1F
cparata 0:e4f89df7a7a5 306 * Bit Group Name: ADC_PD
cparata 0:e4f89df7a7a5 307 * Permission : RW
cparata 0:e4f89df7a7a5 308 *******************************************************************************/
cparata 0:e4f89df7a7a5 309 typedef enum {
cparata 0:e4f89df7a7a5 310 LSM303AGR_ACC_ADC_PD_DISABLED =0x00,
cparata 0:e4f89df7a7a5 311 LSM303AGR_ACC_ADC_PD_ENABLED =0x80,
cparata 0:e4f89df7a7a5 312 } LSM303AGR_ACC_ADC_PD_t;
cparata 0:e4f89df7a7a5 313
cparata 0:e4f89df7a7a5 314 #define LSM303AGR_ACC_ADC_PD_MASK 0x80
cparata 0:e4f89df7a7a5 315 status_t LSM303AGR_ACC_W_ADC_PD(void *handle, LSM303AGR_ACC_ADC_PD_t newValue);
cparata 0:e4f89df7a7a5 316 status_t LSM303AGR_ACC_R_ADC_PD(void *handle, LSM303AGR_ACC_ADC_PD_t *value);
cparata 0:e4f89df7a7a5 317
cparata 0:e4f89df7a7a5 318 /*******************************************************************************
cparata 0:e4f89df7a7a5 319 * Register : CTRL_REG1
cparata 0:e4f89df7a7a5 320 * Address : 0X20
cparata 0:e4f89df7a7a5 321 * Bit Group Name: XEN
cparata 0:e4f89df7a7a5 322 * Permission : RW
cparata 0:e4f89df7a7a5 323 *******************************************************************************/
cparata 0:e4f89df7a7a5 324 typedef enum {
cparata 0:e4f89df7a7a5 325 LSM303AGR_ACC_XEN_DISABLED =0x00,
cparata 0:e4f89df7a7a5 326 LSM303AGR_ACC_XEN_ENABLED =0x01,
cparata 0:e4f89df7a7a5 327 } LSM303AGR_ACC_XEN_t;
cparata 0:e4f89df7a7a5 328
cparata 0:e4f89df7a7a5 329 #define LSM303AGR_ACC_XEN_MASK 0x01
cparata 0:e4f89df7a7a5 330 status_t LSM303AGR_ACC_W_XEN(void *handle, LSM303AGR_ACC_XEN_t newValue);
cparata 0:e4f89df7a7a5 331 status_t LSM303AGR_ACC_R_XEN(void *handle, LSM303AGR_ACC_XEN_t *value);
cparata 0:e4f89df7a7a5 332
cparata 0:e4f89df7a7a5 333 /*******************************************************************************
cparata 0:e4f89df7a7a5 334 * Register : CTRL_REG1
cparata 0:e4f89df7a7a5 335 * Address : 0X20
cparata 0:e4f89df7a7a5 336 * Bit Group Name: YEN
cparata 0:e4f89df7a7a5 337 * Permission : RW
cparata 0:e4f89df7a7a5 338 *******************************************************************************/
cparata 0:e4f89df7a7a5 339 typedef enum {
cparata 0:e4f89df7a7a5 340 LSM303AGR_ACC_YEN_DISABLED =0x00,
cparata 0:e4f89df7a7a5 341 LSM303AGR_ACC_YEN_ENABLED =0x02,
cparata 0:e4f89df7a7a5 342 } LSM303AGR_ACC_YEN_t;
cparata 0:e4f89df7a7a5 343
cparata 0:e4f89df7a7a5 344 #define LSM303AGR_ACC_YEN_MASK 0x02
cparata 0:e4f89df7a7a5 345 status_t LSM303AGR_ACC_W_YEN(void *handle, LSM303AGR_ACC_YEN_t newValue);
cparata 0:e4f89df7a7a5 346 status_t LSM303AGR_ACC_R_YEN(void *handle, LSM303AGR_ACC_YEN_t *value);
cparata 0:e4f89df7a7a5 347
cparata 0:e4f89df7a7a5 348 /*******************************************************************************
cparata 0:e4f89df7a7a5 349 * Register : CTRL_REG1
cparata 0:e4f89df7a7a5 350 * Address : 0X20
cparata 0:e4f89df7a7a5 351 * Bit Group Name: ZEN
cparata 0:e4f89df7a7a5 352 * Permission : RW
cparata 0:e4f89df7a7a5 353 *******************************************************************************/
cparata 0:e4f89df7a7a5 354 typedef enum {
cparata 0:e4f89df7a7a5 355 LSM303AGR_ACC_ZEN_DISABLED =0x00,
cparata 0:e4f89df7a7a5 356 LSM303AGR_ACC_ZEN_ENABLED =0x04,
cparata 0:e4f89df7a7a5 357 } LSM303AGR_ACC_ZEN_t;
cparata 0:e4f89df7a7a5 358
cparata 0:e4f89df7a7a5 359 #define LSM303AGR_ACC_ZEN_MASK 0x04
cparata 0:e4f89df7a7a5 360 status_t LSM303AGR_ACC_W_ZEN(void *handle, LSM303AGR_ACC_ZEN_t newValue);
cparata 0:e4f89df7a7a5 361 status_t LSM303AGR_ACC_R_ZEN(void *handle, LSM303AGR_ACC_ZEN_t *value);
cparata 0:e4f89df7a7a5 362
cparata 0:e4f89df7a7a5 363 /*******************************************************************************
cparata 0:e4f89df7a7a5 364 * Register : CTRL_REG1
cparata 0:e4f89df7a7a5 365 * Address : 0X20
cparata 0:e4f89df7a7a5 366 * Bit Group Name: LPEN
cparata 0:e4f89df7a7a5 367 * Permission : RW
cparata 0:e4f89df7a7a5 368 *******************************************************************************/
cparata 0:e4f89df7a7a5 369 typedef enum {
cparata 0:e4f89df7a7a5 370 LSM303AGR_ACC_LPEN_DISABLED =0x00,
cparata 0:e4f89df7a7a5 371 LSM303AGR_ACC_LPEN_ENABLED =0x08,
cparata 0:e4f89df7a7a5 372 } LSM303AGR_ACC_LPEN_t;
cparata 0:e4f89df7a7a5 373
cparata 0:e4f89df7a7a5 374 #define LSM303AGR_ACC_LPEN_MASK 0x08
cparata 0:e4f89df7a7a5 375 status_t LSM303AGR_ACC_W_LOWPWR_EN(void *handle, LSM303AGR_ACC_LPEN_t newValue);
cparata 0:e4f89df7a7a5 376 status_t LSM303AGR_ACC_R_LOWPWR_EN(void *handle, LSM303AGR_ACC_LPEN_t *value);
cparata 0:e4f89df7a7a5 377
cparata 0:e4f89df7a7a5 378 /*******************************************************************************
cparata 0:e4f89df7a7a5 379 * Register : CTRL_REG1
cparata 0:e4f89df7a7a5 380 * Address : 0X20
cparata 0:e4f89df7a7a5 381 * Bit Group Name: ODR
cparata 0:e4f89df7a7a5 382 * Permission : RW
cparata 0:e4f89df7a7a5 383 *******************************************************************************/
cparata 0:e4f89df7a7a5 384 typedef enum {
cparata 0:e4f89df7a7a5 385 LSM303AGR_ACC_ODR_DO_PWR_DOWN =0x00,
cparata 0:e4f89df7a7a5 386 LSM303AGR_ACC_ODR_DO_1Hz =0x10,
cparata 0:e4f89df7a7a5 387 LSM303AGR_ACC_ODR_DO_10Hz =0x20,
cparata 0:e4f89df7a7a5 388 LSM303AGR_ACC_ODR_DO_25Hz =0x30,
cparata 0:e4f89df7a7a5 389 LSM303AGR_ACC_ODR_DO_50Hz =0x40,
cparata 0:e4f89df7a7a5 390 LSM303AGR_ACC_ODR_DO_100Hz =0x50,
cparata 0:e4f89df7a7a5 391 LSM303AGR_ACC_ODR_DO_200Hz =0x60,
cparata 0:e4f89df7a7a5 392 LSM303AGR_ACC_ODR_DO_400Hz =0x70,
cparata 0:e4f89df7a7a5 393 LSM303AGR_ACC_ODR_DO_1_6KHz =0x80,
cparata 0:e4f89df7a7a5 394 LSM303AGR_ACC_ODR_DO_1_25KHz =0x90,
cparata 0:e4f89df7a7a5 395 } LSM303AGR_ACC_ODR_t;
cparata 0:e4f89df7a7a5 396
cparata 0:e4f89df7a7a5 397 #define LSM303AGR_ACC_ODR_MASK 0xF0
cparata 0:e4f89df7a7a5 398 status_t LSM303AGR_ACC_W_ODR(void *handle, LSM303AGR_ACC_ODR_t newValue);
cparata 0:e4f89df7a7a5 399 status_t LSM303AGR_ACC_R_ODR(void *handle, LSM303AGR_ACC_ODR_t *value);
cparata 0:e4f89df7a7a5 400
cparata 0:e4f89df7a7a5 401 /*******************************************************************************
cparata 0:e4f89df7a7a5 402 * Register : CTRL_REG2
cparata 0:e4f89df7a7a5 403 * Address : 0X21
cparata 0:e4f89df7a7a5 404 * Bit Group Name: HPIS1
cparata 0:e4f89df7a7a5 405 * Permission : RW
cparata 0:e4f89df7a7a5 406 *******************************************************************************/
cparata 0:e4f89df7a7a5 407 typedef enum {
cparata 0:e4f89df7a7a5 408 LSM303AGR_ACC_HPIS1_DISABLED =0x00,
cparata 0:e4f89df7a7a5 409 LSM303AGR_ACC_HPIS1_ENABLED =0x01,
cparata 0:e4f89df7a7a5 410 } LSM303AGR_ACC_HPIS1_t;
cparata 0:e4f89df7a7a5 411
cparata 0:e4f89df7a7a5 412 #define LSM303AGR_ACC_HPIS1_MASK 0x01
cparata 0:e4f89df7a7a5 413 status_t LSM303AGR_ACC_W_hpf_aoi_en_int1(void *handle, LSM303AGR_ACC_HPIS1_t newValue);
cparata 0:e4f89df7a7a5 414 status_t LSM303AGR_ACC_R_hpf_aoi_en_int1(void *handle, LSM303AGR_ACC_HPIS1_t *value);
cparata 0:e4f89df7a7a5 415
cparata 0:e4f89df7a7a5 416 /*******************************************************************************
cparata 0:e4f89df7a7a5 417 * Register : CTRL_REG2
cparata 0:e4f89df7a7a5 418 * Address : 0X21
cparata 0:e4f89df7a7a5 419 * Bit Group Name: HPIS2
cparata 0:e4f89df7a7a5 420 * Permission : RW
cparata 0:e4f89df7a7a5 421 *******************************************************************************/
cparata 0:e4f89df7a7a5 422 typedef enum {
cparata 0:e4f89df7a7a5 423 LSM303AGR_ACC_HPIS2_DISABLED =0x00,
cparata 0:e4f89df7a7a5 424 LSM303AGR_ACC_HPIS2_ENABLED =0x02,
cparata 0:e4f89df7a7a5 425 } LSM303AGR_ACC_HPIS2_t;
cparata 0:e4f89df7a7a5 426
cparata 0:e4f89df7a7a5 427 #define LSM303AGR_ACC_HPIS2_MASK 0x02
cparata 0:e4f89df7a7a5 428 status_t LSM303AGR_ACC_W_hpf_aoi_en_int2(void *handle, LSM303AGR_ACC_HPIS2_t newValue);
cparata 0:e4f89df7a7a5 429 status_t LSM303AGR_ACC_R_hpf_aoi_en_int2(void *handle, LSM303AGR_ACC_HPIS2_t *value);
cparata 0:e4f89df7a7a5 430
cparata 0:e4f89df7a7a5 431 /*******************************************************************************
cparata 0:e4f89df7a7a5 432 * Register : CTRL_REG2
cparata 0:e4f89df7a7a5 433 * Address : 0X21
cparata 0:e4f89df7a7a5 434 * Bit Group Name: HPCLICK
cparata 0:e4f89df7a7a5 435 * Permission : RW
cparata 0:e4f89df7a7a5 436 *******************************************************************************/
cparata 0:e4f89df7a7a5 437 typedef enum {
cparata 0:e4f89df7a7a5 438 LSM303AGR_ACC_HPCLICK_DISABLED =0x00,
cparata 0:e4f89df7a7a5 439 LSM303AGR_ACC_HPCLICK_ENABLED =0x04,
cparata 0:e4f89df7a7a5 440 } LSM303AGR_ACC_HPCLICK_t;
cparata 0:e4f89df7a7a5 441
cparata 0:e4f89df7a7a5 442 #define LSM303AGR_ACC_HPCLICK_MASK 0x04
cparata 0:e4f89df7a7a5 443 status_t LSM303AGR_ACC_W_hpf_click_en(void *handle, LSM303AGR_ACC_HPCLICK_t newValue);
cparata 0:e4f89df7a7a5 444 status_t LSM303AGR_ACC_R_hpf_click_en(void *handle, LSM303AGR_ACC_HPCLICK_t *value);
cparata 0:e4f89df7a7a5 445
cparata 0:e4f89df7a7a5 446 /*******************************************************************************
cparata 0:e4f89df7a7a5 447 * Register : CTRL_REG2
cparata 0:e4f89df7a7a5 448 * Address : 0X21
cparata 0:e4f89df7a7a5 449 * Bit Group Name: FDS
cparata 0:e4f89df7a7a5 450 * Permission : RW
cparata 0:e4f89df7a7a5 451 *******************************************************************************/
cparata 0:e4f89df7a7a5 452 typedef enum {
cparata 0:e4f89df7a7a5 453 LSM303AGR_ACC_FDS_BYPASSED =0x00,
cparata 0:e4f89df7a7a5 454 LSM303AGR_ACC_FDS_ENABLED =0x08,
cparata 0:e4f89df7a7a5 455 } LSM303AGR_ACC_FDS_t;
cparata 0:e4f89df7a7a5 456
cparata 0:e4f89df7a7a5 457 #define LSM303AGR_ACC_FDS_MASK 0x08
cparata 0:e4f89df7a7a5 458 status_t LSM303AGR_ACC_W_Data_Filter(void *handle, LSM303AGR_ACC_FDS_t newValue);
cparata 0:e4f89df7a7a5 459 status_t LSM303AGR_ACC_R_Data_Filter(void *handle, LSM303AGR_ACC_FDS_t *value);
cparata 0:e4f89df7a7a5 460
cparata 0:e4f89df7a7a5 461 /*******************************************************************************
cparata 0:e4f89df7a7a5 462 * Register : CTRL_REG2
cparata 0:e4f89df7a7a5 463 * Address : 0X21
cparata 0:e4f89df7a7a5 464 * Bit Group Name: HPCF
cparata 0:e4f89df7a7a5 465 * Permission : RW
cparata 0:e4f89df7a7a5 466 *******************************************************************************/
cparata 0:e4f89df7a7a5 467 typedef enum {
cparata 0:e4f89df7a7a5 468 LSM303AGR_ACC_HPCF_00 =0x00,
cparata 0:e4f89df7a7a5 469 LSM303AGR_ACC_HPCF_01 =0x10,
cparata 0:e4f89df7a7a5 470 LSM303AGR_ACC_HPCF_10 =0x20,
cparata 0:e4f89df7a7a5 471 LSM303AGR_ACC_HPCF_11 =0x30,
cparata 0:e4f89df7a7a5 472 } LSM303AGR_ACC_HPCF_t;
cparata 0:e4f89df7a7a5 473
cparata 0:e4f89df7a7a5 474 #define LSM303AGR_ACC_HPCF_MASK 0x30
cparata 0:e4f89df7a7a5 475 status_t LSM303AGR_ACC_W_hpf_cutoff_freq(void *handle, LSM303AGR_ACC_HPCF_t newValue);
cparata 0:e4f89df7a7a5 476 status_t LSM303AGR_ACC_R_hpf_cutoff_freq(void *handle, LSM303AGR_ACC_HPCF_t *value);
cparata 0:e4f89df7a7a5 477
cparata 0:e4f89df7a7a5 478 /*******************************************************************************
cparata 0:e4f89df7a7a5 479 * Register : CTRL_REG2
cparata 0:e4f89df7a7a5 480 * Address : 0X21
cparata 0:e4f89df7a7a5 481 * Bit Group Name: HPM
cparata 0:e4f89df7a7a5 482 * Permission : RW
cparata 0:e4f89df7a7a5 483 *******************************************************************************/
cparata 0:e4f89df7a7a5 484 typedef enum {
cparata 0:e4f89df7a7a5 485 LSM303AGR_ACC_HPM_NORMAL =0x00,
cparata 0:e4f89df7a7a5 486 LSM303AGR_ACC_HPM_REFERENCE_SIGNAL =0x40,
cparata 0:e4f89df7a7a5 487 LSM303AGR_ACC_HPM_NORMAL_2 =0x80,
cparata 0:e4f89df7a7a5 488 LSM303AGR_ACC_HPM_AUTORST_ON_INT =0xC0,
cparata 0:e4f89df7a7a5 489 } LSM303AGR_ACC_HPM_t;
cparata 0:e4f89df7a7a5 490
cparata 0:e4f89df7a7a5 491 #define LSM303AGR_ACC_HPM_MASK 0xC0
cparata 0:e4f89df7a7a5 492 status_t LSM303AGR_ACC_W_hpf_mode(void *handle, LSM303AGR_ACC_HPM_t newValue);
cparata 0:e4f89df7a7a5 493 status_t LSM303AGR_ACC_R_hpf_mode(void *handle, LSM303AGR_ACC_HPM_t *value);
cparata 0:e4f89df7a7a5 494
cparata 0:e4f89df7a7a5 495 /*******************************************************************************
cparata 0:e4f89df7a7a5 496 * Register : CTRL_REG3
cparata 0:e4f89df7a7a5 497 * Address : 0X22
cparata 0:e4f89df7a7a5 498 * Bit Group Name: I1_OVERRUN
cparata 0:e4f89df7a7a5 499 * Permission : RW
cparata 0:e4f89df7a7a5 500 *******************************************************************************/
cparata 0:e4f89df7a7a5 501 typedef enum {
cparata 0:e4f89df7a7a5 502 LSM303AGR_ACC_I1_OVERRUN_DISABLED =0x00,
cparata 0:e4f89df7a7a5 503 LSM303AGR_ACC_I1_OVERRUN_ENABLED =0x02,
cparata 0:e4f89df7a7a5 504 } LSM303AGR_ACC_I1_OVERRUN_t;
cparata 0:e4f89df7a7a5 505
cparata 0:e4f89df7a7a5 506 #define LSM303AGR_ACC_I1_OVERRUN_MASK 0x02
cparata 0:e4f89df7a7a5 507 status_t LSM303AGR_ACC_W_FIFO_Overrun_on_INT1(void *handle, LSM303AGR_ACC_I1_OVERRUN_t newValue);
cparata 0:e4f89df7a7a5 508 status_t LSM303AGR_ACC_R_FIFO_Overrun_on_INT1(void *handle, LSM303AGR_ACC_I1_OVERRUN_t *value);
cparata 0:e4f89df7a7a5 509
cparata 0:e4f89df7a7a5 510 /*******************************************************************************
cparata 0:e4f89df7a7a5 511 * Register : CTRL_REG3
cparata 0:e4f89df7a7a5 512 * Address : 0X22
cparata 0:e4f89df7a7a5 513 * Bit Group Name: I1_WTM
cparata 0:e4f89df7a7a5 514 * Permission : RW
cparata 0:e4f89df7a7a5 515 *******************************************************************************/
cparata 0:e4f89df7a7a5 516 typedef enum {
cparata 0:e4f89df7a7a5 517 LSM303AGR_ACC_I1_WTM_DISABLED =0x00,
cparata 0:e4f89df7a7a5 518 LSM303AGR_ACC_I1_WTM_ENABLED =0x04,
cparata 0:e4f89df7a7a5 519 } LSM303AGR_ACC_I1_WTM_t;
cparata 0:e4f89df7a7a5 520
cparata 0:e4f89df7a7a5 521 #define LSM303AGR_ACC_I1_WTM_MASK 0x04
cparata 0:e4f89df7a7a5 522 status_t LSM303AGR_ACC_W_FIFO_Watermark_on_INT1(void *handle, LSM303AGR_ACC_I1_WTM_t newValue);
cparata 0:e4f89df7a7a5 523 status_t LSM303AGR_ACC_R_FIFO_Watermark_on_INT1(void *handle, LSM303AGR_ACC_I1_WTM_t *value);
cparata 0:e4f89df7a7a5 524
cparata 0:e4f89df7a7a5 525 /*******************************************************************************
cparata 0:e4f89df7a7a5 526 * Register : CTRL_REG3
cparata 0:e4f89df7a7a5 527 * Address : 0X22
cparata 0:e4f89df7a7a5 528 * Bit Group Name: I1_DRDY2
cparata 0:e4f89df7a7a5 529 * Permission : RW
cparata 0:e4f89df7a7a5 530 *******************************************************************************/
cparata 0:e4f89df7a7a5 531 typedef enum {
cparata 0:e4f89df7a7a5 532 LSM303AGR_ACC_I1_DRDY2_DISABLED =0x00,
cparata 0:e4f89df7a7a5 533 LSM303AGR_ACC_I1_DRDY2_ENABLED =0x08,
cparata 0:e4f89df7a7a5 534 } LSM303AGR_ACC_I1_DRDY2_t;
cparata 0:e4f89df7a7a5 535
cparata 0:e4f89df7a7a5 536 #define LSM303AGR_ACC_I1_DRDY2_MASK 0x08
cparata 0:e4f89df7a7a5 537 status_t LSM303AGR_ACC_W_FIFO_DRDY2_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY2_t newValue);
cparata 0:e4f89df7a7a5 538 status_t LSM303AGR_ACC_R_FIFO_DRDY2_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY2_t *value);
cparata 0:e4f89df7a7a5 539
cparata 0:e4f89df7a7a5 540 /*******************************************************************************
cparata 0:e4f89df7a7a5 541 * Register : CTRL_REG3
cparata 0:e4f89df7a7a5 542 * Address : 0X22
cparata 0:e4f89df7a7a5 543 * Bit Group Name: I1_DRDY1
cparata 0:e4f89df7a7a5 544 * Permission : RW
cparata 0:e4f89df7a7a5 545 *******************************************************************************/
cparata 0:e4f89df7a7a5 546 typedef enum {
cparata 0:e4f89df7a7a5 547 LSM303AGR_ACC_I1_DRDY1_DISABLED =0x00,
cparata 0:e4f89df7a7a5 548 LSM303AGR_ACC_I1_DRDY1_ENABLED =0x10,
cparata 0:e4f89df7a7a5 549 } LSM303AGR_ACC_I1_DRDY1_t;
cparata 0:e4f89df7a7a5 550
cparata 0:e4f89df7a7a5 551 #define LSM303AGR_ACC_I1_DRDY1_MASK 0x10
cparata 0:e4f89df7a7a5 552 status_t LSM303AGR_ACC_W_FIFO_DRDY1_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY1_t newValue);
cparata 0:e4f89df7a7a5 553 status_t LSM303AGR_ACC_R_FIFO_DRDY1_on_INT1(void *handle, LSM303AGR_ACC_I1_DRDY1_t *value);
cparata 0:e4f89df7a7a5 554
cparata 0:e4f89df7a7a5 555 /*******************************************************************************
cparata 0:e4f89df7a7a5 556 * Register : CTRL_REG3
cparata 0:e4f89df7a7a5 557 * Address : 0X22
cparata 0:e4f89df7a7a5 558 * Bit Group Name: I1_AOI2
cparata 0:e4f89df7a7a5 559 * Permission : RW
cparata 0:e4f89df7a7a5 560 *******************************************************************************/
cparata 0:e4f89df7a7a5 561 typedef enum {
cparata 0:e4f89df7a7a5 562 LSM303AGR_ACC_I1_AOI2_DISABLED =0x00,
cparata 0:e4f89df7a7a5 563 LSM303AGR_ACC_I1_AOI2_ENABLED =0x20,
cparata 0:e4f89df7a7a5 564 } LSM303AGR_ACC_I1_AOI2_t;
cparata 0:e4f89df7a7a5 565
cparata 0:e4f89df7a7a5 566 #define LSM303AGR_ACC_I1_AOI2_MASK 0x20
cparata 0:e4f89df7a7a5 567 status_t LSM303AGR_ACC_W_FIFO_AOL2_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI2_t newValue);
cparata 0:e4f89df7a7a5 568 status_t LSM303AGR_ACC_R_FIFO_AOL2_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI2_t *value);
cparata 0:e4f89df7a7a5 569
cparata 0:e4f89df7a7a5 570 /*******************************************************************************
cparata 0:e4f89df7a7a5 571 * Register : CTRL_REG3
cparata 0:e4f89df7a7a5 572 * Address : 0X22
cparata 0:e4f89df7a7a5 573 * Bit Group Name: I1_AOI1
cparata 0:e4f89df7a7a5 574 * Permission : RW
cparata 0:e4f89df7a7a5 575 *******************************************************************************/
cparata 0:e4f89df7a7a5 576 typedef enum {
cparata 0:e4f89df7a7a5 577 LSM303AGR_ACC_I1_AOI1_DISABLED =0x00,
cparata 0:e4f89df7a7a5 578 LSM303AGR_ACC_I1_AOI1_ENABLED =0x40,
cparata 0:e4f89df7a7a5 579 } LSM303AGR_ACC_I1_AOI1_t;
cparata 0:e4f89df7a7a5 580
cparata 0:e4f89df7a7a5 581 #define LSM303AGR_ACC_I1_AOI1_MASK 0x40
cparata 0:e4f89df7a7a5 582 status_t LSM303AGR_ACC_W_FIFO_AOL1_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI1_t newValue);
cparata 0:e4f89df7a7a5 583 status_t LSM303AGR_ACC_R_FIFO_AOL1_on_INT1(void *handle, LSM303AGR_ACC_I1_AOI1_t *value);
cparata 0:e4f89df7a7a5 584
cparata 0:e4f89df7a7a5 585 /*******************************************************************************
cparata 0:e4f89df7a7a5 586 * Register : CTRL_REG3
cparata 0:e4f89df7a7a5 587 * Address : 0X22
cparata 0:e4f89df7a7a5 588 * Bit Group Name: I1_CLICK
cparata 0:e4f89df7a7a5 589 * Permission : RW
cparata 0:e4f89df7a7a5 590 *******************************************************************************/
cparata 0:e4f89df7a7a5 591 typedef enum {
cparata 0:e4f89df7a7a5 592 LSM303AGR_ACC_I1_CLICK_DISABLED =0x00,
cparata 0:e4f89df7a7a5 593 LSM303AGR_ACC_I1_CLICK_ENABLED =0x80,
cparata 0:e4f89df7a7a5 594 } LSM303AGR_ACC_I1_CLICK_t;
cparata 0:e4f89df7a7a5 595
cparata 0:e4f89df7a7a5 596 #define LSM303AGR_ACC_I1_CLICK_MASK 0x80
cparata 0:e4f89df7a7a5 597 status_t LSM303AGR_ACC_W_FIFO_Click_on_INT1(void *handle, LSM303AGR_ACC_I1_CLICK_t newValue);
cparata 0:e4f89df7a7a5 598 status_t LSM303AGR_ACC_R_FIFO_Click_on_INT1(void *handle, LSM303AGR_ACC_I1_CLICK_t *value);
cparata 0:e4f89df7a7a5 599
cparata 0:e4f89df7a7a5 600 /*******************************************************************************
cparata 0:e4f89df7a7a5 601 * Register : CTRL_REG4
cparata 0:e4f89df7a7a5 602 * Address : 0X23
cparata 0:e4f89df7a7a5 603 * Bit Group Name: SIM
cparata 0:e4f89df7a7a5 604 * Permission : RW
cparata 0:e4f89df7a7a5 605 *******************************************************************************/
cparata 0:e4f89df7a7a5 606 typedef enum {
cparata 0:e4f89df7a7a5 607 LSM303AGR_ACC_SIM_4_WIRES =0x00,
cparata 0:e4f89df7a7a5 608 LSM303AGR_ACC_SIM_3_WIRES =0x01,
cparata 0:e4f89df7a7a5 609 } LSM303AGR_ACC_SIM_t;
cparata 0:e4f89df7a7a5 610
cparata 0:e4f89df7a7a5 611 #define LSM303AGR_ACC_SIM_MASK 0x01
cparata 0:e4f89df7a7a5 612 status_t LSM303AGR_ACC_W_SPI_mode(void *handle, LSM303AGR_ACC_SIM_t newValue);
cparata 0:e4f89df7a7a5 613 status_t LSM303AGR_ACC_R_SPI_mode(void *handle, LSM303AGR_ACC_SIM_t *value);
cparata 0:e4f89df7a7a5 614
cparata 0:e4f89df7a7a5 615 /*******************************************************************************
cparata 0:e4f89df7a7a5 616 * Register : CTRL_REG4
cparata 0:e4f89df7a7a5 617 * Address : 0X23
cparata 0:e4f89df7a7a5 618 * Bit Group Name: ST
cparata 0:e4f89df7a7a5 619 * Permission : RW
cparata 0:e4f89df7a7a5 620 *******************************************************************************/
cparata 0:e4f89df7a7a5 621 typedef enum {
cparata 0:e4f89df7a7a5 622 LSM303AGR_ACC_ST_DISABLED =0x00,
cparata 0:e4f89df7a7a5 623 LSM303AGR_ACC_ST_SELF_TEST_0 =0x02,
cparata 0:e4f89df7a7a5 624 LSM303AGR_ACC_ST_SELF_TEST_1 =0x04,
cparata 0:e4f89df7a7a5 625 LSM303AGR_ACC_ST_NOT_APPLICABLE =0x06,
cparata 0:e4f89df7a7a5 626 } LSM303AGR_ACC_ST_t;
cparata 0:e4f89df7a7a5 627
cparata 0:e4f89df7a7a5 628 #define LSM303AGR_ACC_ST_MASK 0x06
cparata 0:e4f89df7a7a5 629 status_t LSM303AGR_ACC_W_SelfTest(void *handle, LSM303AGR_ACC_ST_t newValue);
cparata 0:e4f89df7a7a5 630 status_t LSM303AGR_ACC_R_SelfTest(void *handle, LSM303AGR_ACC_ST_t *value);
cparata 0:e4f89df7a7a5 631
cparata 0:e4f89df7a7a5 632 /*******************************************************************************
cparata 0:e4f89df7a7a5 633 * Register : CTRL_REG4
cparata 0:e4f89df7a7a5 634 * Address : 0X23
cparata 0:e4f89df7a7a5 635 * Bit Group Name: HR
cparata 0:e4f89df7a7a5 636 * Permission : RW
cparata 0:e4f89df7a7a5 637 *******************************************************************************/
cparata 0:e4f89df7a7a5 638 typedef enum {
cparata 0:e4f89df7a7a5 639 LSM303AGR_ACC_HR_DISABLED =0x00,
cparata 0:e4f89df7a7a5 640 LSM303AGR_ACC_HR_ENABLED =0x08,
cparata 0:e4f89df7a7a5 641 } LSM303AGR_ACC_HR_t;
cparata 0:e4f89df7a7a5 642
cparata 0:e4f89df7a7a5 643 #define LSM303AGR_ACC_HR_MASK 0x08
cparata 0:e4f89df7a7a5 644 status_t LSM303AGR_ACC_W_HiRes(void *handle, LSM303AGR_ACC_HR_t newValue);
cparata 0:e4f89df7a7a5 645 status_t LSM303AGR_ACC_R_HiRes(void *handle, LSM303AGR_ACC_HR_t *value);
cparata 0:e4f89df7a7a5 646
cparata 0:e4f89df7a7a5 647 /*******************************************************************************
cparata 0:e4f89df7a7a5 648 * Register : CTRL_REG4
cparata 0:e4f89df7a7a5 649 * Address : 0X23
cparata 0:e4f89df7a7a5 650 * Bit Group Name: FS
cparata 0:e4f89df7a7a5 651 * Permission : RW
cparata 0:e4f89df7a7a5 652 *******************************************************************************/
cparata 0:e4f89df7a7a5 653 typedef enum {
cparata 0:e4f89df7a7a5 654 LSM303AGR_ACC_FS_2G =0x00,
cparata 0:e4f89df7a7a5 655 LSM303AGR_ACC_FS_4G =0x10,
cparata 0:e4f89df7a7a5 656 LSM303AGR_ACC_FS_8G =0x20,
cparata 0:e4f89df7a7a5 657 LSM303AGR_ACC_FS_16G =0x30,
cparata 0:e4f89df7a7a5 658 } LSM303AGR_ACC_FS_t;
cparata 0:e4f89df7a7a5 659
cparata 0:e4f89df7a7a5 660 #define LSM303AGR_ACC_FS_MASK 0x30
cparata 0:e4f89df7a7a5 661 status_t LSM303AGR_ACC_W_FullScale(void *handle, LSM303AGR_ACC_FS_t newValue);
cparata 0:e4f89df7a7a5 662 status_t LSM303AGR_ACC_R_FullScale(void *handle, LSM303AGR_ACC_FS_t *value);
cparata 0:e4f89df7a7a5 663
cparata 0:e4f89df7a7a5 664 /*******************************************************************************
cparata 0:e4f89df7a7a5 665 * Register : CTRL_REG4
cparata 0:e4f89df7a7a5 666 * Address : 0X23
cparata 0:e4f89df7a7a5 667 * Bit Group Name: BLE
cparata 0:e4f89df7a7a5 668 * Permission : RW
cparata 0:e4f89df7a7a5 669 *******************************************************************************/
cparata 0:e4f89df7a7a5 670 typedef enum {
cparata 0:e4f89df7a7a5 671 LSM303AGR_ACC_BLE_LITTLE_ENDIAN =0x00,
cparata 0:e4f89df7a7a5 672 LSM303AGR_ACC_BLE_BIG_ENDIAN =0x40,
cparata 0:e4f89df7a7a5 673 } LSM303AGR_ACC_BLE_t;
cparata 0:e4f89df7a7a5 674
cparata 0:e4f89df7a7a5 675 #define LSM303AGR_ACC_BLE_MASK 0x40
cparata 0:e4f89df7a7a5 676 status_t LSM303AGR_ACC_W_LittleBigEndian(void *handle, LSM303AGR_ACC_BLE_t newValue);
cparata 0:e4f89df7a7a5 677 status_t LSM303AGR_ACC_R_LittleBigEndian(void *handle, LSM303AGR_ACC_BLE_t *value);
cparata 0:e4f89df7a7a5 678
cparata 0:e4f89df7a7a5 679 /*******************************************************************************
cparata 0:e4f89df7a7a5 680 * Register : CTRL_REG4
cparata 0:e4f89df7a7a5 681 * Address : 0X23
cparata 0:e4f89df7a7a5 682 * Bit Group Name: BDU
cparata 0:e4f89df7a7a5 683 * Permission : RW
cparata 0:e4f89df7a7a5 684 *******************************************************************************/
cparata 0:e4f89df7a7a5 685 typedef enum {
cparata 0:e4f89df7a7a5 686 LSM303AGR_ACC_BDU_DISABLED =0x00,
cparata 0:e4f89df7a7a5 687 LSM303AGR_ACC_BDU_ENABLED =0x80,
cparata 0:e4f89df7a7a5 688 } LSM303AGR_ACC_BDU_t;
cparata 0:e4f89df7a7a5 689
cparata 0:e4f89df7a7a5 690 #define LSM303AGR_ACC_BDU_MASK 0x80
cparata 0:e4f89df7a7a5 691 status_t LSM303AGR_ACC_W_BlockDataUpdate(void *handle, LSM303AGR_ACC_BDU_t newValue);
cparata 0:e4f89df7a7a5 692 status_t LSM303AGR_ACC_R_BlockDataUpdate(void *handle, LSM303AGR_ACC_BDU_t *value);
cparata 0:e4f89df7a7a5 693
cparata 0:e4f89df7a7a5 694 /*******************************************************************************
cparata 0:e4f89df7a7a5 695 * Register : CTRL_REG5
cparata 0:e4f89df7a7a5 696 * Address : 0X24
cparata 0:e4f89df7a7a5 697 * Bit Group Name: D4D_INT2
cparata 0:e4f89df7a7a5 698 * Permission : RW
cparata 0:e4f89df7a7a5 699 *******************************************************************************/
cparata 0:e4f89df7a7a5 700 typedef enum {
cparata 0:e4f89df7a7a5 701 LSM303AGR_ACC_D4D_INT2_DISABLED =0x00,
cparata 0:e4f89df7a7a5 702 LSM303AGR_ACC_D4D_INT2_ENABLED =0x01,
cparata 0:e4f89df7a7a5 703 } LSM303AGR_ACC_D4D_INT2_t;
cparata 0:e4f89df7a7a5 704
cparata 0:e4f89df7a7a5 705 #define LSM303AGR_ACC_D4D_INT2_MASK 0x01
cparata 0:e4f89df7a7a5 706 status_t LSM303AGR_ACC_W_4D_on_INT2(void *handle, LSM303AGR_ACC_D4D_INT2_t newValue);
cparata 0:e4f89df7a7a5 707 status_t LSM303AGR_ACC_R_4D_on_INT2(void *handle, LSM303AGR_ACC_D4D_INT2_t *value);
cparata 0:e4f89df7a7a5 708
cparata 0:e4f89df7a7a5 709 /*******************************************************************************
cparata 0:e4f89df7a7a5 710 * Register : CTRL_REG5
cparata 0:e4f89df7a7a5 711 * Address : 0X24
cparata 0:e4f89df7a7a5 712 * Bit Group Name: LIR_INT2
cparata 0:e4f89df7a7a5 713 * Permission : RW
cparata 0:e4f89df7a7a5 714 *******************************************************************************/
cparata 0:e4f89df7a7a5 715 typedef enum {
cparata 0:e4f89df7a7a5 716 LSM303AGR_ACC_LIR_INT2_DISABLED =0x00,
cparata 0:e4f89df7a7a5 717 LSM303AGR_ACC_LIR_INT2_ENABLED =0x02,
cparata 0:e4f89df7a7a5 718 } LSM303AGR_ACC_LIR_INT2_t;
cparata 0:e4f89df7a7a5 719
cparata 0:e4f89df7a7a5 720 #define LSM303AGR_ACC_LIR_INT2_MASK 0x02
cparata 0:e4f89df7a7a5 721 status_t LSM303AGR_ACC_W_LatchInterrupt_on_INT2(void *handle, LSM303AGR_ACC_LIR_INT2_t newValue);
cparata 0:e4f89df7a7a5 722 status_t LSM303AGR_ACC_R_LatchInterrupt_on_INT2(void *handle, LSM303AGR_ACC_LIR_INT2_t *value);
cparata 0:e4f89df7a7a5 723
cparata 0:e4f89df7a7a5 724 /*******************************************************************************
cparata 0:e4f89df7a7a5 725 * Register : CTRL_REG5
cparata 0:e4f89df7a7a5 726 * Address : 0X24
cparata 0:e4f89df7a7a5 727 * Bit Group Name: D4D_INT1
cparata 0:e4f89df7a7a5 728 * Permission : RW
cparata 0:e4f89df7a7a5 729 *******************************************************************************/
cparata 0:e4f89df7a7a5 730 typedef enum {
cparata 0:e4f89df7a7a5 731 LSM303AGR_ACC_D4D_INT1_DISABLED =0x00,
cparata 0:e4f89df7a7a5 732 LSM303AGR_ACC_D4D_INT1_ENABLED =0x04,
cparata 0:e4f89df7a7a5 733 } LSM303AGR_ACC_D4D_INT1_t;
cparata 0:e4f89df7a7a5 734
cparata 0:e4f89df7a7a5 735 #define LSM303AGR_ACC_D4D_INT1_MASK 0x04
cparata 0:e4f89df7a7a5 736 status_t LSM303AGR_ACC_W_4D_on_INT1(void *handle, LSM303AGR_ACC_D4D_INT1_t newValue);
cparata 0:e4f89df7a7a5 737 status_t LSM303AGR_ACC_R_4D_on_INT1(void *handle, LSM303AGR_ACC_D4D_INT1_t *value);
cparata 0:e4f89df7a7a5 738
cparata 0:e4f89df7a7a5 739 /*******************************************************************************
cparata 0:e4f89df7a7a5 740 * Register : CTRL_REG5
cparata 0:e4f89df7a7a5 741 * Address : 0X24
cparata 0:e4f89df7a7a5 742 * Bit Group Name: LIR_INT1
cparata 0:e4f89df7a7a5 743 * Permission : RW
cparata 0:e4f89df7a7a5 744 *******************************************************************************/
cparata 0:e4f89df7a7a5 745 typedef enum {
cparata 0:e4f89df7a7a5 746 LSM303AGR_ACC_LIR_INT1_DISABLED =0x00,
cparata 0:e4f89df7a7a5 747 LSM303AGR_ACC_LIR_INT1_ENABLED =0x08,
cparata 0:e4f89df7a7a5 748 } LSM303AGR_ACC_LIR_INT1_t;
cparata 0:e4f89df7a7a5 749
cparata 0:e4f89df7a7a5 750 #define LSM303AGR_ACC_LIR_INT1_MASK 0x08
cparata 0:e4f89df7a7a5 751 status_t LSM303AGR_ACC_W_LatchInterrupt_on_INT1(void *handle, LSM303AGR_ACC_LIR_INT1_t newValue);
cparata 0:e4f89df7a7a5 752 status_t LSM303AGR_ACC_R_LatchInterrupt_on_INT1(void *handle, LSM303AGR_ACC_LIR_INT1_t *value);
cparata 0:e4f89df7a7a5 753
cparata 0:e4f89df7a7a5 754 /*******************************************************************************
cparata 0:e4f89df7a7a5 755 * Register : CTRL_REG5
cparata 0:e4f89df7a7a5 756 * Address : 0X24
cparata 0:e4f89df7a7a5 757 * Bit Group Name: FIFO_EN
cparata 0:e4f89df7a7a5 758 * Permission : RW
cparata 0:e4f89df7a7a5 759 *******************************************************************************/
cparata 0:e4f89df7a7a5 760 typedef enum {
cparata 0:e4f89df7a7a5 761 LSM303AGR_ACC_FIFO_EN_DISABLED =0x00,
cparata 0:e4f89df7a7a5 762 LSM303AGR_ACC_FIFO_EN_ENABLED =0x40,
cparata 0:e4f89df7a7a5 763 } LSM303AGR_ACC_FIFO_EN_t;
cparata 0:e4f89df7a7a5 764
cparata 0:e4f89df7a7a5 765 #define LSM303AGR_ACC_FIFO_EN_MASK 0x40
cparata 0:e4f89df7a7a5 766 status_t LSM303AGR_ACC_W_FIFO_EN(void *handle, LSM303AGR_ACC_FIFO_EN_t newValue);
cparata 0:e4f89df7a7a5 767 status_t LSM303AGR_ACC_R_FIFO_EN(void *handle, LSM303AGR_ACC_FIFO_EN_t *value);
cparata 0:e4f89df7a7a5 768
cparata 0:e4f89df7a7a5 769 /*******************************************************************************
cparata 0:e4f89df7a7a5 770 * Register : CTRL_REG5
cparata 0:e4f89df7a7a5 771 * Address : 0X24
cparata 0:e4f89df7a7a5 772 * Bit Group Name: BOOT
cparata 0:e4f89df7a7a5 773 * Permission : RW
cparata 0:e4f89df7a7a5 774 *******************************************************************************/
cparata 0:e4f89df7a7a5 775 typedef enum {
cparata 0:e4f89df7a7a5 776 LSM303AGR_ACC_BOOT_NORMAL_MODE =0x00,
cparata 0:e4f89df7a7a5 777 LSM303AGR_ACC_BOOT_REBOOT =0x80,
cparata 0:e4f89df7a7a5 778 } LSM303AGR_ACC_BOOT_t;
cparata 0:e4f89df7a7a5 779
cparata 0:e4f89df7a7a5 780 #define LSM303AGR_ACC_BOOT_MASK 0x80
cparata 0:e4f89df7a7a5 781 status_t LSM303AGR_ACC_W_RebootMemory(void *handle, LSM303AGR_ACC_BOOT_t newValue);
cparata 0:e4f89df7a7a5 782 status_t LSM303AGR_ACC_R_RebootMemory(void *handle, LSM303AGR_ACC_BOOT_t *value);
cparata 0:e4f89df7a7a5 783
cparata 0:e4f89df7a7a5 784 /*******************************************************************************
cparata 0:e4f89df7a7a5 785 * Register : CTRL_REG6
cparata 0:e4f89df7a7a5 786 * Address : 0X25
cparata 0:e4f89df7a7a5 787 * Bit Group Name: H_LACTIVE
cparata 0:e4f89df7a7a5 788 * Permission : RW
cparata 0:e4f89df7a7a5 789 *******************************************************************************/
cparata 0:e4f89df7a7a5 790 typedef enum {
cparata 0:e4f89df7a7a5 791 LSM303AGR_ACC_H_LACTIVE_ACTIVE_HI =0x00,
cparata 0:e4f89df7a7a5 792 LSM303AGR_ACC_H_LACTIVE_ACTIVE_LO =0x02,
cparata 0:e4f89df7a7a5 793 } LSM303AGR_ACC_H_LACTIVE_t;
cparata 0:e4f89df7a7a5 794
cparata 0:e4f89df7a7a5 795 #define LSM303AGR_ACC_H_LACTIVE_MASK 0x02
cparata 0:e4f89df7a7a5 796 status_t LSM303AGR_ACC_W_IntActive(void *handle, LSM303AGR_ACC_H_LACTIVE_t newValue);
cparata 0:e4f89df7a7a5 797 status_t LSM303AGR_ACC_R_IntActive(void *handle, LSM303AGR_ACC_H_LACTIVE_t *value);
cparata 0:e4f89df7a7a5 798
cparata 0:e4f89df7a7a5 799 /*******************************************************************************
cparata 0:e4f89df7a7a5 800 * Register : CTRL_REG6
cparata 0:e4f89df7a7a5 801 * Address : 0X25
cparata 0:e4f89df7a7a5 802 * Bit Group Name: P2_ACT
cparata 0:e4f89df7a7a5 803 * Permission : RW
cparata 0:e4f89df7a7a5 804 *******************************************************************************/
cparata 0:e4f89df7a7a5 805 typedef enum {
cparata 0:e4f89df7a7a5 806 LSM303AGR_ACC_P2_ACT_DISABLED =0x00,
cparata 0:e4f89df7a7a5 807 LSM303AGR_ACC_P2_ACT_ENABLED =0x08,
cparata 0:e4f89df7a7a5 808 } LSM303AGR_ACC_P2_ACT_t;
cparata 0:e4f89df7a7a5 809
cparata 0:e4f89df7a7a5 810 #define LSM303AGR_ACC_P2_ACT_MASK 0x08
cparata 0:e4f89df7a7a5 811 status_t LSM303AGR_ACC_W_P2_ACT(void *handle, LSM303AGR_ACC_P2_ACT_t newValue);
cparata 0:e4f89df7a7a5 812 status_t LSM303AGR_ACC_R_P2_ACT(void *handle, LSM303AGR_ACC_P2_ACT_t *value);
cparata 0:e4f89df7a7a5 813
cparata 0:e4f89df7a7a5 814 /*******************************************************************************
cparata 0:e4f89df7a7a5 815 * Register : CTRL_REG6
cparata 0:e4f89df7a7a5 816 * Address : 0X25
cparata 0:e4f89df7a7a5 817 * Bit Group Name: BOOT_I1
cparata 0:e4f89df7a7a5 818 * Permission : RW
cparata 0:e4f89df7a7a5 819 *******************************************************************************/
cparata 0:e4f89df7a7a5 820 typedef enum {
cparata 0:e4f89df7a7a5 821 LSM303AGR_ACC_BOOT_I1_DISABLED =0x00,
cparata 0:e4f89df7a7a5 822 LSM303AGR_ACC_BOOT_I1_ENABLED =0x10,
cparata 0:e4f89df7a7a5 823 } LSM303AGR_ACC_BOOT_I1_t;
cparata 0:e4f89df7a7a5 824
cparata 0:e4f89df7a7a5 825 #define LSM303AGR_ACC_BOOT_I1_MASK 0x10
cparata 0:e4f89df7a7a5 826 status_t LSM303AGR_ACC_W_Boot_on_INT2(void *handle, LSM303AGR_ACC_BOOT_I1_t newValue);
cparata 0:e4f89df7a7a5 827 status_t LSM303AGR_ACC_R_Boot_on_INT2(void *handle, LSM303AGR_ACC_BOOT_I1_t *value);
cparata 0:e4f89df7a7a5 828
cparata 0:e4f89df7a7a5 829 /*******************************************************************************
cparata 0:e4f89df7a7a5 830 * Register : CTRL_REG6
cparata 0:e4f89df7a7a5 831 * Address : 0X25
cparata 0:e4f89df7a7a5 832 * Bit Group Name: I2_INT2
cparata 0:e4f89df7a7a5 833 * Permission : RW
cparata 0:e4f89df7a7a5 834 *******************************************************************************/
cparata 0:e4f89df7a7a5 835 typedef enum {
cparata 0:e4f89df7a7a5 836 LSM303AGR_ACC_I2_INT2_DISABLED =0x00,
cparata 0:e4f89df7a7a5 837 LSM303AGR_ACC_I2_INT2_ENABLED =0x20,
cparata 0:e4f89df7a7a5 838 } LSM303AGR_ACC_I2_INT2_t;
cparata 0:e4f89df7a7a5 839
cparata 0:e4f89df7a7a5 840 #define LSM303AGR_ACC_I2_INT2_MASK 0x20
cparata 0:e4f89df7a7a5 841 status_t LSM303AGR_ACC_W_I2_on_INT2(void *handle, LSM303AGR_ACC_I2_INT2_t newValue);
cparata 0:e4f89df7a7a5 842 status_t LSM303AGR_ACC_R_I2_on_INT2(void *handle, LSM303AGR_ACC_I2_INT2_t *value);
cparata 0:e4f89df7a7a5 843
cparata 0:e4f89df7a7a5 844 /*******************************************************************************
cparata 0:e4f89df7a7a5 845 * Register : CTRL_REG6
cparata 0:e4f89df7a7a5 846 * Address : 0X25
cparata 0:e4f89df7a7a5 847 * Bit Group Name: I2_INT1
cparata 0:e4f89df7a7a5 848 * Permission : RW
cparata 0:e4f89df7a7a5 849 *******************************************************************************/
cparata 0:e4f89df7a7a5 850 typedef enum {
cparata 0:e4f89df7a7a5 851 LSM303AGR_ACC_I2_INT1_DISABLED =0x00,
cparata 0:e4f89df7a7a5 852 LSM303AGR_ACC_I2_INT1_ENABLED =0x40,
cparata 0:e4f89df7a7a5 853 } LSM303AGR_ACC_I2_INT1_t;
cparata 0:e4f89df7a7a5 854
cparata 0:e4f89df7a7a5 855 #define LSM303AGR_ACC_I2_INT1_MASK 0x40
cparata 0:e4f89df7a7a5 856 status_t LSM303AGR_ACC_W_I2_on_INT1(void *handle, LSM303AGR_ACC_I2_INT1_t newValue);
cparata 0:e4f89df7a7a5 857 status_t LSM303AGR_ACC_R_I2_on_INT1(void *handle, LSM303AGR_ACC_I2_INT1_t *value);
cparata 0:e4f89df7a7a5 858
cparata 0:e4f89df7a7a5 859 /*******************************************************************************
cparata 0:e4f89df7a7a5 860 * Register : CTRL_REG6
cparata 0:e4f89df7a7a5 861 * Address : 0X25
cparata 0:e4f89df7a7a5 862 * Bit Group Name: I2_CLICKEN
cparata 0:e4f89df7a7a5 863 * Permission : RW
cparata 0:e4f89df7a7a5 864 *******************************************************************************/
cparata 0:e4f89df7a7a5 865 typedef enum {
cparata 0:e4f89df7a7a5 866 LSM303AGR_ACC_I2_CLICKEN_DISABLED =0x00,
cparata 0:e4f89df7a7a5 867 LSM303AGR_ACC_I2_CLICKEN_ENABLED =0x80,
cparata 0:e4f89df7a7a5 868 } LSM303AGR_ACC_I2_CLICKEN_t;
cparata 0:e4f89df7a7a5 869
cparata 0:e4f89df7a7a5 870 #define LSM303AGR_ACC_I2_CLICKEN_MASK 0x80
cparata 0:e4f89df7a7a5 871 status_t LSM303AGR_ACC_W_Click_on_INT2(void *handle, LSM303AGR_ACC_I2_CLICKEN_t newValue);
cparata 0:e4f89df7a7a5 872 status_t LSM303AGR_ACC_R_Click_on_INT2(void *handle, LSM303AGR_ACC_I2_CLICKEN_t *value);
cparata 0:e4f89df7a7a5 873
cparata 0:e4f89df7a7a5 874 /*******************************************************************************
cparata 0:e4f89df7a7a5 875 * Register : REFERENCE
cparata 0:e4f89df7a7a5 876 * Address : 0X26
cparata 0:e4f89df7a7a5 877 * Bit Group Name: REF
cparata 0:e4f89df7a7a5 878 * Permission : RW
cparata 0:e4f89df7a7a5 879 *******************************************************************************/
cparata 0:e4f89df7a7a5 880 #define LSM303AGR_ACC_REF_MASK 0xFF
cparata 0:e4f89df7a7a5 881 #define LSM303AGR_ACC_REF_POSITION 0
cparata 0:e4f89df7a7a5 882 status_t LSM303AGR_ACC_W_ReferenceVal(void *handle, u8_t newValue);
cparata 0:e4f89df7a7a5 883 status_t LSM303AGR_ACC_R_ReferenceVal(void *handle, u8_t *value);
cparata 0:e4f89df7a7a5 884
cparata 0:e4f89df7a7a5 885 /*******************************************************************************
cparata 0:e4f89df7a7a5 886 * Register : STATUS_REG2
cparata 0:e4f89df7a7a5 887 * Address : 0X27
cparata 0:e4f89df7a7a5 888 * Bit Group Name: XDA
cparata 0:e4f89df7a7a5 889 * Permission : RO
cparata 0:e4f89df7a7a5 890 *******************************************************************************/
cparata 0:e4f89df7a7a5 891 typedef enum {
cparata 0:e4f89df7a7a5 892 LSM303AGR_ACC_XDA_NOT_AVAILABLE =0x00,
cparata 0:e4f89df7a7a5 893 LSM303AGR_ACC_XDA_AVAILABLE =0x01,
cparata 0:e4f89df7a7a5 894 } LSM303AGR_ACC_XDA_t;
cparata 0:e4f89df7a7a5 895
cparata 0:e4f89df7a7a5 896 #define LSM303AGR_ACC_XDA_MASK 0x01
cparata 0:e4f89df7a7a5 897 status_t LSM303AGR_ACC_R_XDataAvail(void *handle, LSM303AGR_ACC_XDA_t *value);
cparata 0:e4f89df7a7a5 898
cparata 0:e4f89df7a7a5 899 /*******************************************************************************
cparata 0:e4f89df7a7a5 900 * Register : STATUS_REG2
cparata 0:e4f89df7a7a5 901 * Address : 0X27
cparata 0:e4f89df7a7a5 902 * Bit Group Name: YDA
cparata 0:e4f89df7a7a5 903 * Permission : RO
cparata 0:e4f89df7a7a5 904 *******************************************************************************/
cparata 0:e4f89df7a7a5 905 typedef enum {
cparata 0:e4f89df7a7a5 906 LSM303AGR_ACC_YDA_NOT_AVAILABLE =0x00,
cparata 0:e4f89df7a7a5 907 LSM303AGR_ACC_YDA_AVAILABLE =0x02,
cparata 0:e4f89df7a7a5 908 } LSM303AGR_ACC_YDA_t;
cparata 0:e4f89df7a7a5 909
cparata 0:e4f89df7a7a5 910 #define LSM303AGR_ACC_YDA_MASK 0x02
cparata 0:e4f89df7a7a5 911 status_t LSM303AGR_ACC_R_YDataAvail(void *handle, LSM303AGR_ACC_YDA_t *value);
cparata 0:e4f89df7a7a5 912
cparata 0:e4f89df7a7a5 913 /*******************************************************************************
cparata 0:e4f89df7a7a5 914 * Register : STATUS_REG2
cparata 0:e4f89df7a7a5 915 * Address : 0X27
cparata 0:e4f89df7a7a5 916 * Bit Group Name: ZDA
cparata 0:e4f89df7a7a5 917 * Permission : RO
cparata 0:e4f89df7a7a5 918 *******************************************************************************/
cparata 0:e4f89df7a7a5 919 typedef enum {
cparata 0:e4f89df7a7a5 920 LSM303AGR_ACC_ZDA_NOT_AVAILABLE =0x00,
cparata 0:e4f89df7a7a5 921 LSM303AGR_ACC_ZDA_AVAILABLE =0x04,
cparata 0:e4f89df7a7a5 922 } LSM303AGR_ACC_ZDA_t;
cparata 0:e4f89df7a7a5 923
cparata 0:e4f89df7a7a5 924 #define LSM303AGR_ACC_ZDA_MASK 0x04
cparata 0:e4f89df7a7a5 925 status_t LSM303AGR_ACC_R_ZDataAvail(void *handle, LSM303AGR_ACC_ZDA_t *value);
cparata 0:e4f89df7a7a5 926
cparata 0:e4f89df7a7a5 927 /*******************************************************************************
cparata 0:e4f89df7a7a5 928 * Register : STATUS_REG2
cparata 0:e4f89df7a7a5 929 * Address : 0X27
cparata 0:e4f89df7a7a5 930 * Bit Group Name: ZYXDA
cparata 0:e4f89df7a7a5 931 * Permission : RO
cparata 0:e4f89df7a7a5 932 *******************************************************************************/
cparata 0:e4f89df7a7a5 933 typedef enum {
cparata 0:e4f89df7a7a5 934 LSM303AGR_ACC_ZYXDA_NOT_AVAILABLE =0x00,
cparata 0:e4f89df7a7a5 935 LSM303AGR_ACC_ZYXDA_AVAILABLE =0x08,
cparata 0:e4f89df7a7a5 936 } LSM303AGR_ACC_ZYXDA_t;
cparata 0:e4f89df7a7a5 937
cparata 0:e4f89df7a7a5 938 #define LSM303AGR_ACC_ZYXDA_MASK 0x08
cparata 0:e4f89df7a7a5 939 status_t LSM303AGR_ACC_R_XYZDataAvail(void *handle, LSM303AGR_ACC_ZYXDA_t *value);
cparata 0:e4f89df7a7a5 940
cparata 0:e4f89df7a7a5 941 /*******************************************************************************
cparata 0:e4f89df7a7a5 942 * Register : STATUS_REG2
cparata 0:e4f89df7a7a5 943 * Address : 0X27
cparata 0:e4f89df7a7a5 944 * Bit Group Name: XOR
cparata 0:e4f89df7a7a5 945 * Permission : RO
cparata 0:e4f89df7a7a5 946 *******************************************************************************/
cparata 0:e4f89df7a7a5 947 typedef enum {
cparata 0:e4f89df7a7a5 948 LSM303AGR_ACC_XOR_NO_OVERRUN =0x00,
cparata 0:e4f89df7a7a5 949 LSM303AGR_ACC_XOR_OVERRUN =0x10,
cparata 0:e4f89df7a7a5 950 } LSM303AGR_ACC_XOR_t;
cparata 0:e4f89df7a7a5 951
cparata 0:e4f89df7a7a5 952 #define LSM303AGR_ACC_XOR_MASK 0x10
cparata 0:e4f89df7a7a5 953 status_t LSM303AGR_ACC_R_XDataOverrun(void *handle, LSM303AGR_ACC_XOR_t *value);
cparata 0:e4f89df7a7a5 954
cparata 0:e4f89df7a7a5 955 /*******************************************************************************
cparata 0:e4f89df7a7a5 956 * Register : STATUS_REG2
cparata 0:e4f89df7a7a5 957 * Address : 0X27
cparata 0:e4f89df7a7a5 958 * Bit Group Name: YOR
cparata 0:e4f89df7a7a5 959 * Permission : RO
cparata 0:e4f89df7a7a5 960 *******************************************************************************/
cparata 0:e4f89df7a7a5 961 typedef enum {
cparata 0:e4f89df7a7a5 962 LSM303AGR_ACC_YOR_NO_OVERRUN =0x00,
cparata 0:e4f89df7a7a5 963 LSM303AGR_ACC_YOR_OVERRUN =0x20,
cparata 0:e4f89df7a7a5 964 } LSM303AGR_ACC_YOR_t;
cparata 0:e4f89df7a7a5 965
cparata 0:e4f89df7a7a5 966 #define LSM303AGR_ACC_YOR_MASK 0x20
cparata 0:e4f89df7a7a5 967 status_t LSM303AGR_ACC_R_YDataOverrun(void *handle, LSM303AGR_ACC_YOR_t *value);
cparata 0:e4f89df7a7a5 968
cparata 0:e4f89df7a7a5 969 /*******************************************************************************
cparata 0:e4f89df7a7a5 970 * Register : STATUS_REG2
cparata 0:e4f89df7a7a5 971 * Address : 0X27
cparata 0:e4f89df7a7a5 972 * Bit Group Name: ZOR
cparata 0:e4f89df7a7a5 973 * Permission : RO
cparata 0:e4f89df7a7a5 974 *******************************************************************************/
cparata 0:e4f89df7a7a5 975 typedef enum {
cparata 0:e4f89df7a7a5 976 LSM303AGR_ACC_ZOR_NO_OVERRUN =0x00,
cparata 0:e4f89df7a7a5 977 LSM303AGR_ACC_ZOR_OVERRUN =0x40,
cparata 0:e4f89df7a7a5 978 } LSM303AGR_ACC_ZOR_t;
cparata 0:e4f89df7a7a5 979
cparata 0:e4f89df7a7a5 980 #define LSM303AGR_ACC_ZOR_MASK 0x40
cparata 0:e4f89df7a7a5 981 status_t LSM303AGR_ACC_R_ZDataOverrun(void *handle, LSM303AGR_ACC_ZOR_t *value);
cparata 0:e4f89df7a7a5 982
cparata 0:e4f89df7a7a5 983 /*******************************************************************************
cparata 0:e4f89df7a7a5 984 * Register : STATUS_REG2
cparata 0:e4f89df7a7a5 985 * Address : 0X27
cparata 0:e4f89df7a7a5 986 * Bit Group Name: ZYXOR
cparata 0:e4f89df7a7a5 987 * Permission : RO
cparata 0:e4f89df7a7a5 988 *******************************************************************************/
cparata 0:e4f89df7a7a5 989 typedef enum {
cparata 0:e4f89df7a7a5 990 LSM303AGR_ACC_ZYXOR_NO_OVERRUN =0x00,
cparata 0:e4f89df7a7a5 991 LSM303AGR_ACC_ZYXOR_OVERRUN =0x80,
cparata 0:e4f89df7a7a5 992 } LSM303AGR_ACC_ZYXOR_t;
cparata 0:e4f89df7a7a5 993
cparata 0:e4f89df7a7a5 994 #define LSM303AGR_ACC_ZYXOR_MASK 0x80
cparata 0:e4f89df7a7a5 995 status_t LSM303AGR_ACC_R_XYZDataOverrun(void *handle, LSM303AGR_ACC_ZYXOR_t *value);
cparata 0:e4f89df7a7a5 996
cparata 0:e4f89df7a7a5 997 /*******************************************************************************
cparata 0:e4f89df7a7a5 998 * Register : FIFO_CTRL_REG
cparata 0:e4f89df7a7a5 999 * Address : 0X2E
cparata 0:e4f89df7a7a5 1000 * Bit Group Name: FTH
cparata 0:e4f89df7a7a5 1001 * Permission : RW
cparata 0:e4f89df7a7a5 1002 *******************************************************************************/
cparata 0:e4f89df7a7a5 1003 #define LSM303AGR_ACC_FTH_MASK 0x1F
cparata 0:e4f89df7a7a5 1004 #define LSM303AGR_ACC_FTH_POSITION 0
cparata 0:e4f89df7a7a5 1005 status_t LSM303AGR_ACC_W_FifoThreshold(void *handle, u8_t newValue);
cparata 0:e4f89df7a7a5 1006 status_t LSM303AGR_ACC_R_FifoThreshold(void *handle, u8_t *value);
cparata 0:e4f89df7a7a5 1007
cparata 0:e4f89df7a7a5 1008 /*******************************************************************************
cparata 0:e4f89df7a7a5 1009 * Register : FIFO_CTRL_REG
cparata 0:e4f89df7a7a5 1010 * Address : 0X2E
cparata 0:e4f89df7a7a5 1011 * Bit Group Name: TR
cparata 0:e4f89df7a7a5 1012 * Permission : RW
cparata 0:e4f89df7a7a5 1013 *******************************************************************************/
cparata 0:e4f89df7a7a5 1014 typedef enum {
cparata 0:e4f89df7a7a5 1015 LSM303AGR_ACC_TR_TRIGGER_ON_INT1 =0x00,
cparata 0:e4f89df7a7a5 1016 LSM303AGR_ACC_TR_TRIGGER_ON_INT2 =0x20,
cparata 0:e4f89df7a7a5 1017 } LSM303AGR_ACC_TR_t;
cparata 0:e4f89df7a7a5 1018
cparata 0:e4f89df7a7a5 1019 #define LSM303AGR_ACC_TR_MASK 0x20
cparata 0:e4f89df7a7a5 1020 status_t LSM303AGR_ACC_W_TriggerSel(void *handle, LSM303AGR_ACC_TR_t newValue);
cparata 0:e4f89df7a7a5 1021 status_t LSM303AGR_ACC_R_TriggerSel(void *handle, LSM303AGR_ACC_TR_t *value);
cparata 0:e4f89df7a7a5 1022
cparata 0:e4f89df7a7a5 1023 /*******************************************************************************
cparata 0:e4f89df7a7a5 1024 * Register : FIFO_CTRL_REG
cparata 0:e4f89df7a7a5 1025 * Address : 0X2E
cparata 0:e4f89df7a7a5 1026 * Bit Group Name: FM
cparata 0:e4f89df7a7a5 1027 * Permission : RW
cparata 0:e4f89df7a7a5 1028 *******************************************************************************/
cparata 0:e4f89df7a7a5 1029 typedef enum {
cparata 0:e4f89df7a7a5 1030 LSM303AGR_ACC_FM_BYPASS =0x00,
cparata 0:e4f89df7a7a5 1031 LSM303AGR_ACC_FM_FIFO =0x40,
cparata 0:e4f89df7a7a5 1032 LSM303AGR_ACC_FM_STREAM =0x80,
cparata 0:e4f89df7a7a5 1033 LSM303AGR_ACC_FM_TRIGGER =0xC0,
cparata 0:e4f89df7a7a5 1034 } LSM303AGR_ACC_FM_t;
cparata 0:e4f89df7a7a5 1035
cparata 0:e4f89df7a7a5 1036 #define LSM303AGR_ACC_FM_MASK 0xC0
cparata 0:e4f89df7a7a5 1037 status_t LSM303AGR_ACC_W_FifoMode(void *handle, LSM303AGR_ACC_FM_t newValue);
cparata 0:e4f89df7a7a5 1038 status_t LSM303AGR_ACC_R_FifoMode(void *handle, LSM303AGR_ACC_FM_t *value);
cparata 0:e4f89df7a7a5 1039
cparata 0:e4f89df7a7a5 1040 /*******************************************************************************
cparata 0:e4f89df7a7a5 1041 * Register : FIFO_SRC_REG
cparata 0:e4f89df7a7a5 1042 * Address : 0X2F
cparata 0:e4f89df7a7a5 1043 * Bit Group Name: FSS
cparata 0:e4f89df7a7a5 1044 * Permission : RO
cparata 0:e4f89df7a7a5 1045 *******************************************************************************/
cparata 0:e4f89df7a7a5 1046 #define LSM303AGR_ACC_FSS_MASK 0x1F
cparata 0:e4f89df7a7a5 1047 #define LSM303AGR_ACC_FSS_POSITION 0
cparata 0:e4f89df7a7a5 1048 status_t LSM303AGR_ACC_R_FifoSamplesAvail(void *handle, u8_t *value);
cparata 0:e4f89df7a7a5 1049
cparata 0:e4f89df7a7a5 1050 /*******************************************************************************
cparata 0:e4f89df7a7a5 1051 * Register : FIFO_SRC_REG
cparata 0:e4f89df7a7a5 1052 * Address : 0X2F
cparata 0:e4f89df7a7a5 1053 * Bit Group Name: EMPTY
cparata 0:e4f89df7a7a5 1054 * Permission : RO
cparata 0:e4f89df7a7a5 1055 *******************************************************************************/
cparata 0:e4f89df7a7a5 1056 typedef enum {
cparata 0:e4f89df7a7a5 1057 LSM303AGR_ACC_EMPTY_NOT_EMPTY =0x00,
cparata 0:e4f89df7a7a5 1058 LSM303AGR_ACC_EMPTY_EMPTY =0x20,
cparata 0:e4f89df7a7a5 1059 } LSM303AGR_ACC_EMPTY_t;
cparata 0:e4f89df7a7a5 1060
cparata 0:e4f89df7a7a5 1061 #define LSM303AGR_ACC_EMPTY_MASK 0x20
cparata 0:e4f89df7a7a5 1062 status_t LSM303AGR_ACC_R_FifoEmpty(void *handle, LSM303AGR_ACC_EMPTY_t *value);
cparata 0:e4f89df7a7a5 1063
cparata 0:e4f89df7a7a5 1064 /*******************************************************************************
cparata 0:e4f89df7a7a5 1065 * Register : FIFO_SRC_REG
cparata 0:e4f89df7a7a5 1066 * Address : 0X2F
cparata 0:e4f89df7a7a5 1067 * Bit Group Name: OVRN_FIFO
cparata 0:e4f89df7a7a5 1068 * Permission : RO
cparata 0:e4f89df7a7a5 1069 *******************************************************************************/
cparata 0:e4f89df7a7a5 1070 typedef enum {
cparata 0:e4f89df7a7a5 1071 LSM303AGR_ACC_OVRN_FIFO_NO_OVERRUN =0x00,
cparata 0:e4f89df7a7a5 1072 LSM303AGR_ACC_OVRN_FIFO_OVERRUN =0x40,
cparata 0:e4f89df7a7a5 1073 } LSM303AGR_ACC_OVRN_FIFO_t;
cparata 0:e4f89df7a7a5 1074
cparata 0:e4f89df7a7a5 1075 #define LSM303AGR_ACC_OVRN_FIFO_MASK 0x40
cparata 0:e4f89df7a7a5 1076 status_t LSM303AGR_ACC_R_FifoOverrun(void *handle, LSM303AGR_ACC_OVRN_FIFO_t *value);
cparata 0:e4f89df7a7a5 1077
cparata 0:e4f89df7a7a5 1078 /*******************************************************************************
cparata 0:e4f89df7a7a5 1079 * Register : FIFO_SRC_REG
cparata 0:e4f89df7a7a5 1080 * Address : 0X2F
cparata 0:e4f89df7a7a5 1081 * Bit Group Name: WTM
cparata 0:e4f89df7a7a5 1082 * Permission : RO
cparata 0:e4f89df7a7a5 1083 *******************************************************************************/
cparata 0:e4f89df7a7a5 1084 typedef enum {
cparata 0:e4f89df7a7a5 1085 LSM303AGR_ACC_WTM_NORMAL =0x00,
cparata 0:e4f89df7a7a5 1086 LSM303AGR_ACC_WTM_OVERFLOW =0x80,
cparata 0:e4f89df7a7a5 1087 } LSM303AGR_ACC_WTM_t;
cparata 0:e4f89df7a7a5 1088
cparata 0:e4f89df7a7a5 1089 #define LSM303AGR_ACC_WTM_MASK 0x80
cparata 0:e4f89df7a7a5 1090 status_t LSM303AGR_ACC_R_WatermarkLevel(void *handle, LSM303AGR_ACC_WTM_t *value);
cparata 0:e4f89df7a7a5 1091
cparata 0:e4f89df7a7a5 1092 /*******************************************************************************
cparata 0:e4f89df7a7a5 1093 * Register : INT1_CFG/INT2_CFG
cparata 0:e4f89df7a7a5 1094 * Address : 0X30/0x34
cparata 0:e4f89df7a7a5 1095 * Bit Group Name: XLIE
cparata 0:e4f89df7a7a5 1096 * Permission : RW
cparata 0:e4f89df7a7a5 1097 *******************************************************************************/
cparata 0:e4f89df7a7a5 1098 typedef enum {
cparata 0:e4f89df7a7a5 1099 LSM303AGR_ACC_XLIE_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1100 LSM303AGR_ACC_XLIE_ENABLED =0x01,
cparata 0:e4f89df7a7a5 1101 } LSM303AGR_ACC_XLIE_t;
cparata 0:e4f89df7a7a5 1102
cparata 0:e4f89df7a7a5 1103 #define LSM303AGR_ACC_XLIE_MASK 0x01
cparata 0:e4f89df7a7a5 1104 status_t LSM303AGR_ACC_W_Int1EnXLo(void *handle, LSM303AGR_ACC_XLIE_t newValue);
cparata 0:e4f89df7a7a5 1105 status_t LSM303AGR_ACC_R_Int1EnXLo(void *handle, LSM303AGR_ACC_XLIE_t *value);
cparata 0:e4f89df7a7a5 1106 status_t LSM303AGR_ACC_W_Int2EnXLo(void *handle, LSM303AGR_ACC_XLIE_t newValue);
cparata 0:e4f89df7a7a5 1107 status_t LSM303AGR_ACC_R_Int2EnXLo(void *handle, LSM303AGR_ACC_XLIE_t *value);
cparata 0:e4f89df7a7a5 1108
cparata 0:e4f89df7a7a5 1109 /*******************************************************************************
cparata 0:e4f89df7a7a5 1110 * Register : INT1_CFG/INT2_CFG
cparata 0:e4f89df7a7a5 1111 * Address : 0X30/0x34
cparata 0:e4f89df7a7a5 1112 * Bit Group Name: XHIE
cparata 0:e4f89df7a7a5 1113 * Permission : RW
cparata 0:e4f89df7a7a5 1114 *******************************************************************************/
cparata 0:e4f89df7a7a5 1115 typedef enum {
cparata 0:e4f89df7a7a5 1116 LSM303AGR_ACC_XHIE_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1117 LSM303AGR_ACC_XHIE_ENABLED =0x02,
cparata 0:e4f89df7a7a5 1118 } LSM303AGR_ACC_XHIE_t;
cparata 0:e4f89df7a7a5 1119
cparata 0:e4f89df7a7a5 1120 #define LSM303AGR_ACC_XHIE_MASK 0x02
cparata 0:e4f89df7a7a5 1121 status_t LSM303AGR_ACC_W_Int1EnXHi(void *handle, LSM303AGR_ACC_XHIE_t newValue);
cparata 0:e4f89df7a7a5 1122 status_t LSM303AGR_ACC_R_Int1EnXHi(void *handle, LSM303AGR_ACC_XHIE_t *value);
cparata 0:e4f89df7a7a5 1123 status_t LSM303AGR_ACC_W_Int2EnXHi(void *handle, LSM303AGR_ACC_XHIE_t newValue);
cparata 0:e4f89df7a7a5 1124 status_t LSM303AGR_ACC_R_Int2EnXHi(void *handle, LSM303AGR_ACC_XHIE_t *value);
cparata 0:e4f89df7a7a5 1125
cparata 0:e4f89df7a7a5 1126 /*******************************************************************************
cparata 0:e4f89df7a7a5 1127 * Register : INT1_CFG/INT2_CFG
cparata 0:e4f89df7a7a5 1128 * Address : 0X30/0x34
cparata 0:e4f89df7a7a5 1129 * Bit Group Name: YLIE
cparata 0:e4f89df7a7a5 1130 * Permission : RW
cparata 0:e4f89df7a7a5 1131 *******************************************************************************/
cparata 0:e4f89df7a7a5 1132 typedef enum {
cparata 0:e4f89df7a7a5 1133 LSM303AGR_ACC_YLIE_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1134 LSM303AGR_ACC_YLIE_ENABLED =0x04,
cparata 0:e4f89df7a7a5 1135 } LSM303AGR_ACC_YLIE_t;
cparata 0:e4f89df7a7a5 1136
cparata 0:e4f89df7a7a5 1137 #define LSM303AGR_ACC_YLIE_MASK 0x04
cparata 0:e4f89df7a7a5 1138 status_t LSM303AGR_ACC_W_Int1EnYLo(void *handle, LSM303AGR_ACC_YLIE_t newValue);
cparata 0:e4f89df7a7a5 1139 status_t LSM303AGR_ACC_R_Int1EnYLo(void *handle, LSM303AGR_ACC_YLIE_t *value);
cparata 0:e4f89df7a7a5 1140 status_t LSM303AGR_ACC_W_Int2EnYLo(void *handle, LSM303AGR_ACC_YLIE_t newValue);
cparata 0:e4f89df7a7a5 1141 status_t LSM303AGR_ACC_R_Int2EnYLo(void *handle, LSM303AGR_ACC_YLIE_t *value);
cparata 0:e4f89df7a7a5 1142
cparata 0:e4f89df7a7a5 1143 /*******************************************************************************
cparata 0:e4f89df7a7a5 1144 * Register : INT1_CFG/INT2_CFG
cparata 0:e4f89df7a7a5 1145 * Address : 0X30/0x34
cparata 0:e4f89df7a7a5 1146 * Bit Group Name: YHIE
cparata 0:e4f89df7a7a5 1147 * Permission : RW
cparata 0:e4f89df7a7a5 1148 *******************************************************************************/
cparata 0:e4f89df7a7a5 1149 typedef enum {
cparata 0:e4f89df7a7a5 1150 LSM303AGR_ACC_YHIE_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1151 LSM303AGR_ACC_YHIE_ENABLED =0x08,
cparata 0:e4f89df7a7a5 1152 } LSM303AGR_ACC_YHIE_t;
cparata 0:e4f89df7a7a5 1153
cparata 0:e4f89df7a7a5 1154 #define LSM303AGR_ACC_YHIE_MASK 0x08
cparata 0:e4f89df7a7a5 1155 status_t LSM303AGR_ACC_W_Int1EnYHi(void *handle, LSM303AGR_ACC_YHIE_t newValue);
cparata 0:e4f89df7a7a5 1156 status_t LSM303AGR_ACC_R_Int1EnYHi(void *handle, LSM303AGR_ACC_YHIE_t *value);
cparata 0:e4f89df7a7a5 1157 status_t LSM303AGR_ACC_W_Int2EnYHi(void *handle, LSM303AGR_ACC_YHIE_t newValue);
cparata 0:e4f89df7a7a5 1158 status_t LSM303AGR_ACC_R_Int2EnYHi(void *handle, LSM303AGR_ACC_YHIE_t *value);
cparata 0:e4f89df7a7a5 1159
cparata 0:e4f89df7a7a5 1160 /*******************************************************************************
cparata 0:e4f89df7a7a5 1161 * Register : INT1_CFG/INT2_CFG
cparata 0:e4f89df7a7a5 1162 * Address : 0X30/0x34
cparata 0:e4f89df7a7a5 1163 * Bit Group Name: ZLIE
cparata 0:e4f89df7a7a5 1164 * Permission : RW
cparata 0:e4f89df7a7a5 1165 *******************************************************************************/
cparata 0:e4f89df7a7a5 1166 typedef enum {
cparata 0:e4f89df7a7a5 1167 LSM303AGR_ACC_ZLIE_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1168 LSM303AGR_ACC_ZLIE_ENABLED =0x10,
cparata 0:e4f89df7a7a5 1169 } LSM303AGR_ACC_ZLIE_t;
cparata 0:e4f89df7a7a5 1170
cparata 0:e4f89df7a7a5 1171 #define LSM303AGR_ACC_ZLIE_MASK 0x10
cparata 0:e4f89df7a7a5 1172 status_t LSM303AGR_ACC_W_Int1EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t newValue);
cparata 0:e4f89df7a7a5 1173 status_t LSM303AGR_ACC_R_Int1EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t *value);
cparata 0:e4f89df7a7a5 1174 status_t LSM303AGR_ACC_W_Int2EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t newValue);
cparata 0:e4f89df7a7a5 1175 status_t LSM303AGR_ACC_R_Int2EnZLo(void *handle, LSM303AGR_ACC_ZLIE_t *value);
cparata 0:e4f89df7a7a5 1176
cparata 0:e4f89df7a7a5 1177 /*******************************************************************************
cparata 0:e4f89df7a7a5 1178 * Register : INT1_CFG/INT2_CFG
cparata 0:e4f89df7a7a5 1179 * Address : 0X30/0x34
cparata 0:e4f89df7a7a5 1180 * Bit Group Name: ZHIE
cparata 0:e4f89df7a7a5 1181 * Permission : RW
cparata 0:e4f89df7a7a5 1182 *******************************************************************************/
cparata 0:e4f89df7a7a5 1183 typedef enum {
cparata 0:e4f89df7a7a5 1184 LSM303AGR_ACC_ZHIE_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1185 LSM303AGR_ACC_ZHIE_ENABLED =0x20,
cparata 0:e4f89df7a7a5 1186 } LSM303AGR_ACC_ZHIE_t;
cparata 0:e4f89df7a7a5 1187
cparata 0:e4f89df7a7a5 1188 #define LSM303AGR_ACC_ZHIE_MASK 0x20
cparata 0:e4f89df7a7a5 1189 status_t LSM303AGR_ACC_W_Int1EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t newValue);
cparata 0:e4f89df7a7a5 1190 status_t LSM303AGR_ACC_R_Int1EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t *value);
cparata 0:e4f89df7a7a5 1191 status_t LSM303AGR_ACC_W_Int2EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t newValue);
cparata 0:e4f89df7a7a5 1192 status_t LSM303AGR_ACC_R_Int2EnZHi(void *handle, LSM303AGR_ACC_ZHIE_t *value);
cparata 0:e4f89df7a7a5 1193
cparata 0:e4f89df7a7a5 1194 /*******************************************************************************
cparata 0:e4f89df7a7a5 1195 * Register : INT1_CFG/INT2_CFG
cparata 0:e4f89df7a7a5 1196 * Address : 0X30/0x34
cparata 0:e4f89df7a7a5 1197 * Bit Group Name: 6D
cparata 0:e4f89df7a7a5 1198 * Permission : RW
cparata 0:e4f89df7a7a5 1199 *******************************************************************************/
cparata 0:e4f89df7a7a5 1200 typedef enum {
cparata 0:e4f89df7a7a5 1201 LSM303AGR_ACC_6D_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1202 LSM303AGR_ACC_6D_ENABLED =0x40,
cparata 0:e4f89df7a7a5 1203 } LSM303AGR_ACC_6D_t;
cparata 0:e4f89df7a7a5 1204
cparata 0:e4f89df7a7a5 1205 #define LSM303AGR_ACC_6D_MASK 0x40
cparata 0:e4f89df7a7a5 1206 status_t LSM303AGR_ACC_W_Int1_6D(void *handle, LSM303AGR_ACC_6D_t newValue);
cparata 0:e4f89df7a7a5 1207 status_t LSM303AGR_ACC_R_Int1_6D(void *handle, LSM303AGR_ACC_6D_t *value);
cparata 0:e4f89df7a7a5 1208 status_t LSM303AGR_ACC_W_Int2_6D(void *handle, LSM303AGR_ACC_6D_t newValue);
cparata 0:e4f89df7a7a5 1209 status_t LSM303AGR_ACC_R_Int2_6D(void *handle, LSM303AGR_ACC_6D_t *value);
cparata 0:e4f89df7a7a5 1210
cparata 0:e4f89df7a7a5 1211 /*******************************************************************************
cparata 0:e4f89df7a7a5 1212 * Register : INT1_CFG/INT2_CFG
cparata 0:e4f89df7a7a5 1213 * Address : 0X30/0x34
cparata 0:e4f89df7a7a5 1214 * Bit Group Name: AOI
cparata 0:e4f89df7a7a5 1215 * Permission : RW
cparata 0:e4f89df7a7a5 1216 *******************************************************************************/
cparata 0:e4f89df7a7a5 1217 typedef enum {
cparata 0:e4f89df7a7a5 1218 LSM303AGR_ACC_AOI_OR =0x00,
cparata 0:e4f89df7a7a5 1219 LSM303AGR_ACC_AOI_AND =0x80,
cparata 0:e4f89df7a7a5 1220 } LSM303AGR_ACC_AOI_t;
cparata 0:e4f89df7a7a5 1221
cparata 0:e4f89df7a7a5 1222 #define LSM303AGR_ACC_AOI_MASK 0x80
cparata 0:e4f89df7a7a5 1223 status_t LSM303AGR_ACC_W_Int1_AOI(void *handle, LSM303AGR_ACC_AOI_t newValue);
cparata 0:e4f89df7a7a5 1224 status_t LSM303AGR_ACC_R_Int1_AOI(void *handle, LSM303AGR_ACC_AOI_t *value);
cparata 0:e4f89df7a7a5 1225 status_t LSM303AGR_ACC_W_Int2_AOI(void *handle, LSM303AGR_ACC_AOI_t newValue);
cparata 0:e4f89df7a7a5 1226 status_t LSM303AGR_ACC_R_Int2_AOI(void *handle, LSM303AGR_ACC_AOI_t *value);
cparata 0:e4f89df7a7a5 1227
cparata 0:e4f89df7a7a5 1228 /*******************************************************************************
cparata 0:e4f89df7a7a5 1229 * Register : INT1_SOURCE/INT2_SOURCE
cparata 0:e4f89df7a7a5 1230 * Address : 0X31/0x35
cparata 0:e4f89df7a7a5 1231 * Bit Group Name: XL
cparata 0:e4f89df7a7a5 1232 * Permission : RO
cparata 0:e4f89df7a7a5 1233 *******************************************************************************/
cparata 0:e4f89df7a7a5 1234 typedef enum {
cparata 0:e4f89df7a7a5 1235 LSM303AGR_ACC_XL_DOWN =0x00,
cparata 0:e4f89df7a7a5 1236 LSM303AGR_ACC_XL_UP =0x01,
cparata 0:e4f89df7a7a5 1237 } LSM303AGR_ACC_XL_t;
cparata 0:e4f89df7a7a5 1238
cparata 0:e4f89df7a7a5 1239 #define LSM303AGR_ACC_XL_MASK 0x01
cparata 0:e4f89df7a7a5 1240 status_t LSM303AGR_ACC_R_Int1_Xlo(void *handle, LSM303AGR_ACC_XL_t *value);
cparata 0:e4f89df7a7a5 1241 status_t LSM303AGR_ACC_R_Int2_Xlo(void *handle, LSM303AGR_ACC_XL_t *value);
cparata 0:e4f89df7a7a5 1242
cparata 0:e4f89df7a7a5 1243 /*******************************************************************************
cparata 0:e4f89df7a7a5 1244 * Register : INT1_SOURCE/INT2_SOURCE
cparata 0:e4f89df7a7a5 1245 * Address : 0X31/0x35
cparata 0:e4f89df7a7a5 1246 * Bit Group Name: XH
cparata 0:e4f89df7a7a5 1247 * Permission : RO
cparata 0:e4f89df7a7a5 1248 *******************************************************************************/
cparata 0:e4f89df7a7a5 1249 typedef enum {
cparata 0:e4f89df7a7a5 1250 LSM303AGR_ACC_XH_DOWN =0x00,
cparata 0:e4f89df7a7a5 1251 LSM303AGR_ACC_XH_UP =0x02,
cparata 0:e4f89df7a7a5 1252 } LSM303AGR_ACC_XH_t;
cparata 0:e4f89df7a7a5 1253
cparata 0:e4f89df7a7a5 1254 #define LSM303AGR_ACC_XH_MASK 0x02
cparata 0:e4f89df7a7a5 1255 status_t LSM303AGR_ACC_R_Int1_XHi(void *handle, LSM303AGR_ACC_XH_t *value);
cparata 0:e4f89df7a7a5 1256 status_t LSM303AGR_ACC_R_Int2_XHi(void *handle, LSM303AGR_ACC_XH_t *value);
cparata 0:e4f89df7a7a5 1257
cparata 0:e4f89df7a7a5 1258 /*******************************************************************************
cparata 0:e4f89df7a7a5 1259 * Register : INT1_SOURCE/INT2_SOURCE
cparata 0:e4f89df7a7a5 1260 * Address : 0X31/0x35
cparata 0:e4f89df7a7a5 1261 * Bit Group Name: YL
cparata 0:e4f89df7a7a5 1262 * Permission : RO
cparata 0:e4f89df7a7a5 1263 *******************************************************************************/
cparata 0:e4f89df7a7a5 1264 typedef enum {
cparata 0:e4f89df7a7a5 1265 LSM303AGR_ACC_YL_DOWN =0x00,
cparata 0:e4f89df7a7a5 1266 LSM303AGR_ACC_YL_UP =0x04,
cparata 0:e4f89df7a7a5 1267 } LSM303AGR_ACC_YL_t;
cparata 0:e4f89df7a7a5 1268
cparata 0:e4f89df7a7a5 1269 #define LSM303AGR_ACC_YL_MASK 0x04
cparata 0:e4f89df7a7a5 1270 status_t LSM303AGR_ACC_R_Int1_YLo(void *handle, LSM303AGR_ACC_YL_t *value);
cparata 0:e4f89df7a7a5 1271 status_t LSM303AGR_ACC_R_Int2_YLo(void *handle, LSM303AGR_ACC_YL_t *value);
cparata 0:e4f89df7a7a5 1272
cparata 0:e4f89df7a7a5 1273 /*******************************************************************************
cparata 0:e4f89df7a7a5 1274 * Register : INT1_SOURCE/INT2_SOURCE
cparata 0:e4f89df7a7a5 1275 * Address : 0X31/0x35
cparata 0:e4f89df7a7a5 1276 * Bit Group Name: YH
cparata 0:e4f89df7a7a5 1277 * Permission : RO
cparata 0:e4f89df7a7a5 1278 *******************************************************************************/
cparata 0:e4f89df7a7a5 1279 typedef enum {
cparata 0:e4f89df7a7a5 1280 LSM303AGR_ACC_YH_DOWN =0x00,
cparata 0:e4f89df7a7a5 1281 LSM303AGR_ACC_YH_UP =0x08,
cparata 0:e4f89df7a7a5 1282 } LSM303AGR_ACC_YH_t;
cparata 0:e4f89df7a7a5 1283
cparata 0:e4f89df7a7a5 1284 #define LSM303AGR_ACC_YH_MASK 0x08
cparata 0:e4f89df7a7a5 1285 status_t LSM303AGR_ACC_R_Int1_YHi(void *handle, LSM303AGR_ACC_YH_t *value);
cparata 0:e4f89df7a7a5 1286 status_t LSM303AGR_ACC_R_Int2_YHi(void *handle, LSM303AGR_ACC_YH_t *value);
cparata 0:e4f89df7a7a5 1287
cparata 0:e4f89df7a7a5 1288 /*******************************************************************************
cparata 0:e4f89df7a7a5 1289 * Register : INT1_SOURCE/INT2_SOURCE
cparata 0:e4f89df7a7a5 1290 * Address : 0X31/0x35
cparata 0:e4f89df7a7a5 1291 * Bit Group Name: ZL
cparata 0:e4f89df7a7a5 1292 * Permission : RO
cparata 0:e4f89df7a7a5 1293 *******************************************************************************/
cparata 0:e4f89df7a7a5 1294 typedef enum {
cparata 0:e4f89df7a7a5 1295 LSM303AGR_ACC_ZL_DOWN =0x00,
cparata 0:e4f89df7a7a5 1296 LSM303AGR_ACC_ZL_UP =0x10,
cparata 0:e4f89df7a7a5 1297 } LSM303AGR_ACC_ZL_t;
cparata 0:e4f89df7a7a5 1298
cparata 0:e4f89df7a7a5 1299 #define LSM303AGR_ACC_ZL_MASK 0x10
cparata 0:e4f89df7a7a5 1300 status_t LSM303AGR_ACC_R_Int1_Zlo(void *handle, LSM303AGR_ACC_ZL_t *value);
cparata 0:e4f89df7a7a5 1301 status_t LSM303AGR_ACC_R_Int2_Zlo(void *handle, LSM303AGR_ACC_ZL_t *value);
cparata 0:e4f89df7a7a5 1302
cparata 0:e4f89df7a7a5 1303 /*******************************************************************************
cparata 0:e4f89df7a7a5 1304 * Register : INT1_SOURCE/INT2_SOURCE
cparata 0:e4f89df7a7a5 1305 * Address : 0X31/0x35
cparata 0:e4f89df7a7a5 1306 * Bit Group Name: ZH
cparata 0:e4f89df7a7a5 1307 * Permission : RO
cparata 0:e4f89df7a7a5 1308 *******************************************************************************/
cparata 0:e4f89df7a7a5 1309 typedef enum {
cparata 0:e4f89df7a7a5 1310 LSM303AGR_ACC_ZH_DOWN =0x00,
cparata 0:e4f89df7a7a5 1311 LSM303AGR_ACC_ZH_UP =0x20,
cparata 0:e4f89df7a7a5 1312 } LSM303AGR_ACC_ZH_t;
cparata 0:e4f89df7a7a5 1313
cparata 0:e4f89df7a7a5 1314 #define LSM303AGR_ACC_ZH_MASK 0x20
cparata 0:e4f89df7a7a5 1315 status_t LSM303AGR_ACC_R_Int1_ZHi(void *handle, LSM303AGR_ACC_ZH_t *value);
cparata 0:e4f89df7a7a5 1316 status_t LSM303AGR_ACC_R_Int2_ZHi(void *handle, LSM303AGR_ACC_ZH_t *value);
cparata 0:e4f89df7a7a5 1317
cparata 0:e4f89df7a7a5 1318 /*******************************************************************************
cparata 0:e4f89df7a7a5 1319 * Register : INT1_SOURCE/INT2_SOURCE
cparata 0:e4f89df7a7a5 1320 * Address : 0X31/0x35
cparata 0:e4f89df7a7a5 1321 * Bit Group Name: IA
cparata 0:e4f89df7a7a5 1322 * Permission : RO
cparata 0:e4f89df7a7a5 1323 *******************************************************************************/
cparata 0:e4f89df7a7a5 1324 typedef enum {
cparata 0:e4f89df7a7a5 1325 LSM303AGR_ACC_IA_DOWN =0x00,
cparata 0:e4f89df7a7a5 1326 LSM303AGR_ACC_IA_UP =0x40,
cparata 0:e4f89df7a7a5 1327 } LSM303AGR_ACC_IA_t;
cparata 0:e4f89df7a7a5 1328
cparata 0:e4f89df7a7a5 1329 #define LSM303AGR_ACC_IA_MASK 0x40
cparata 0:e4f89df7a7a5 1330 status_t LSM303AGR_ACC_R_Int1_IA(void *handle, LSM303AGR_ACC_IA_t *value);
cparata 0:e4f89df7a7a5 1331 status_t LSM303AGR_ACC_R_Int2_IA(void *handle, LSM303AGR_ACC_IA_t *value);
cparata 0:e4f89df7a7a5 1332
cparata 0:e4f89df7a7a5 1333 /*******************************************************************************
cparata 0:e4f89df7a7a5 1334 * Register : INT1_THS/INT2_THS
cparata 0:e4f89df7a7a5 1335 * Address : 0X32/0x36
cparata 0:e4f89df7a7a5 1336 * Bit Group Name: THS
cparata 0:e4f89df7a7a5 1337 * Permission : RW
cparata 0:e4f89df7a7a5 1338 *******************************************************************************/
cparata 0:e4f89df7a7a5 1339 #define LSM303AGR_ACC_THS_MASK 0x7F
cparata 0:e4f89df7a7a5 1340 #define LSM303AGR_ACC_THS_POSITION 0
cparata 0:e4f89df7a7a5 1341 status_t LSM303AGR_ACC_W_Int1_Threshold(void *handle, u8_t newValue);
cparata 0:e4f89df7a7a5 1342 status_t LSM303AGR_ACC_R_Int1_Threshold(void *handle, u8_t *value);
cparata 0:e4f89df7a7a5 1343 status_t LSM303AGR_ACC_W_Int2_Threshold(void *handle, u8_t newValue);
cparata 0:e4f89df7a7a5 1344 status_t LSM303AGR_ACC_R_Int2_Threshold(void *handle, u8_t *value);
cparata 0:e4f89df7a7a5 1345
cparata 0:e4f89df7a7a5 1346 /*******************************************************************************
cparata 0:e4f89df7a7a5 1347 * Register : INT1_DURATION/INT2_DURATION
cparata 0:e4f89df7a7a5 1348 * Address : 0X33/0x37
cparata 0:e4f89df7a7a5 1349 * Bit Group Name: D
cparata 0:e4f89df7a7a5 1350 * Permission : RW
cparata 0:e4f89df7a7a5 1351 *******************************************************************************/
cparata 0:e4f89df7a7a5 1352 #define LSM303AGR_ACC_D_MASK 0x7F
cparata 0:e4f89df7a7a5 1353 #define LSM303AGR_ACC_D_POSITION 0
cparata 0:e4f89df7a7a5 1354 status_t LSM303AGR_ACC_W_Int1_Duration(void *handle, u8_t newValue);
cparata 0:e4f89df7a7a5 1355 status_t LSM303AGR_ACC_R_Int1_Duration(void *handle, u8_t *value);
cparata 0:e4f89df7a7a5 1356 status_t LSM303AGR_ACC_W_Int2_Duration(void *handle, u8_t newValue);
cparata 0:e4f89df7a7a5 1357 status_t LSM303AGR_ACC_R_Int2_Duration(void *handle, u8_t *value);
cparata 0:e4f89df7a7a5 1358
cparata 0:e4f89df7a7a5 1359 /*******************************************************************************
cparata 0:e4f89df7a7a5 1360 * Register : CLICK_CFG
cparata 0:e4f89df7a7a5 1361 * Address : 0X38
cparata 0:e4f89df7a7a5 1362 * Bit Group Name: XS
cparata 0:e4f89df7a7a5 1363 * Permission : RW
cparata 0:e4f89df7a7a5 1364 *******************************************************************************/
cparata 0:e4f89df7a7a5 1365 typedef enum {
cparata 0:e4f89df7a7a5 1366 LSM303AGR_ACC_XS_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1367 LSM303AGR_ACC_XS_ENABLED =0x01,
cparata 0:e4f89df7a7a5 1368 } LSM303AGR_ACC_XS_t;
cparata 0:e4f89df7a7a5 1369
cparata 0:e4f89df7a7a5 1370 #define LSM303AGR_ACC_XS_MASK 0x01
cparata 0:e4f89df7a7a5 1371 status_t LSM303AGR_ACC_W_XSingle(void *handle, LSM303AGR_ACC_XS_t newValue);
cparata 0:e4f89df7a7a5 1372 status_t LSM303AGR_ACC_R_XSingle(void *handle, LSM303AGR_ACC_XS_t *value);
cparata 0:e4f89df7a7a5 1373
cparata 0:e4f89df7a7a5 1374 /*******************************************************************************
cparata 0:e4f89df7a7a5 1375 * Register : CLICK_CFG
cparata 0:e4f89df7a7a5 1376 * Address : 0X38
cparata 0:e4f89df7a7a5 1377 * Bit Group Name: XD
cparata 0:e4f89df7a7a5 1378 * Permission : RW
cparata 0:e4f89df7a7a5 1379 *******************************************************************************/
cparata 0:e4f89df7a7a5 1380 typedef enum {
cparata 0:e4f89df7a7a5 1381 LSM303AGR_ACC_XD_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1382 LSM303AGR_ACC_XD_ENABLED =0x02,
cparata 0:e4f89df7a7a5 1383 } LSM303AGR_ACC_XD_t;
cparata 0:e4f89df7a7a5 1384
cparata 0:e4f89df7a7a5 1385 #define LSM303AGR_ACC_XD_MASK 0x02
cparata 0:e4f89df7a7a5 1386 status_t LSM303AGR_ACC_W_XDouble(void *handle, LSM303AGR_ACC_XD_t newValue);
cparata 0:e4f89df7a7a5 1387 status_t LSM303AGR_ACC_R_XDouble(void *handle, LSM303AGR_ACC_XD_t *value);
cparata 0:e4f89df7a7a5 1388
cparata 0:e4f89df7a7a5 1389 /*******************************************************************************
cparata 0:e4f89df7a7a5 1390 * Register : CLICK_CFG
cparata 0:e4f89df7a7a5 1391 * Address : 0X38
cparata 0:e4f89df7a7a5 1392 * Bit Group Name: YS
cparata 0:e4f89df7a7a5 1393 * Permission : RW
cparata 0:e4f89df7a7a5 1394 *******************************************************************************/
cparata 0:e4f89df7a7a5 1395 typedef enum {
cparata 0:e4f89df7a7a5 1396 LSM303AGR_ACC_YS_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1397 LSM303AGR_ACC_YS_ENABLED =0x04,
cparata 0:e4f89df7a7a5 1398 } LSM303AGR_ACC_YS_t;
cparata 0:e4f89df7a7a5 1399
cparata 0:e4f89df7a7a5 1400 #define LSM303AGR_ACC_YS_MASK 0x04
cparata 0:e4f89df7a7a5 1401 status_t LSM303AGR_ACC_W_YSingle(void *handle, LSM303AGR_ACC_YS_t newValue);
cparata 0:e4f89df7a7a5 1402 status_t LSM303AGR_ACC_R_YSingle(void *handle, LSM303AGR_ACC_YS_t *value);
cparata 0:e4f89df7a7a5 1403
cparata 0:e4f89df7a7a5 1404 /*******************************************************************************
cparata 0:e4f89df7a7a5 1405 * Register : CLICK_CFG
cparata 0:e4f89df7a7a5 1406 * Address : 0X38
cparata 0:e4f89df7a7a5 1407 * Bit Group Name: YD
cparata 0:e4f89df7a7a5 1408 * Permission : RW
cparata 0:e4f89df7a7a5 1409 *******************************************************************************/
cparata 0:e4f89df7a7a5 1410 typedef enum {
cparata 0:e4f89df7a7a5 1411 LSM303AGR_ACC_YD_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1412 LSM303AGR_ACC_YD_ENABLED =0x08,
cparata 0:e4f89df7a7a5 1413 } LSM303AGR_ACC_YD_t;
cparata 0:e4f89df7a7a5 1414
cparata 0:e4f89df7a7a5 1415 #define LSM303AGR_ACC_YD_MASK 0x08
cparata 0:e4f89df7a7a5 1416 status_t LSM303AGR_ACC_W_YDouble(void *handle, LSM303AGR_ACC_YD_t newValue);
cparata 0:e4f89df7a7a5 1417 status_t LSM303AGR_ACC_R_YDouble(void *handle, LSM303AGR_ACC_YD_t *value);
cparata 0:e4f89df7a7a5 1418
cparata 0:e4f89df7a7a5 1419 /*******************************************************************************
cparata 0:e4f89df7a7a5 1420 * Register : CLICK_CFG
cparata 0:e4f89df7a7a5 1421 * Address : 0X38
cparata 0:e4f89df7a7a5 1422 * Bit Group Name: ZS
cparata 0:e4f89df7a7a5 1423 * Permission : RW
cparata 0:e4f89df7a7a5 1424 *******************************************************************************/
cparata 0:e4f89df7a7a5 1425 typedef enum {
cparata 0:e4f89df7a7a5 1426 LSM303AGR_ACC_ZS_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1427 LSM303AGR_ACC_ZS_ENABLED =0x10,
cparata 0:e4f89df7a7a5 1428 } LSM303AGR_ACC_ZS_t;
cparata 0:e4f89df7a7a5 1429
cparata 0:e4f89df7a7a5 1430 #define LSM303AGR_ACC_ZS_MASK 0x10
cparata 0:e4f89df7a7a5 1431 status_t LSM303AGR_ACC_W_ZSingle(void *handle, LSM303AGR_ACC_ZS_t newValue);
cparata 0:e4f89df7a7a5 1432 status_t LSM303AGR_ACC_R_ZSingle(void *handle, LSM303AGR_ACC_ZS_t *value);
cparata 0:e4f89df7a7a5 1433
cparata 0:e4f89df7a7a5 1434 /*******************************************************************************
cparata 0:e4f89df7a7a5 1435 * Register : CLICK_CFG
cparata 0:e4f89df7a7a5 1436 * Address : 0X38
cparata 0:e4f89df7a7a5 1437 * Bit Group Name: ZD
cparata 0:e4f89df7a7a5 1438 * Permission : RW
cparata 0:e4f89df7a7a5 1439 *******************************************************************************/
cparata 0:e4f89df7a7a5 1440 typedef enum {
cparata 0:e4f89df7a7a5 1441 LSM303AGR_ACC_ZD_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1442 LSM303AGR_ACC_ZD_ENABLED =0x20,
cparata 0:e4f89df7a7a5 1443 } LSM303AGR_ACC_ZD_t;
cparata 0:e4f89df7a7a5 1444
cparata 0:e4f89df7a7a5 1445 #define LSM303AGR_ACC_ZD_MASK 0x20
cparata 0:e4f89df7a7a5 1446 status_t LSM303AGR_ACC_W_ZDouble(void *handle, LSM303AGR_ACC_ZD_t newValue);
cparata 0:e4f89df7a7a5 1447 status_t LSM303AGR_ACC_R_ZDouble(void *handle, LSM303AGR_ACC_ZD_t *value);
cparata 0:e4f89df7a7a5 1448
cparata 0:e4f89df7a7a5 1449 /*******************************************************************************
cparata 0:e4f89df7a7a5 1450 * Register : CLICK_SRC
cparata 0:e4f89df7a7a5 1451 * Address : 0X39
cparata 0:e4f89df7a7a5 1452 * Bit Group Name: X
cparata 0:e4f89df7a7a5 1453 * Permission : RO
cparata 0:e4f89df7a7a5 1454 *******************************************************************************/
cparata 0:e4f89df7a7a5 1455 typedef enum {
cparata 0:e4f89df7a7a5 1456 LSM303AGR_ACC_X_DOWN =0x00,
cparata 0:e4f89df7a7a5 1457 LSM303AGR_ACC_X_UP =0x01,
cparata 0:e4f89df7a7a5 1458 } LSM303AGR_ACC_X_t;
cparata 0:e4f89df7a7a5 1459
cparata 0:e4f89df7a7a5 1460 #define LSM303AGR_ACC_X_MASK 0x01
cparata 0:e4f89df7a7a5 1461 status_t LSM303AGR_ACC_R_ClickX(void *handle, LSM303AGR_ACC_X_t *value);
cparata 0:e4f89df7a7a5 1462
cparata 0:e4f89df7a7a5 1463 /*******************************************************************************
cparata 0:e4f89df7a7a5 1464 * Register : CLICK_SRC
cparata 0:e4f89df7a7a5 1465 * Address : 0X39
cparata 0:e4f89df7a7a5 1466 * Bit Group Name: Y
cparata 0:e4f89df7a7a5 1467 * Permission : RO
cparata 0:e4f89df7a7a5 1468 *******************************************************************************/
cparata 0:e4f89df7a7a5 1469 typedef enum {
cparata 0:e4f89df7a7a5 1470 LSM303AGR_ACC_Y_DOWN =0x00,
cparata 0:e4f89df7a7a5 1471 LSM303AGR_ACC_Y_UP =0x02,
cparata 0:e4f89df7a7a5 1472 } LSM303AGR_ACC_Y_t;
cparata 0:e4f89df7a7a5 1473
cparata 0:e4f89df7a7a5 1474 #define LSM303AGR_ACC_Y_MASK 0x02
cparata 0:e4f89df7a7a5 1475 status_t LSM303AGR_ACC_R_ClickY(void *handle, LSM303AGR_ACC_Y_t *value);
cparata 0:e4f89df7a7a5 1476
cparata 0:e4f89df7a7a5 1477 /*******************************************************************************
cparata 0:e4f89df7a7a5 1478 * Register : CLICK_SRC
cparata 0:e4f89df7a7a5 1479 * Address : 0X39
cparata 0:e4f89df7a7a5 1480 * Bit Group Name: Z
cparata 0:e4f89df7a7a5 1481 * Permission : RO
cparata 0:e4f89df7a7a5 1482 *******************************************************************************/
cparata 0:e4f89df7a7a5 1483 typedef enum {
cparata 0:e4f89df7a7a5 1484 LSM303AGR_ACC_Z_DOWN =0x00,
cparata 0:e4f89df7a7a5 1485 LSM303AGR_ACC_Z_UP =0x04,
cparata 0:e4f89df7a7a5 1486 } LSM303AGR_ACC_Z_t;
cparata 0:e4f89df7a7a5 1487
cparata 0:e4f89df7a7a5 1488 #define LSM303AGR_ACC_Z_MASK 0x04
cparata 0:e4f89df7a7a5 1489 status_t LSM303AGR_ACC_R_ClickZ(void *handle, LSM303AGR_ACC_Z_t *value);
cparata 0:e4f89df7a7a5 1490
cparata 0:e4f89df7a7a5 1491 /*******************************************************************************
cparata 0:e4f89df7a7a5 1492 * Register : CLICK_SRC
cparata 0:e4f89df7a7a5 1493 * Address : 0X39
cparata 0:e4f89df7a7a5 1494 * Bit Group Name: SIGN
cparata 0:e4f89df7a7a5 1495 * Permission : RO
cparata 0:e4f89df7a7a5 1496 *******************************************************************************/
cparata 0:e4f89df7a7a5 1497 typedef enum {
cparata 0:e4f89df7a7a5 1498 LSM303AGR_ACC_SIGN_POSITIVE =0x00,
cparata 0:e4f89df7a7a5 1499 LSM303AGR_ACC_SIGN_NEGATIVE =0x08,
cparata 0:e4f89df7a7a5 1500 } LSM303AGR_ACC_SIGN_t;
cparata 0:e4f89df7a7a5 1501
cparata 0:e4f89df7a7a5 1502 #define LSM303AGR_ACC_SIGN_MASK 0x08
cparata 0:e4f89df7a7a5 1503 status_t LSM303AGR_ACC_R_ClickSign(void *handle, LSM303AGR_ACC_SIGN_t *value);
cparata 0:e4f89df7a7a5 1504
cparata 0:e4f89df7a7a5 1505 /*******************************************************************************
cparata 0:e4f89df7a7a5 1506 * Register : CLICK_SRC
cparata 0:e4f89df7a7a5 1507 * Address : 0X39
cparata 0:e4f89df7a7a5 1508 * Bit Group Name: SCLICK
cparata 0:e4f89df7a7a5 1509 * Permission : RO
cparata 0:e4f89df7a7a5 1510 *******************************************************************************/
cparata 0:e4f89df7a7a5 1511 typedef enum {
cparata 0:e4f89df7a7a5 1512 LSM303AGR_ACC_SCLICK_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1513 LSM303AGR_ACC_SCLICK_ENABLED =0x10,
cparata 0:e4f89df7a7a5 1514 } LSM303AGR_ACC_SCLICK_t;
cparata 0:e4f89df7a7a5 1515
cparata 0:e4f89df7a7a5 1516 #define LSM303AGR_ACC_SCLICK_MASK 0x10
cparata 0:e4f89df7a7a5 1517 status_t LSM303AGR_ACC_R_SingleCLICK(void *handle, LSM303AGR_ACC_SCLICK_t *value);
cparata 0:e4f89df7a7a5 1518
cparata 0:e4f89df7a7a5 1519 /*******************************************************************************
cparata 0:e4f89df7a7a5 1520 * Register : CLICK_SRC
cparata 0:e4f89df7a7a5 1521 * Address : 0X39
cparata 0:e4f89df7a7a5 1522 * Bit Group Name: DCLICK
cparata 0:e4f89df7a7a5 1523 * Permission : RO
cparata 0:e4f89df7a7a5 1524 *******************************************************************************/
cparata 0:e4f89df7a7a5 1525 typedef enum {
cparata 0:e4f89df7a7a5 1526 LSM303AGR_ACC_DCLICK_DISABLED =0x00,
cparata 0:e4f89df7a7a5 1527 LSM303AGR_ACC_DCLICK_ENABLED =0x20,
cparata 0:e4f89df7a7a5 1528 } LSM303AGR_ACC_DCLICK_t;
cparata 0:e4f89df7a7a5 1529
cparata 0:e4f89df7a7a5 1530 #define LSM303AGR_ACC_DCLICK_MASK 0x20
cparata 0:e4f89df7a7a5 1531 status_t LSM303AGR_ACC_R_DoubleCLICK(void *handle, LSM303AGR_ACC_DCLICK_t *value);
cparata 0:e4f89df7a7a5 1532
cparata 0:e4f89df7a7a5 1533 /*******************************************************************************
cparata 0:e4f89df7a7a5 1534 * Register : CLICK_SRC
cparata 0:e4f89df7a7a5 1535 * Address : 0X39
cparata 0:e4f89df7a7a5 1536 * Bit Group Name: IA
cparata 0:e4f89df7a7a5 1537 * Permission : RO
cparata 0:e4f89df7a7a5 1538 *******************************************************************************/
cparata 0:e4f89df7a7a5 1539 typedef enum {
cparata 0:e4f89df7a7a5 1540 LSM303AGR_ACC_CLICK_IA_DOWN =0x00,
cparata 0:e4f89df7a7a5 1541 LSM303AGR_ACC_CLICK_IA_UP =0x40,
cparata 0:e4f89df7a7a5 1542 } LSM303AGR_ACC_CLICK_IA_t;
cparata 0:e4f89df7a7a5 1543
cparata 0:e4f89df7a7a5 1544 #define LSM303AGR_ACC_IA_MASK 0x40
cparata 0:e4f89df7a7a5 1545 status_t LSM303AGR_ACC_R_CLICK_IA(void *handle, LSM303AGR_ACC_CLICK_IA_t *value);
cparata 0:e4f89df7a7a5 1546
cparata 0:e4f89df7a7a5 1547 /*******************************************************************************
cparata 0:e4f89df7a7a5 1548 * Register : CLICK_THS
cparata 0:e4f89df7a7a5 1549 * Address : 0X3A
cparata 0:e4f89df7a7a5 1550 * Bit Group Name: THS
cparata 0:e4f89df7a7a5 1551 * Permission : RW
cparata 0:e4f89df7a7a5 1552 *******************************************************************************/
cparata 0:e4f89df7a7a5 1553 #define LSM303AGR_ACC_THS_MASK 0x7F
cparata 0:e4f89df7a7a5 1554 #define LSM303AGR_ACC_THS_POSITION 0
cparata 0:e4f89df7a7a5 1555 status_t LSM303AGR_ACC_W_ClickThreshold(void *handle, u8_t newValue);
cparata 0:e4f89df7a7a5 1556 status_t LSM303AGR_ACC_R_ClickThreshold(void *handle, u8_t *value);
cparata 0:e4f89df7a7a5 1557
cparata 0:e4f89df7a7a5 1558 /*******************************************************************************
cparata 0:e4f89df7a7a5 1559 * Register : TIME_LIMIT
cparata 0:e4f89df7a7a5 1560 * Address : 0X3B
cparata 0:e4f89df7a7a5 1561 * Bit Group Name: TLI
cparata 0:e4f89df7a7a5 1562 * Permission : RW
cparata 0:e4f89df7a7a5 1563 *******************************************************************************/
cparata 0:e4f89df7a7a5 1564 #define LSM303AGR_ACC_TLI_MASK 0x7F
cparata 0:e4f89df7a7a5 1565 #define LSM303AGR_ACC_TLI_POSITION 0
cparata 0:e4f89df7a7a5 1566 status_t LSM303AGR_ACC_W_ClickTimeLimit(void *handle, u8_t newValue);
cparata 0:e4f89df7a7a5 1567 status_t LSM303AGR_ACC_R_ClickTimeLimit(void *handle, u8_t *value);
cparata 0:e4f89df7a7a5 1568
cparata 0:e4f89df7a7a5 1569 /*******************************************************************************
cparata 0:e4f89df7a7a5 1570 * Register : TIME_LATENCY
cparata 0:e4f89df7a7a5 1571 * Address : 0X3C
cparata 0:e4f89df7a7a5 1572 * Bit Group Name: TLA
cparata 0:e4f89df7a7a5 1573 * Permission : RW
cparata 0:e4f89df7a7a5 1574 *******************************************************************************/
cparata 0:e4f89df7a7a5 1575 #define LSM303AGR_ACC_TLA_MASK 0xFF
cparata 0:e4f89df7a7a5 1576 #define LSM303AGR_ACC_TLA_POSITION 0
cparata 0:e4f89df7a7a5 1577 status_t LSM303AGR_ACC_W_ClickTimeLatency(void *handle, u8_t newValue);
cparata 0:e4f89df7a7a5 1578 status_t LSM303AGR_ACC_R_ClickTimeLatency(void *handle, u8_t *value);
cparata 0:e4f89df7a7a5 1579
cparata 0:e4f89df7a7a5 1580 /*******************************************************************************
cparata 0:e4f89df7a7a5 1581 * Register : TIME_WINDOW
cparata 0:e4f89df7a7a5 1582 * Address : 0X3D
cparata 0:e4f89df7a7a5 1583 * Bit Group Name: TW
cparata 0:e4f89df7a7a5 1584 * Permission : RW
cparata 0:e4f89df7a7a5 1585 *******************************************************************************/
cparata 0:e4f89df7a7a5 1586 #define LSM303AGR_ACC_TW_MASK 0xFF
cparata 0:e4f89df7a7a5 1587 #define LSM303AGR_ACC_TW_POSITION 0
cparata 0:e4f89df7a7a5 1588 status_t LSM303AGR_ACC_W_ClickTimeWindow(void *handle, u8_t newValue);
cparata 0:e4f89df7a7a5 1589 status_t LSM303AGR_ACC_R_ClickTimeWindow(void *handle, u8_t *value);
cparata 0:e4f89df7a7a5 1590 /*******************************************************************************
cparata 0:e4f89df7a7a5 1591 * Register : <REGISTER_L> - <REGISTER_H>
cparata 0:e4f89df7a7a5 1592 * Output Type : Voltage_ADC
cparata 0:e4f89df7a7a5 1593 * Permission : RO
cparata 0:e4f89df7a7a5 1594 *******************************************************************************/
cparata 0:e4f89df7a7a5 1595 status_t LSM303AGR_ACC_Get_Voltage_ADC(void *handle, u8_t *buff);
cparata 0:e4f89df7a7a5 1596 /*******************************************************************************
cparata 0:e4f89df7a7a5 1597 * Register : <REGISTER_L> - <REGISTER_H>
cparata 0:e4f89df7a7a5 1598 * Output Type : Acceleration
cparata 0:e4f89df7a7a5 1599 * Permission : RO
cparata 0:e4f89df7a7a5 1600 *******************************************************************************/
cparata 0:e4f89df7a7a5 1601 status_t LSM303AGR_ACC_Get_Raw_Acceleration(void *handle, u8_t *buff);
cparata 0:e4f89df7a7a5 1602 status_t LSM303AGR_ACC_Get_Acceleration(void *handle, int *buff);
cparata 0:e4f89df7a7a5 1603
cparata 0:e4f89df7a7a5 1604 #ifdef __cplusplus
cparata 0:e4f89df7a7a5 1605 }
cparata 0:e4f89df7a7a5 1606 #endif
cparata 0:e4f89df7a7a5 1607
cparata 0:e4f89df7a7a5 1608 #endif