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.
MKI124V1.h
00001 // Defines for the MEMS sensors on the STEVAL-MKI124V1 board 00002 // Liam Goudge. March 2014 00003 00004 // LPS331AP MEMS pressure and temperature sensor 00005 #define LPS331addr 0xBA // I2C address of the sensor for writes (line SAO is tied high on this board so bit 1=1. Note this may not work on other boards). 00006 00007 #define pWHO_AM_I 0x0F // "ping" register. Device will respond even when in sleep mode 00008 #define pRES_CONF 0x10 // Reset value is 0x7A (512 pressure samples and 128 temperature samples) 00009 #define pCTRL_REG1 0x20 00010 #define pCTRL_REG2 0x21 00011 #define pCTRL_REG3 0x22 00012 #define pPRESS_OUT_XL 0x28 00013 #define pPRESS_OUT_L 0x29 00014 #define pPRESS_OUT_H 0x2A 00015 #define pTEMP_OUT_L 0x2B // Temperature data. 2's complement. Device will respond when in sleep mode 00016 #define pTEMP_OUT_H 0x2C 00017 00018 // LSM303DLHC MEMS ascceleratometer, magnetometer and temperature sensor 00019 #define LSM303_m 0x3C // I2C base address of the magnetometer sensor 00020 #define LSM303_a 0x32 // I2C base address of the accelerometer sensor 00021 00022 // Magnetometer registers 00023 #define mCRA_REG_M 0x00 // Magnetic sensor configuration register A 00024 #define mCRB_REG_M 0x01 // Magnetic sensor configuration register B 00025 #define mMR_REG_M 0x02 // Magnetometer mode register 00026 #define mOUT_X_H_M 0x03 // X-axis magnetic field data High byte 00027 #define mOUT_X_L_M 0x04 // X-axis magnetic field data Low byte 00028 #define mOUT_Z_H_M 0x05 // Z-axis magnetic field data High byte 00029 #define mOUT_Z_L_M 0x06 // Z-axis magnetic field data Low byte 00030 #define mOUT_Y_H_M 0x07 // Y-axis magnetic field data High byte 00031 #define mOUT_Y_L_M 0x08 // Y-axis magnetic field data Low byte 00032 #define mSR_REG_M 0x09 // Magnetometer status register 00033 #define mIRA_REG_M 0x0A // ID register A. Should read 0x48 00034 #define mCTRL_REG1_A 0x20 00035 #define mTEMP_OUT_H_M 0x31 // Magnetometer temperature register High byte 00036 #define mTEMP_OUT_L_M 0x32 // Magnetometer temperature register Low byte 00037 00038 // Accelerometer registers 00039 #define aCTRL_REG1_A 0x20 // Accelerometer output data rate ODR, low power modes etc 00040 #define aCTRL_REG4_A 0x23 // Accelerometer full scale selection etc 00041 #define aOUT_X_L_A 0x28 // Accelerometer X axis low byte 00042 #define aOUT_X_H_A 0x29 // Accelerometer X axis high byte 00043 #define aOUT_Y_L_A 0x2A // Accelerometer Y axis low byte 00044 #define aOUT_Y_H_A 0x2B // Accelerometer Y axis high byte 00045 #define aOUT_Z_L_A 0x2C // Accelerometer Z axis low byte 00046 #define aOUT_Z_H_A 0x2D // Accelerometer Z axis high byte 00047 00048 // L3GD20 MEMS gyro. 3 axis angular rate sensor 00049 #define L3GD20_ADDR 0xD6 // I2C base address of the gyro 00050 00051 #define gWHO_AM_I 0x0F // Ping register. Response is 0xD4. Responds even when device is off 00052 #define gCTRL_REG1 0x20 // Sets Output Data Rate, Bandwidth and Power mode 00053 #define gCTRL_REG4 0x23 // 00054 #define gOUT_TEMP 0x26 // Temperature data. 8 bit resolution 00055 #define gOUT_X_L 0x28 // X-axis angular rate low byte expressed as 2's complement 00056 #define gOUT_X_H 0x29 // X-axis angular rate high byte 00057 #define gOUT_Y_L 0x2A 00058 #define gOUT_Y_H 0x2B 00059 #define gOUT_Z_L 0x2C 00060 #define gOUT_Z_H 0x2D 00061 00062 00063 // Structs 00064 typedef struct{ 00065 float pitch; 00066 float roll; 00067 float Xrotation; 00068 float Yrotation; 00069 float Zrotation; 00070 float heading; 00071 float tempC; 00072 float pressuremB; 00073 } SensorState_t; 00074 00075 00076 00077
Generated on Thu Jul 28 2022 13:29:59 by
1.7.2