Simply starts up the LSM9DS1 and prints the accelerometer, gyroscope, and magnetometer data to the USB serial port.
Revision 0:9632b831b6c1, committed 2015-10-19
- Comitter:
- beanmachine44
- Date:
- Mon Oct 19 16:52:59 2015 +0000
- Commit message:
- Initial commit of LSM9DS1 demo program.
Changed in this revision
diff -r 000000000000 -r 9632b831b6c1 LSM9DS1.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LSM9DS1.lib Mon Oct 19 16:52:59 2015 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/users/beanmachine44/code/LSM9DS1/#0e76f237c23d
diff -r 000000000000 -r 9632b831b6c1 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Oct 19 16:52:59 2015 +0000 @@ -0,0 +1,48 @@ +// 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(p9, p10); + +Serial pc(USBTX, USBRX); + +//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): + uint16_t status = imu.begin(); + + //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.readAccel(); + + pc.printf("A: %2f, %2f, %2f\r\n", imu.ax, imu.ay, imu.az); + + imu.readGyro(); + + pc.printf("G: %2f, %2f, %2f\r\n", imu.gx, imu.gy, imu.gz); + + imu.readMag(); + + pc.printf("M: %2f, %2f, %2f\r\n\r\n", imu.mx, imu.my, imu.mz); + + wait_ms(REFRESH_TIME_MS); + } +}
diff -r 000000000000 -r 9632b831b6c1 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Mon Oct 19 16:52:59 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/34e6b704fe68 \ No newline at end of file