Hiroshi Yamaguchi
/
MMA7361L_Example
MMA7361L sample code accels, tilt values, ZeroG detect, calibration
main.cpp
- Committer:
- yamaguch
- Date:
- 2013-05-20
- Revision:
- 2:d5bc88266d26
- Parent:
- 0:85d3ea7e625f
File content as of revision 2:d5bc88266d26:
#include "mbed.h" #include "MMA7361L.h" MMA7361L accel(p15, p16, p17, p25, p26, p24); // x, y, z, 0g, g-select, sleep void atZeroG() { static BusOut leds(LED1, LED2, LED3, LED4); leds = 15; printf("atZeroG %4.3f: %4.3f, %4.3f, %4.3f\n", accel.getAccel(), accel.getAccelX(), accel.getAccelY(), accel.getAccelZ()); wait(1); leds = 0; } inline float toDegrees(float r) { return 180 * r / 3.14159; } int main() { accel.printInfo(); accel.setZeroGDetectListener(atZeroG); accel.setScale(MMA7361L::SCALE_1_5G); accel.calibrate(MMA7361L::SCALE_1_5G, -1, 1, -1, 1, -1, 1); while (true) { printf("Accel %4.3f: %4.3f, %4.3f, %4.3f, %2.0f, %2.0f, %2.0f\n", accel.getAccel(), accel.getAccelX(), accel.getAccelY(), accel.getAccelZ(), toDegrees(accel.getTiltX()), toDegrees(accel.getTiltY()), toDegrees(accel.getTiltZ())); wait(5); } }