Stephen Schwahn
/
LSM9DS1_Library
IMU LSM9DS1 Library
Fork of LSM9DS1_Library by
Revision 2:c220559cb472, committed 2016-03-10
- Comitter:
- Dogstopper
- Date:
- Thu Mar 10 20:10:27 2016 +0000
- Parent:
- 1:87d535bf8c53
- Commit message:
- Initial Commit;
Changed in this revision
--- a/LSM9DS1.cpp Mon Oct 26 16:14:04 2015 +0000 +++ b/LSM9DS1.cpp Thu Mar 10 20:10:27 2016 +0000 @@ -36,7 +36,6 @@ #define LSM9DS1_COMMUNICATION_TIMEOUT 1000 float magSensitivity[4] = {0.00014, 0.00029, 0.00043, 0.00058}; -extern Serial pc; LSM9DS1::LSM9DS1(PinName sda, PinName scl, uint8_t xgAddr, uint8_t mAddr) :i2c(sda, scl) @@ -170,7 +169,6 @@ // each device. Store those in a variable so we can return them. uint8_t mTest = mReadByte(WHO_AM_I_M); // Read the gyro WHO_AM_I uint8_t xgTest = xgReadByte(WHO_AM_I_XG); // Read the accel/mag WHO_AM_I - pc.printf("%x, %x, %x, %x\n\r", mTest, xgTest, _xgAddress, _mAddress); uint16_t whoAmICombined = (xgTest << 8) | mTest; if (whoAmICombined != ((WHO_AM_I_AG_RSP << 8) | WHO_AM_I_M_RSP))
--- a/LSM9DS1.h Mon Oct 26 16:14:04 2015 +0000 +++ b/LSM9DS1.h Thu Mar 10 20:10:27 2016 +0000 @@ -312,7 +312,8 @@ * Any OR'd combination of ZIEN, YIEN, XIEN * - activeLow = Interrupt active configuration * Can be either INT_ACTIVE_HIGH or INT_ACTIVE_LOW - */ - latch: latch gyroscope interrupt request. + * - latch: latch gyroscope interrupt request. + */ void configMagInt(uint8_t generator, h_lactive activeLow, bool latch = true); /** configMagThs() -- Configure the threshold of a gyroscope axis
--- a/main.cpp Mon Oct 26 16:14:04 2015 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -#include "LSM9DS1.h" - -DigitalOut myled(LED1); -Serial pc(USBTX, USBRX); - -int main() { - //LSM9DS1 lol(p9, p10, 0x6B, 0x1E); - LSM9DS1 lol(p9, p10, 0xD6, 0x3C); - lol.begin(); - if (!lol.begin()) { - pc.printf("Failed to communicate with LSM9DS1.\n"); - } - lol.calibrate(); - while(1) { - lol.readTemp(); - lol.readMag(); - lol.readGyro(); - - //pc.printf("%d %d %d %d %d %d %d %d %d\n\r", lol.calcGyro(lol.gx), lol.calcGyro(lol.gy), lol.calcGyro(lol.gz), lol.ax, lol.ay, lol.az, lol.mx, lol.my, lol.mz); - //pc.printf("%d %d %d\n\r", lol.calcGyro(lol.gx), lol.calcGyro(lol.gy), lol.calcGyro(lol.gz)); - pc.printf("gyro: %d %d %d\n\r", lol.gx, lol.gy, lol.gz); - pc.printf("accel: %d %d %d\n\r", lol.ax, lol.ay, lol.az); - pc.printf("mag: %d %d %d\n\n\r", lol.mx, lol.my, lol.mz); - myled = 1; - wait(2); - myled = 0; - wait(2); - } -}