IMU driver (this thing is a mess).

Dependents:   PM2_Libary PM2_Libary

Committer:
pmic
Date:
Wed Feb 23 07:16:58 2022 +0000
Revision:
0:211f27847e85
Included driver for LSM9DS1 IMU.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pmic 0:211f27847e85 1 /******************************************************************************
pmic 0:211f27847e85 2 LSM9DS1_Registers.h
pmic 0:211f27847e85 3 SFE_LSM9DS1 Library - LSM9DS1 Register Map
pmic 0:211f27847e85 4 Jim Lindblom @ SparkFun Electronics
pmic 0:211f27847e85 5 Original Creation Date: April 21, 2015
pmic 0:211f27847e85 6 https://github.com/sparkfun/LSM9DS1_Breakout
pmic 0:211f27847e85 7
pmic 0:211f27847e85 8 This file defines all registers internal to the gyro/accel and magnetometer
pmic 0:211f27847e85 9 devices in the LSM9DS1.
pmic 0:211f27847e85 10
pmic 0:211f27847e85 11 Development environment specifics:
pmic 0:211f27847e85 12 IDE: Arduino 1.6.0
pmic 0:211f27847e85 13 Hardware Platform: Arduino Uno
pmic 0:211f27847e85 14 LSM9DS1 Breakout Version: 1.0
pmic 0:211f27847e85 15
pmic 0:211f27847e85 16 This code is beerware; if you see me (or any other SparkFun employee) at the
pmic 0:211f27847e85 17 local, and you've found our code helpful, please buy us a round!
pmic 0:211f27847e85 18
pmic 0:211f27847e85 19 Distributed as-is; no warranty is given.
pmic 0:211f27847e85 20 ******************************************************************************/
pmic 0:211f27847e85 21
pmic 0:211f27847e85 22 #ifndef __LSM9DS1_Registers_H__
pmic 0:211f27847e85 23 #define __LSM9DS1_Registers_H__
pmic 0:211f27847e85 24
pmic 0:211f27847e85 25 /////////////////////////////////////////
pmic 0:211f27847e85 26 // LSM9DS1 Accel/Gyro (XL/G) Registers //
pmic 0:211f27847e85 27 /////////////////////////////////////////
pmic 0:211f27847e85 28 #define ACT_THS 0x04
pmic 0:211f27847e85 29 #define ACT_DUR 0x05
pmic 0:211f27847e85 30 #define INT_GEN_CFG_XL 0x06
pmic 0:211f27847e85 31 #define INT_GEN_THS_X_XL 0x07
pmic 0:211f27847e85 32 #define INT_GEN_THS_Y_XL 0x08
pmic 0:211f27847e85 33 #define INT_GEN_THS_Z_XL 0x09
pmic 0:211f27847e85 34 #define INT_GEN_DUR_XL 0x0A
pmic 0:211f27847e85 35 #define REFERENCE_G 0x0B
pmic 0:211f27847e85 36 #define INT1_CTRL 0x0C
pmic 0:211f27847e85 37 #define INT2_CTRL 0x0D
pmic 0:211f27847e85 38 #define WHO_AM_I_XG 0x0F
pmic 0:211f27847e85 39 #define CTRL_REG1_G 0x10
pmic 0:211f27847e85 40 #define CTRL_REG2_G 0x11
pmic 0:211f27847e85 41 #define CTRL_REG3_G 0x12
pmic 0:211f27847e85 42 #define ORIENT_CFG_G 0x13
pmic 0:211f27847e85 43 #define INT_GEN_SRC_G 0x14
pmic 0:211f27847e85 44 #define OUT_TEMP_L 0x15
pmic 0:211f27847e85 45 #define OUT_TEMP_H 0x16
pmic 0:211f27847e85 46 #define STATUS_REG_0 0x17
pmic 0:211f27847e85 47 #define OUT_X_L_G 0x18
pmic 0:211f27847e85 48 #define OUT_X_H_G 0x19
pmic 0:211f27847e85 49 #define OUT_Y_L_G 0x1A
pmic 0:211f27847e85 50 #define OUT_Y_H_G 0x1B
pmic 0:211f27847e85 51 #define OUT_Z_L_G 0x1C
pmic 0:211f27847e85 52 #define OUT_Z_H_G 0x1D
pmic 0:211f27847e85 53 #define CTRL_REG4 0x1E
pmic 0:211f27847e85 54 #define CTRL_REG5_XL 0x1F
pmic 0:211f27847e85 55 #define CTRL_REG6_XL 0x20
pmic 0:211f27847e85 56 #define CTRL_REG7_XL 0x21
pmic 0:211f27847e85 57 #define CTRL_REG8 0x22
pmic 0:211f27847e85 58 #define CTRL_REG9 0x23
pmic 0:211f27847e85 59 #define CTRL_REG10 0x24
pmic 0:211f27847e85 60 #define INT_GEN_SRC_XL 0x26
pmic 0:211f27847e85 61 #define STATUS_REG_1 0x27
pmic 0:211f27847e85 62 #define OUT_X_L_XL 0x28
pmic 0:211f27847e85 63 #define OUT_X_H_XL 0x29
pmic 0:211f27847e85 64 #define OUT_Y_L_XL 0x2A
pmic 0:211f27847e85 65 #define OUT_Y_H_XL 0x2B
pmic 0:211f27847e85 66 #define OUT_Z_L_XL 0x2C
pmic 0:211f27847e85 67 #define OUT_Z_H_XL 0x2D
pmic 0:211f27847e85 68 #define FIFO_CTRL 0x2E
pmic 0:211f27847e85 69 #define FIFO_SRC 0x2F
pmic 0:211f27847e85 70 #define INT_GEN_CFG_G 0x30
pmic 0:211f27847e85 71 #define INT_GEN_THS_XH_G 0x31
pmic 0:211f27847e85 72 #define INT_GEN_THS_XL_G 0x32
pmic 0:211f27847e85 73 #define INT_GEN_THS_YH_G 0x33
pmic 0:211f27847e85 74 #define INT_GEN_THS_YL_G 0x34
pmic 0:211f27847e85 75 #define INT_GEN_THS_ZH_G 0x35
pmic 0:211f27847e85 76 #define INT_GEN_THS_ZL_G 0x36
pmic 0:211f27847e85 77 #define INT_GEN_DUR_G 0x37
pmic 0:211f27847e85 78
pmic 0:211f27847e85 79 ///////////////////////////////
pmic 0:211f27847e85 80 // LSM9DS1 Magneto Registers //
pmic 0:211f27847e85 81 ///////////////////////////////
pmic 0:211f27847e85 82 #define OFFSET_X_REG_L_M 0x05
pmic 0:211f27847e85 83 #define OFFSET_X_REG_H_M 0x06
pmic 0:211f27847e85 84 #define OFFSET_Y_REG_L_M 0x07
pmic 0:211f27847e85 85 #define OFFSET_Y_REG_H_M 0x08
pmic 0:211f27847e85 86 #define OFFSET_Z_REG_L_M 0x09
pmic 0:211f27847e85 87 #define OFFSET_Z_REG_H_M 0x0A
pmic 0:211f27847e85 88 #define WHO_AM_I_M 0x0F
pmic 0:211f27847e85 89 #define CTRL_REG1_M 0x20
pmic 0:211f27847e85 90 #define CTRL_REG2_M 0x21
pmic 0:211f27847e85 91 #define CTRL_REG3_M 0x22
pmic 0:211f27847e85 92 #define CTRL_REG4_M 0x23
pmic 0:211f27847e85 93 #define CTRL_REG5_M 0x24
pmic 0:211f27847e85 94 #define STATUS_REG_M 0x27
pmic 0:211f27847e85 95 #define OUT_X_L_M 0x28
pmic 0:211f27847e85 96 #define OUT_X_H_M 0x29
pmic 0:211f27847e85 97 #define OUT_Y_L_M 0x2A
pmic 0:211f27847e85 98 #define OUT_Y_H_M 0x2B
pmic 0:211f27847e85 99 #define OUT_Z_L_M 0x2C
pmic 0:211f27847e85 100 #define OUT_Z_H_M 0x2D
pmic 0:211f27847e85 101 #define INT_CFG_M 0x30
pmic 0:211f27847e85 102 #define INT_SRC_M 0x30
pmic 0:211f27847e85 103 #define INT_THS_L_M 0x32
pmic 0:211f27847e85 104 #define INT_THS_H_M 0x33
pmic 0:211f27847e85 105
pmic 0:211f27847e85 106 ////////////////////////////////
pmic 0:211f27847e85 107 // LSM9DS1 WHO_AM_I Responses //
pmic 0:211f27847e85 108 ////////////////////////////////
pmic 0:211f27847e85 109 #define WHO_AM_I_AG_RSP 0x68
pmic 0:211f27847e85 110 #define WHO_AM_I_M_RSP 0x3D
pmic 0:211f27847e85 111
pmic 0:211f27847e85 112 #endif
pmic 0:211f27847e85 113