![](/media/cache/group/logo_mPY59fz.jpg.50x50_q85.jpg)
Programme complet de bâton de marche sauf capteur cardiaque
Dependencies: mbed SimpleBLE X_NUCLEO_IDB0XA1 SDFileSystem MBed_Adafruit-GPS-Library Arduino USBDevice
LSM9DS1_registre.h@0:6e330c197193, 2020-01-27 (annotated)
- Committer:
- zmoutaou
- Date:
- Mon Jan 27 12:04:30 2020 +0000
- Revision:
- 0:6e330c197193
BMC
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
zmoutaou | 0:6e330c197193 | 1 | // Accelerometer and Gyroscope registers |
zmoutaou | 0:6e330c197193 | 2 | #define LSM9DS1XG_ACT_THS 0x04 |
zmoutaou | 0:6e330c197193 | 3 | #define LSM9DS1XG_ACT_DUR 0x05 |
zmoutaou | 0:6e330c197193 | 4 | #define LSM9DS1XG_INT_GEN_CFG_XL 0x06 |
zmoutaou | 0:6e330c197193 | 5 | #define LSM9DS1XG_INT_GEN_THS_X_XL 0x07 |
zmoutaou | 0:6e330c197193 | 6 | #define LSM9DS1XG_INT_GEN_THS_Y_XL 0x08 |
zmoutaou | 0:6e330c197193 | 7 | #define LSM9DS1XG_INT_GEN_THS_Z_XL 0x09 |
zmoutaou | 0:6e330c197193 | 8 | #define LSM9DS1XG_INT_GEN_DUR_XL 0x0A |
zmoutaou | 0:6e330c197193 | 9 | #define LSM9DS1XG_REFERENCE_G 0x0B |
zmoutaou | 0:6e330c197193 | 10 | #define LSM9DS1XG_INT1_CTRL 0x0C |
zmoutaou | 0:6e330c197193 | 11 | #define LSM9DS1XG_INT2_CTRL 0x0D |
zmoutaou | 0:6e330c197193 | 12 | #define LSM9DS1XG_WHO_AM_I 0x0F // should return 0x68 |
zmoutaou | 0:6e330c197193 | 13 | #define LSM9DS1XG_CTRL_REG1_G 0x10 |
zmoutaou | 0:6e330c197193 | 14 | #define LSM9DS1XG_CTRL_REG2_G 0x11 |
zmoutaou | 0:6e330c197193 | 15 | #define LSM9DS1XG_CTRL_REG3_G 0x12 |
zmoutaou | 0:6e330c197193 | 16 | #define LSM9DS1XG_ORIENT_CFG_G 0x13 |
zmoutaou | 0:6e330c197193 | 17 | #define LSM9DS1XG_INT_GEN_SRC_G 0x14 |
zmoutaou | 0:6e330c197193 | 18 | #define LSM9DS1XG_OUT_TEMP_L 0x15 |
zmoutaou | 0:6e330c197193 | 19 | #define LSM9DS1XG_OUT_TEMP_H 0x16 |
zmoutaou | 0:6e330c197193 | 20 | #define LSM9DS1XG_STATUS_REG 0x17 |
zmoutaou | 0:6e330c197193 | 21 | #define LSM9DS1XG_OUT_X_L_G 0x18 |
zmoutaou | 0:6e330c197193 | 22 | #define LSM9DS1XG_OUT_X_H_G 0x19 |
zmoutaou | 0:6e330c197193 | 23 | #define LSM9DS1XG_OUT_Y_L_G 0x1A |
zmoutaou | 0:6e330c197193 | 24 | #define LSM9DS1XG_OUT_Y_H_G 0x1B |
zmoutaou | 0:6e330c197193 | 25 | #define LSM9DS1XG_OUT_Z_L_G 0x1C |
zmoutaou | 0:6e330c197193 | 26 | #define LSM9DS1XG_OUT_Z_H_G 0x1D |
zmoutaou | 0:6e330c197193 | 27 | #define LSM9DS1XG_CTRL_REG4 0x1E |
zmoutaou | 0:6e330c197193 | 28 | #define LSM9DS1XG_CTRL_REG5_XL 0x1F |
zmoutaou | 0:6e330c197193 | 29 | #define LSM9DS1XG_CTRL_REG6_XL 0x20 |
zmoutaou | 0:6e330c197193 | 30 | #define LSM9DS1XG_CTRL_REG7_XL 0x21 |
zmoutaou | 0:6e330c197193 | 31 | #define LSM9DS1XG_CTRL_REG8 0x22 |
zmoutaou | 0:6e330c197193 | 32 | #define LSM9DS1XG_CTRL_REG9 0x23 |
zmoutaou | 0:6e330c197193 | 33 | #define LSM9DS1XG_CTRL_REG10 0x24 |
zmoutaou | 0:6e330c197193 | 34 | #define LSM9DS1XG_INT_GEN_SRC_XL 0x26 |
zmoutaou | 0:6e330c197193 | 35 | //#define LSM9DS1XG_STATUS_REG 0x27 // duplicate of 0x17! |
zmoutaou | 0:6e330c197193 | 36 | #define LSM9DS1XG_OUT_X_L_XL 0x28 |
zmoutaou | 0:6e330c197193 | 37 | #define LSM9DS1XG_OUT_X_H_XL 0x29 |
zmoutaou | 0:6e330c197193 | 38 | #define LSM9DS1XG_OUT_Y_L_XL 0x2A |
zmoutaou | 0:6e330c197193 | 39 | #define LSM9DS1XG_OUT_Y_H_XL 0x2B |
zmoutaou | 0:6e330c197193 | 40 | #define LSM9DS1XG_OUT_Z_L_XL 0x2C |
zmoutaou | 0:6e330c197193 | 41 | #define LSM9DS1XG_OUT_Z_H_XL 0x2D |
zmoutaou | 0:6e330c197193 | 42 | #define LSM9DS1XG_FIFO_CTRL 0x2E |
zmoutaou | 0:6e330c197193 | 43 | #define LSM9DS1XG_FIFO_SRC 0x2F |
zmoutaou | 0:6e330c197193 | 44 | #define LSM9DS1XG_INT_GEN_CFG_G 0x30 |
zmoutaou | 0:6e330c197193 | 45 | #define LSM9DS1XG_INT_GEN_THS_XH_G 0x31 |
zmoutaou | 0:6e330c197193 | 46 | #define LSM9DS1XG_INT_GEN_THS_XL_G 0x32 |
zmoutaou | 0:6e330c197193 | 47 | #define LSM9DS1XG_INT_GEN_THS_YH_G 0x33 |
zmoutaou | 0:6e330c197193 | 48 | #define LSM9DS1XG_INT_GEN_THS_YL_G 0x34 |
zmoutaou | 0:6e330c197193 | 49 | #define LSM9DS1XG_INT_GEN_THS_ZH_G 0x35 |
zmoutaou | 0:6e330c197193 | 50 | #define LSM9DS1XG_INT_GEN_THS_ZL_G 0x36 |
zmoutaou | 0:6e330c197193 | 51 | #define LSM9DS1XG_INT_GEN_DUR_G 0x37 |
zmoutaou | 0:6e330c197193 | 52 | // |
zmoutaou | 0:6e330c197193 | 53 | // Magnetometer registers |
zmoutaou | 0:6e330c197193 | 54 | #define LSM9DS1M_OFFSET_X_REG_L_M 0x05 |
zmoutaou | 0:6e330c197193 | 55 | #define LSM9DS1M_OFFSET_X_REG_H_M 0x06 |
zmoutaou | 0:6e330c197193 | 56 | #define LSM9DS1M_OFFSET_Y_REG_L_M 0x07 |
zmoutaou | 0:6e330c197193 | 57 | #define LSM9DS1M_OFFSET_Y_REG_H_M 0x08 |
zmoutaou | 0:6e330c197193 | 58 | #define LSM9DS1M_OFFSET_Z_REG_L_M 0x09 |
zmoutaou | 0:6e330c197193 | 59 | #define LSM9DS1M_OFFSET_Z_REG_H_M 0x0A |
zmoutaou | 0:6e330c197193 | 60 | #define LSM9DS1M_WHO_AM_I 0x0F |
zmoutaou | 0:6e330c197193 | 61 | #define LSM9DS1M_CTRL_REG1_M 0x20 |
zmoutaou | 0:6e330c197193 | 62 | #define LSM9DS1M_CTRL_REG2_M 0x21 |
zmoutaou | 0:6e330c197193 | 63 | #define LSM9DS1M_CTRL_REG3_M 0x22 |
zmoutaou | 0:6e330c197193 | 64 | #define LSM9DS1M_CTRL_REG4_M 0x23 |
zmoutaou | 0:6e330c197193 | 65 | #define LSM9DS1M_CTRL_REG5_M 0x24 |
zmoutaou | 0:6e330c197193 | 66 | #define LSM9DS1M_STATUS_REG_M 0x27 |
zmoutaou | 0:6e330c197193 | 67 | #define LSM9DS1M_OUT_X_L_M 0x28 |
zmoutaou | 0:6e330c197193 | 68 | #define LSM9DS1M_OUT_X_H_M 0x29 |
zmoutaou | 0:6e330c197193 | 69 | #define LSM9DS1M_OUT_Y_L_M 0x2A |
zmoutaou | 0:6e330c197193 | 70 | #define LSM9DS1M_OUT_Y_H_M 0x2B |
zmoutaou | 0:6e330c197193 | 71 | #define LSM9DS1M_OUT_Z_L_M 0x2C |
zmoutaou | 0:6e330c197193 | 72 | #define LSM9DS1M_OUT_Z_H_M 0x2D |
zmoutaou | 0:6e330c197193 | 73 | #define LSM9DS1M_INT_CFG_M 0x30 |
zmoutaou | 0:6e330c197193 | 74 | #define LSM9DS1M_INT_SRC_M 0x31 |
zmoutaou | 0:6e330c197193 | 75 | #define LSM9DS1M_INT_THS_L_M 0x32 |
zmoutaou | 0:6e330c197193 | 76 | #define LSM9DS1M_INT_THS_H_M 0x33 |
zmoutaou | 0:6e330c197193 | 77 | |
zmoutaou | 0:6e330c197193 | 78 | // Using the LSM9DS1+MS5611 Teensy 3.1 Add-On shield, ADO is set to 1 |
zmoutaou | 0:6e330c197193 | 79 | // Seven-bit device address of accel/gyro is 110101 for ADO = 0 and 110101 for ADO = 1 |
zmoutaou | 0:6e330c197193 | 80 | |
zmoutaou | 0:6e330c197193 | 81 | #define LSM9DS1XG_ADDRESS 0xD4 // Device address when ADO = 1 |
zmoutaou | 0:6e330c197193 | 82 | #define LSM9DS1M_ADDRESS 0x38 // Address of magnetometer |
zmoutaou | 0:6e330c197193 | 83 | #define SerialDebug true // set to true to get Serial output for debugging |
zmoutaou | 0:6e330c197193 | 84 | |
zmoutaou | 0:6e330c197193 | 85 | |
zmoutaou | 0:6e330c197193 | 86 | |
zmoutaou | 0:6e330c197193 | 87 | |
zmoutaou | 0:6e330c197193 | 88 | |
zmoutaou | 0:6e330c197193 | 89 | |
zmoutaou | 0:6e330c197193 | 90 | // Set initial input parameters |
zmoutaou | 0:6e330c197193 | 91 | enum Ascale { |
zmoutaou | 0:6e330c197193 | 92 | // set of allowable accel full scale settings |
zmoutaou | 0:6e330c197193 | 93 | AFS_2G = 0, |
zmoutaou | 0:6e330c197193 | 94 | AFS_16G, |
zmoutaou | 0:6e330c197193 | 95 | AFS_4G, |
zmoutaou | 0:6e330c197193 | 96 | AFS_8G |
zmoutaou | 0:6e330c197193 | 97 | }; |
zmoutaou | 0:6e330c197193 | 98 | |
zmoutaou | 0:6e330c197193 | 99 | enum Aodr { // set of allowable gyro sample rates |
zmoutaou | 0:6e330c197193 | 100 | AODR_PowerDown = 0, |
zmoutaou | 0:6e330c197193 | 101 | AODR_10Hz, |
zmoutaou | 0:6e330c197193 | 102 | AODR_50Hz, |
zmoutaou | 0:6e330c197193 | 103 | AODR_119Hz, |
zmoutaou | 0:6e330c197193 | 104 | AODR_238Hz, |
zmoutaou | 0:6e330c197193 | 105 | AODR_476Hz, |
zmoutaou | 0:6e330c197193 | 106 | AODR_952Hz |
zmoutaou | 0:6e330c197193 | 107 | }; |
zmoutaou | 0:6e330c197193 | 108 | |
zmoutaou | 0:6e330c197193 | 109 | enum Abw { // set of allowable accewl bandwidths |
zmoutaou | 0:6e330c197193 | 110 | ABW_408Hz = 0, |
zmoutaou | 0:6e330c197193 | 111 | ABW_211Hz, |
zmoutaou | 0:6e330c197193 | 112 | ABW_105Hz, |
zmoutaou | 0:6e330c197193 | 113 | ABW_50Hz |
zmoutaou | 0:6e330c197193 | 114 | }; |
zmoutaou | 0:6e330c197193 | 115 | |
zmoutaou | 0:6e330c197193 | 116 | enum Gscale { // set of allowable gyro full scale settings |
zmoutaou | 0:6e330c197193 | 117 | GFS_245DPS = 0, |
zmoutaou | 0:6e330c197193 | 118 | GFS_500DPS, |
zmoutaou | 0:6e330c197193 | 119 | GFS_NoOp, |
zmoutaou | 0:6e330c197193 | 120 | GFS_2000DPS |
zmoutaou | 0:6e330c197193 | 121 | }; |
zmoutaou | 0:6e330c197193 | 122 | |
zmoutaou | 0:6e330c197193 | 123 | enum Godr { // set of allowable gyro sample rates |
zmoutaou | 0:6e330c197193 | 124 | GODR_PowerDown = 0, |
zmoutaou | 0:6e330c197193 | 125 | GODR_14_9Hz, |
zmoutaou | 0:6e330c197193 | 126 | GODR_59_5Hz, |
zmoutaou | 0:6e330c197193 | 127 | GODR_119Hz, |
zmoutaou | 0:6e330c197193 | 128 | GODR_238Hz, |
zmoutaou | 0:6e330c197193 | 129 | GODR_476Hz, |
zmoutaou | 0:6e330c197193 | 130 | GODR_952Hz |
zmoutaou | 0:6e330c197193 | 131 | }; |
zmoutaou | 0:6e330c197193 | 132 | |
zmoutaou | 0:6e330c197193 | 133 | enum Gbw { // set of allowable gyro data bandwidths |
zmoutaou | 0:6e330c197193 | 134 | GBW_low = 0, // 14 Hz at Godr = 238 Hz, 33 Hz at Godr = 952 Hz |
zmoutaou | 0:6e330c197193 | 135 | GBW_med, // 29 Hz at Godr = 238 Hz, 40 Hz at Godr = 952 Hz |
zmoutaou | 0:6e330c197193 | 136 | GBW_high, // 63 Hz at Godr = 238 Hz, 58 Hz at Godr = 952 Hz |
zmoutaou | 0:6e330c197193 | 137 | GBW_highest // 78 Hz at Godr = 238 Hz, 100 Hz at Godr = 952 Hz |
zmoutaou | 0:6e330c197193 | 138 | }; |
zmoutaou | 0:6e330c197193 | 139 | |
zmoutaou | 0:6e330c197193 | 140 | enum Mscale { // set of allowable mag full scale settings |
zmoutaou | 0:6e330c197193 | 141 | MFS_4G = 0, |
zmoutaou | 0:6e330c197193 | 142 | MFS_8G, |
zmoutaou | 0:6e330c197193 | 143 | MFS_12G, |
zmoutaou | 0:6e330c197193 | 144 | MFS_16G |
zmoutaou | 0:6e330c197193 | 145 | }; |
zmoutaou | 0:6e330c197193 | 146 | |
zmoutaou | 0:6e330c197193 | 147 | enum Mmode { |
zmoutaou | 0:6e330c197193 | 148 | MMode_LowPower = 0, |
zmoutaou | 0:6e330c197193 | 149 | MMode_MedPerformance, |
zmoutaou | 0:6e330c197193 | 150 | MMode_HighPerformance, |
zmoutaou | 0:6e330c197193 | 151 | MMode_UltraHighPerformance |
zmoutaou | 0:6e330c197193 | 152 | }; |
zmoutaou | 0:6e330c197193 | 153 | |
zmoutaou | 0:6e330c197193 | 154 | enum Modr { // set of allowable mag sample rates |
zmoutaou | 0:6e330c197193 | 155 | MODR_0_625Hz = 0, |
zmoutaou | 0:6e330c197193 | 156 | MODR_1_25Hz, |
zmoutaou | 0:6e330c197193 | 157 | MODR_2_5Hz, |
zmoutaou | 0:6e330c197193 | 158 | MODR_5Hz, |
zmoutaou | 0:6e330c197193 | 159 | MODR_10Hz, |
zmoutaou | 0:6e330c197193 | 160 | MODR_20Hz, |
zmoutaou | 0:6e330c197193 | 161 | MODR_80Hz |
zmoutaou | 0:6e330c197193 | 162 | }; |
zmoutaou | 0:6e330c197193 | 163 | |
zmoutaou | 0:6e330c197193 | 164 | #define PI 3.141592653589793238463 |