Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of LIS3DH by
LIS3DH.h@9:c32d2b25d4c2, 2018-06-09 (annotated)
- Committer:
- electronichamsters
- Date:
- Sat Jun 09 09:12:34 2018 +0000
- Revision:
- 9:c32d2b25d4c2
- Parent:
- 8:0999d25ed7bc
- Child:
- 11:972c166f654b
asdf
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| kenjiArai | 0:5d5aac272642 | 1 | /* |
| kenjiArai | 6:e269772dad35 | 2 | * mbed library program |
| kenjiArai | 0:5d5aac272642 | 3 | * LIS3DH MEMS motion sensor: 3-axis "nano" accelerometer, made by STMicroelectronics |
| kenjiArai | 0:5d5aac272642 | 4 | * http://www.st-japan.co.jp/web/jp/catalog/sense_power/FM89/SC444/PF250725 |
| kenjiArai | 0:5d5aac272642 | 5 | * |
| kenjiArai | 8:0999d25ed7bc | 6 | * Copyright (c) 2014,'15,'17 Kenji Arai / JH1PJL |
| kenjiArai | 0:5d5aac272642 | 7 | * http://www.page.sannet.ne.jp/kenjia/index.html |
| kenjiArai | 0:5d5aac272642 | 8 | * http://mbed.org/users/kenjiArai/ |
| kenjiArai | 8:0999d25ed7bc | 9 | * Created: July 14th, 2014 |
| kenjiArai | 8:0999d25ed7bc | 10 | * Revised: August 23rd, 2017 |
| kenjiArai | 0:5d5aac272642 | 11 | */ |
| kenjiArai | 0:5d5aac272642 | 12 | |
| kenjiArai | 0:5d5aac272642 | 13 | #ifndef LIS3DH_H |
| kenjiArai | 0:5d5aac272642 | 14 | #define LIS3DH_H |
| kenjiArai | 0:5d5aac272642 | 15 | |
| kenjiArai | 0:5d5aac272642 | 16 | #include "mbed.h" |
| kenjiArai | 0:5d5aac272642 | 17 | |
| kenjiArai | 7:50ac3372def2 | 18 | // revision 6 have two bugs, (1) read_mg_data, (2) divided by 15 (16 is coorect value) |
| kenjiArai | 7:50ac3372def2 | 19 | #define OLD_REV 0 // KEEP 0!! (If you set 1, work as old revision) |
| kenjiArai | 7:50ac3372def2 | 20 | |
| kenjiArai | 0:5d5aac272642 | 21 | // LIS3DH Address |
| kenjiArai | 0:5d5aac272642 | 22 | // 7bit address = 0b001100x(0x18 or 0x19 depends on SA0/SDO) |
| kenjiArai | 5:725df775f168 | 23 | #define LIS3DH_G_CHIP_ADDR (0x18 << 1) // SA0(=SDO pin) = Ground |
| kenjiArai | 5:725df775f168 | 24 | #define LIS3DH_V_CHIP_ADDR (0x19 << 1) // SA0(=SDO pin) = Vdd |
| kenjiArai | 0:5d5aac272642 | 25 | |
| kenjiArai | 0:5d5aac272642 | 26 | |
| kenjiArai | 0:5d5aac272642 | 27 | // LIS3DH ID |
| kenjiArai | 5:725df775f168 | 28 | #define I_AM_LIS3DH 0x33 |
| kenjiArai | 0:5d5aac272642 | 29 | |
| kenjiArai | 0:5d5aac272642 | 30 | // Register's definition |
| kenjiArai | 0:5d5aac272642 | 31 | #define LIS3DH_STATUS_REG_AUX 0x07 |
| kenjiArai | 0:5d5aac272642 | 32 | #define LIS3DH_OUT_ADC1_L 0x08 |
| kenjiArai | 0:5d5aac272642 | 33 | #define LIS3DH_OUT_ADC1_H 0x09 |
| kenjiArai | 0:5d5aac272642 | 34 | #define LIS3DH_OUT_ADC2_L 0x0a |
| kenjiArai | 0:5d5aac272642 | 35 | #define LIS3DH_OUT_ADC2_H 0x0b |
| kenjiArai | 0:5d5aac272642 | 36 | #define LIS3DH_OUT_ADC3_L 0x0c |
| kenjiArai | 0:5d5aac272642 | 37 | #define LIS3DH_OUT_ADC3_H 0x0d |
| kenjiArai | 0:5d5aac272642 | 38 | #define LIS3DH_INT_COUNTER_REG 0x0e |
| kenjiArai | 0:5d5aac272642 | 39 | #define LIS3DH_WHO_AM_I 0x0f |
| kenjiArai | 0:5d5aac272642 | 40 | #define LIS3DH_TEMP_CFG_REG 0x1f |
| kenjiArai | 0:5d5aac272642 | 41 | #define LIS3DH_CTRL_REG1 0x20 |
| kenjiArai | 0:5d5aac272642 | 42 | #define LIS3DH_CTRL_REG2 0x21 |
| kenjiArai | 0:5d5aac272642 | 43 | #define LIS3DH_CTRL_REG3 0x22 |
| kenjiArai | 0:5d5aac272642 | 44 | #define LIS3DH_CTRL_REG4 0x23 |
| kenjiArai | 0:5d5aac272642 | 45 | #define LIS3DH_CTRL_REG5 0x24 |
| kenjiArai | 0:5d5aac272642 | 46 | #define LIS3DH_CTRL_REG6 0x25 |
| kenjiArai | 0:5d5aac272642 | 47 | #define LIS3DH_REFERENCE 0x26 |
| kenjiArai | 7:50ac3372def2 | 48 | #define LIS3DH_STATUS_REG 0x27 |
| kenjiArai | 0:5d5aac272642 | 49 | #define LIS3DH_OUT_X_L 0x28 |
| kenjiArai | 0:5d5aac272642 | 50 | #define LIS3DH_OUT_X_H 0x29 |
| kenjiArai | 0:5d5aac272642 | 51 | #define LIS3DH_OUT_Y_L 0x2a |
| kenjiArai | 0:5d5aac272642 | 52 | #define LIS3DH_OUT_Y_H 0x2b |
| kenjiArai | 0:5d5aac272642 | 53 | #define LIS3DH_OUT_Z_L 0x2c |
| kenjiArai | 0:5d5aac272642 | 54 | #define LIS3DH_OUT_Z_H 0x2d |
| kenjiArai | 0:5d5aac272642 | 55 | #define LIS3DH_FIFO_CTRL_REG 0x2e |
| kenjiArai | 0:5d5aac272642 | 56 | #define LIS3DH_FIFO_SRC_REG 0x2f |
| kenjiArai | 0:5d5aac272642 | 57 | #define LIS3DH_INT1_CFG 0x30 |
| kenjiArai | 0:5d5aac272642 | 58 | #define LIS3DH_INT1_SOURCE 0x31 |
| kenjiArai | 0:5d5aac272642 | 59 | #define LIS3DH_INT1_THS 0x32 |
| kenjiArai | 0:5d5aac272642 | 60 | #define LIS3DH_INT1_DURATION 0x33 |
| kenjiArai | 0:5d5aac272642 | 61 | #define LIS3DH_CLICK_CFG 0x38 |
| kenjiArai | 0:5d5aac272642 | 62 | #define LIS3DH_CLICK_SRC 0x39 |
| kenjiArai | 0:5d5aac272642 | 63 | #define LIS3DH_CLICK_THS 0x3a |
| kenjiArai | 0:5d5aac272642 | 64 | #define LIS3DH_TIME_LIMIT 0x3b |
| kenjiArai | 0:5d5aac272642 | 65 | #define LIS3DH_TIME_LATENCY 0x3c |
| kenjiArai | 0:5d5aac272642 | 66 | #define LIS3DH_TIME_WINDOW 0x3d |
| kenjiArai | 0:5d5aac272642 | 67 | |
| kenjiArai | 0:5d5aac272642 | 68 | // Output Data Rate (ODR) |
| kenjiArai | 0:5d5aac272642 | 69 | #define LIS3DH_DR_PWRDWN 0 |
| kenjiArai | 0:5d5aac272642 | 70 | #define LIS3DH_DR_NR_LP_1HZ 1 |
| kenjiArai | 0:5d5aac272642 | 71 | #define LIS3DH_DR_NR_LP_10HZ 2 |
| kenjiArai | 0:5d5aac272642 | 72 | #define LIS3DH_DR_NR_LP_25HZ 3 |
| kenjiArai | 0:5d5aac272642 | 73 | #define LIS3DH_DR_NR_LP_50HZ 4 |
| kenjiArai | 0:5d5aac272642 | 74 | #define LIS3DH_DR_NR_LP_100HZ 5 |
| kenjiArai | 0:5d5aac272642 | 75 | #define LIS3DH_DR_NR_LP_200HZ 6 |
| kenjiArai | 0:5d5aac272642 | 76 | #define LIS3DH_DR_NR_LP_400HZ 7 |
| kenjiArai | 0:5d5aac272642 | 77 | #define LIS3DH_DR_LP_1R6KHZ 8 |
| kenjiArai | 0:5d5aac272642 | 78 | #define LIS3DH_DR_NR_1R25KHZ 9 |
| kenjiArai | 0:5d5aac272642 | 79 | |
| kenjiArai | 0:5d5aac272642 | 80 | // Bandwidth (Low pass) |
| kenjiArai | 0:5d5aac272642 | 81 | #define LIS3DH_BW_LOW 0 |
| kenjiArai | 0:5d5aac272642 | 82 | #define LIS3DH_BW_M_LOW 1 |
| kenjiArai | 0:5d5aac272642 | 83 | #define LIS3DH_BW_M_HI 2 |
| kenjiArai | 0:5d5aac272642 | 84 | #define LIS3DH_BW_HI 3 |
| kenjiArai | 0:5d5aac272642 | 85 | |
| kenjiArai | 0:5d5aac272642 | 86 | // Low power mode enable/disable |
| kenjiArai | 0:5d5aac272642 | 87 | #define LIS3DH_LP_EN 0 |
| kenjiArai | 0:5d5aac272642 | 88 | #define LIS3DH_LP_DIS 1 |
| kenjiArai | 0:5d5aac272642 | 89 | |
| kenjiArai | 0:5d5aac272642 | 90 | // Axis control |
| kenjiArai | 0:5d5aac272642 | 91 | #define LIS3DH_X_EN 1 |
| kenjiArai | 0:5d5aac272642 | 92 | #define LIS3DH_X_DIS 0 |
| kenjiArai | 0:5d5aac272642 | 93 | #define LIS3DH_Y_EN 1 |
| kenjiArai | 0:5d5aac272642 | 94 | #define LIS3DH_Y_DIS 0 |
| kenjiArai | 0:5d5aac272642 | 95 | #define LIS3DH_Z_EN 1 |
| kenjiArai | 0:5d5aac272642 | 96 | #define LIS3DH_Z_DIS 0 |
| kenjiArai | 0:5d5aac272642 | 97 | |
| kenjiArai | 0:5d5aac272642 | 98 | // Full Scale |
| kenjiArai | 0:5d5aac272642 | 99 | #define LIS3DH_FS_2G 0 |
| kenjiArai | 0:5d5aac272642 | 100 | #define LIS3DH_FS_4G 1 |
| kenjiArai | 0:5d5aac272642 | 101 | #define LIS3DH_FS_8G 2 |
| kenjiArai | 0:5d5aac272642 | 102 | #define LIS3DH_FS_16G 3 |
| kenjiArai | 0:5d5aac272642 | 103 | |
| kenjiArai | 6:e269772dad35 | 104 | // definition for Nomalization |
| kenjiArai | 7:50ac3372def2 | 105 | #if OLD_REV |
| kenjiArai | 0:5d5aac272642 | 106 | #define LIS3DH_SENSITIVITY_2G (0.001F) |
| kenjiArai | 0:5d5aac272642 | 107 | #define LIS3DH_SENSITIVITY_4G (0.002F) |
| kenjiArai | 0:5d5aac272642 | 108 | #define LIS3DH_SENSITIVITY_8G (0.004F) |
| kenjiArai | 0:5d5aac272642 | 109 | #define LIS3DH_SENSITIVITY_16G (0.012F) |
| kenjiArai | 7:50ac3372def2 | 110 | #else |
| kenjiArai | 7:50ac3372def2 | 111 | #define LIS3DH_SENSITIVITY_2G 1 |
| kenjiArai | 7:50ac3372def2 | 112 | #define LIS3DH_SENSITIVITY_4G 2 |
| kenjiArai | 7:50ac3372def2 | 113 | #define LIS3DH_SENSITIVITY_8G 4 |
| kenjiArai | 7:50ac3372def2 | 114 | #define LIS3DH_SENSITIVITY_16G 12 |
| kenjiArai | 7:50ac3372def2 | 115 | #endif |
| kenjiArai | 0:5d5aac272642 | 116 | |
| kenjiArai | 0:5d5aac272642 | 117 | //Gravity at Earth's surface in m/s/s |
| kenjiArai | 7:50ac3372def2 | 118 | #if OLD_REV |
| kenjiArai | 0:5d5aac272642 | 119 | #define GRAVITY (9.80665F) |
| kenjiArai | 7:50ac3372def2 | 120 | #else |
| kenjiArai | 7:50ac3372def2 | 121 | #define GRAVITY (9.80665F / 1000) |
| kenjiArai | 7:50ac3372def2 | 122 | #endif |
| kenjiArai | 0:5d5aac272642 | 123 | |
| kenjiArai | 0:5d5aac272642 | 124 | /** Interface for STMicronics MEMS motion sensor: 3-axis "nano" accelerometer |
| kenjiArai | 0:5d5aac272642 | 125 | * Chip: LIS3DH |
| kenjiArai | 0:5d5aac272642 | 126 | * |
| kenjiArai | 0:5d5aac272642 | 127 | * @code |
| kenjiArai | 0:5d5aac272642 | 128 | * #include "mbed.h" |
| kenjiArai | 0:5d5aac272642 | 129 | * |
| kenjiArai | 0:5d5aac272642 | 130 | * // I2C Communication |
| kenjiArai | 0:5d5aac272642 | 131 | * LIS3DH acc(p_sda, p_scl, chip_addr, datarate, bandwidth, fullscale); |
| kenjiArai | 0:5d5aac272642 | 132 | * // If you connected I2C line not only this device but also other devices, |
| kenjiArai | 0:5d5aac272642 | 133 | * // you need to declare following method. |
| kenjiArai | 0:5d5aac272642 | 134 | * I2C i2c(dp5,dp27); // SDA, SCL |
| kenjiArai | 0:5d5aac272642 | 135 | * LIS3DH acc(i2c, chip_addr, datarate, bandwidth, fullscale); |
| kenjiArai | 0:5d5aac272642 | 136 | * |
| kenjiArai | 0:5d5aac272642 | 137 | * int main() { |
| kenjiArai | 0:5d5aac272642 | 138 | * float f[3]; |
| kenjiArai | 0:5d5aac272642 | 139 | * |
| kenjiArai | 0:5d5aac272642 | 140 | * if (acc.read_id() == I_AM_LIS3DH){ |
| kenjiArai | 0:5d5aac272642 | 141 | * acc.read_data(f); |
| kenjiArai | 0:5d5aac272642 | 142 | * } |
| kenjiArai | 0:5d5aac272642 | 143 | * } |
| kenjiArai | 0:5d5aac272642 | 144 | * @endcode |
| kenjiArai | 0:5d5aac272642 | 145 | */ |
| kenjiArai | 0:5d5aac272642 | 146 | |
| kenjiArai | 6:e269772dad35 | 147 | class LIS3DH |
| kenjiArai | 6:e269772dad35 | 148 | { |
| kenjiArai | 0:5d5aac272642 | 149 | public: |
| kenjiArai | 0:5d5aac272642 | 150 | /** Configure data pin |
| kenjiArai | 0:5d5aac272642 | 151 | * @param data SDA and SCL pins |
| kenjiArai | 0:5d5aac272642 | 152 | * @param device address LIS3DH(SA0=0 or 1), LIS3DH_G_CHIP_ADDR or LIS3DH_V_CHIP_ADDR |
| kenjiArai | 0:5d5aac272642 | 153 | * @param output data rate selection, power down mode, 1Hz to 5KHz |
| kenjiArai | 0:5d5aac272642 | 154 | * @param full scale selection, +/-2g to +/-16g |
| kenjiArai | 0:5d5aac272642 | 155 | */ |
| kenjiArai | 0:5d5aac272642 | 156 | LIS3DH(PinName p_sda, PinName p_scl, |
| kenjiArai | 6:e269772dad35 | 157 | uint8_t addr, uint8_t data_rate, uint8_t fullscale); |
| kenjiArai | 5:725df775f168 | 158 | |
| kenjiArai | 5:725df775f168 | 159 | /** Configure data pin |
| kenjiArai | 5:725df775f168 | 160 | * @param data SDA and SCL pins |
| kenjiArai | 5:725df775f168 | 161 | * @param device address LIS3DH(SA0=0 or 1), LIS3DH_G_CHIP_ADDR or LIS3DH_V_CHIP_ADDR |
| kenjiArai | 5:725df775f168 | 162 | * @default output data rate selection = 50Hz |
| kenjiArai | 5:725df775f168 | 163 | * @default full scale selection = +/-8g |
| kenjiArai | 5:725df775f168 | 164 | */ |
| kenjiArai | 5:725df775f168 | 165 | LIS3DH(PinName p_sda, PinName p_scl, uint8_t addr); |
| kenjiArai | 6:e269772dad35 | 166 | |
| kenjiArai | 0:5d5aac272642 | 167 | /** Configure data pin (with other devices on I2C line) |
| kenjiArai | 0:5d5aac272642 | 168 | * @param I2C previous definition |
| kenjiArai | 0:5d5aac272642 | 169 | * @param other parameters -> please see LIS3DH(PinName p_sda, PinName p_scl,...) |
| kenjiArai | 0:5d5aac272642 | 170 | */ |
| kenjiArai | 0:5d5aac272642 | 171 | LIS3DH(I2C& p_i2c, |
| kenjiArai | 6:e269772dad35 | 172 | uint8_t addr, uint8_t data_rate, uint8_t fullscale); |
| kenjiArai | 5:725df775f168 | 173 | |
| kenjiArai | 5:725df775f168 | 174 | /** Configure data pin (with other devices on I2C line) |
| kenjiArai | 5:725df775f168 | 175 | * @param I2C previous definition |
| kenjiArai | 5:725df775f168 | 176 | * @param other parameters -> please see LIS3DH(PinName p_sda, PinName p_scl,...) |
| kenjiArai | 5:725df775f168 | 177 | * @default output data rate selection = 50Hz |
| kenjiArai | 5:725df775f168 | 178 | * @default full scale selection = +/-8g |
| kenjiArai | 5:725df775f168 | 179 | */ |
| kenjiArai | 5:725df775f168 | 180 | LIS3DH(I2C& p_i2c, uint8_t addr); |
| kenjiArai | 6:e269772dad35 | 181 | |
| kenjiArai | 0:5d5aac272642 | 182 | /** Read a float type data from acc |
| kenjiArai | 5:725df775f168 | 183 | * @param float type of three arry's address, e.g. float dt_usr[3]; |
| kenjiArai | 0:5d5aac272642 | 184 | * @return acc motion data unit: m/s/s(m/s2) |
| kenjiArai | 6:e269772dad35 | 185 | * @return dt_usr[0]->x, dt_usr[1]->y, dt_usr[2]->z |
| kenjiArai | 0:5d5aac272642 | 186 | */ |
| kenjiArai | 5:725df775f168 | 187 | void read_data(float *dt_usr); |
| kenjiArai | 0:5d5aac272642 | 188 | |
| kenjiArai | 0:5d5aac272642 | 189 | /** Read a float type data from acc |
| kenjiArai | 5:725df775f168 | 190 | * @param float type of three arry's address, e.g. float dt_usr[3]; |
| kenjiArai | 0:5d5aac272642 | 191 | * @return acc motion data unit: mg |
| kenjiArai | 6:e269772dad35 | 192 | * @return dt_usr[0]->x, dt_usr[1]->y, dt_usr[2]->z |
| kenjiArai | 0:5d5aac272642 | 193 | */ |
| kenjiArai | 5:725df775f168 | 194 | void read_mg_data(float *dt_usr); |
| kenjiArai | 6:e269772dad35 | 195 | |
| kenjiArai | 0:5d5aac272642 | 196 | /** Read a acc ID number |
| kenjiArai | 0:5d5aac272642 | 197 | * @param none |
| kenjiArai | 0:5d5aac272642 | 198 | * @return if STM MEMS acc, it should be I_AM_ LIS3DH(0x33) |
| kenjiArai | 0:5d5aac272642 | 199 | */ |
| kenjiArai | 0:5d5aac272642 | 200 | uint8_t read_id(); |
| kenjiArai | 0:5d5aac272642 | 201 | |
| kenjiArai | 0:5d5aac272642 | 202 | /** Read Data Ready flag |
| kenjiArai | 0:5d5aac272642 | 203 | * @param none |
| kenjiArai | 0:5d5aac272642 | 204 | * @return 1 = Ready |
| kenjiArai | 0:5d5aac272642 | 205 | */ |
| kenjiArai | 0:5d5aac272642 | 206 | uint8_t data_ready(); |
| kenjiArai | 0:5d5aac272642 | 207 | |
| kenjiArai | 1:d4d569952436 | 208 | /** Set I2C clock frequency |
| kenjiArai | 1:d4d569952436 | 209 | * @param freq. |
| kenjiArai | 1:d4d569952436 | 210 | * @return none |
| kenjiArai | 1:d4d569952436 | 211 | */ |
| kenjiArai | 1:d4d569952436 | 212 | void frequency(int hz); |
| kenjiArai | 1:d4d569952436 | 213 | |
| kenjiArai | 0:5d5aac272642 | 214 | /** Read register (general purpose) |
| kenjiArai | 0:5d5aac272642 | 215 | * @param register's address |
| kenjiArai | 0:5d5aac272642 | 216 | * @return register data |
| kenjiArai | 0:5d5aac272642 | 217 | */ |
| kenjiArai | 0:5d5aac272642 | 218 | uint8_t read_reg(uint8_t addr); |
| kenjiArai | 0:5d5aac272642 | 219 | |
| kenjiArai | 0:5d5aac272642 | 220 | /** Write register (general purpose) |
| kenjiArai | 0:5d5aac272642 | 221 | * @param register's address |
| kenjiArai | 0:5d5aac272642 | 222 | * @param data |
| kenjiArai | 0:5d5aac272642 | 223 | * @return none |
| kenjiArai | 0:5d5aac272642 | 224 | */ |
| kenjiArai | 0:5d5aac272642 | 225 | void write_reg(uint8_t addr, uint8_t data); |
| electronichamsters | 9:c32d2b25d4c2 | 226 | uint8_t setAct(uint8_t addr); |
| electronichamsters | 9:c32d2b25d4c2 | 227 | |
| kenjiArai | 0:5d5aac272642 | 228 | protected: |
| kenjiArai | 0:5d5aac272642 | 229 | void initialize(uint8_t, uint8_t, uint8_t); |
| kenjiArai | 0:5d5aac272642 | 230 | void read_reg_data(char *data); |
| kenjiArai | 0:5d5aac272642 | 231 | |
| kenjiArai | 8:0999d25ed7bc | 232 | I2C *_i2c_p; |
| kenjiArai | 8:0999d25ed7bc | 233 | I2C &_i2c; |
| kenjiArai | 6:e269772dad35 | 234 | |
| kenjiArai | 0:5d5aac272642 | 235 | private: |
| kenjiArai | 7:50ac3372def2 | 236 | #if OLD_REV |
| kenjiArai | 5:725df775f168 | 237 | float fs_factor; // full scale factor |
| kenjiArai | 7:50ac3372def2 | 238 | #else |
| kenjiArai | 7:50ac3372def2 | 239 | uint8_t fs_factor; // full scale factor |
| kenjiArai | 7:50ac3372def2 | 240 | #endif |
| kenjiArai | 5:725df775f168 | 241 | char dt[2]; // working buffer |
| kenjiArai | 0:5d5aac272642 | 242 | uint8_t acc_addr; // acc sensor address |
| kenjiArai | 0:5d5aac272642 | 243 | uint8_t acc_id; // acc ID |
| kenjiArai | 6:e269772dad35 | 244 | uint8_t acc_ready; // acc is on I2C line = 1, not = 0 |
| kenjiArai | 0:5d5aac272642 | 245 | }; |
| kenjiArai | 0:5d5aac272642 | 246 | |
| kenjiArai | 0:5d5aac272642 | 247 | #endif // LIS3DH_H |
| kenjiArai | 8:0999d25ed7bc | 248 |
