![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Modified LSM9DS1 Demo
Fork of LSM9DS1_Demo by
main.cpp
- Committer:
- 5hel2l2y
- Date:
- 2016-06-17
- Revision:
- 1:0d392105900f
- Parent:
- 0:9632b831b6c1
File content as of revision 1:0d392105900f:
// LSM9DS91 Demo #include "mbed.h" #include "LSM9DS1.h" // refresh time. set to 500 for part 2 and 50 for part 4 #define REFRESH_TIME_MS 1000 // Verify that the pin assignments below match your breadboard LSM9DS1 imu(p30, p7); Serial pc(p9, p11); //Init Serial port and LSM9DS1 chip void setup() { // Use the begin() function to initialize the LSM9DS0 library. // You can either call it with no parameters (the easy way): // SLEEP //uint16_t status = imu.begin(imu.G_SCALE_245DPS, imu.A_SCALE_2G, imu.M_SCALE_4GS, // imu.G_POWER_DOWN, imu.A_POWER_DOWN, imu.M_ODR_0625); // LOWEST //uint16_t status = imu.begin(imu.G_SCALE_245DPS, imu.A_SCALE_2G, imu.M_SCALE_4GS, // imu.G_ODR_15_BW_0, imu.A_POWER_DOWN, imu.M_ODR_0625); // HIGHEST uint16_t status = imu.begin(imu.G_SCALE_2000DPS, imu.A_SCALE_8G, imu.M_SCALE_16GS, imu.G_ODR_952_BW_100, imu.A_ODR_952, imu.M_ODR_80); //Make sure communication is working pc.printf("LSM9DS1 WHO_AM_I's returned: 0x%X\r\n", status); pc.printf("Should be 0x683D\r\n"); } int main() { setup(); //Setup sensor and Serial pc.printf("------ LSM9DS1 Demo -----------\r\n"); while (true) { imu.readTemp(); pc.printf("Temp:\r\n"); pc.printf("TC: %2f\r\n", imu.temperature_c); pc.printf("TF: %2f\r\n", imu.temperature_f); imu.readAccel(); pc.printf("Accel:\r\n"); pc.printf("AX: %2f\r\n", imu.ax); pc.printf("AY: %2f\r\n", imu.ay); pc.printf("AZ: %2f\r\n", imu.az); imu.readGyro(); pc.printf("Gyro:\r\n"); pc.printf("GX: %2f\r\n", imu.gx); pc.printf("GY: %2f\r\n", imu.gy); pc.printf("GZ: %2f\r\n", imu.gz); imu.readMag(); pc.printf("Mag:\r\n"); pc.printf("MX: %2f\r\n", imu.mx); pc.printf("MY: %2f\r\n", imu.my); pc.printf("MZ: %2f\r\n\r\n", imu.mz); wait_ms(REFRESH_TIME_MS); } }