Hiroshi Yamaguchi
/
MMA7361L_Example
MMA7361L sample code accels, tilt values, ZeroG detect, calibration
main.cpp@0:85d3ea7e625f, 2012-04-25 (annotated)
- Committer:
- yamaguch
- Date:
- Wed Apr 25 08:53:36 2012 +0000
- Revision:
- 0:85d3ea7e625f
1.0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yamaguch | 0:85d3ea7e625f | 1 | #include "mbed.h" |
yamaguch | 0:85d3ea7e625f | 2 | #include "MMA7361L.h" |
yamaguch | 0:85d3ea7e625f | 3 | |
yamaguch | 0:85d3ea7e625f | 4 | MMA7361L accel(p15, p16, p17, p25, p26, p24); // x, y, z, 0g, g-select, sleep |
yamaguch | 0:85d3ea7e625f | 5 | |
yamaguch | 0:85d3ea7e625f | 6 | void atZeroG() { |
yamaguch | 0:85d3ea7e625f | 7 | static BusOut leds(LED1, LED2, LED3, LED4); |
yamaguch | 0:85d3ea7e625f | 8 | |
yamaguch | 0:85d3ea7e625f | 9 | leds = 15; |
yamaguch | 0:85d3ea7e625f | 10 | printf("atZeroG %4.3f: %4.3f, %4.3f, %4.3f\n", |
yamaguch | 0:85d3ea7e625f | 11 | accel.getAccel(), accel.getAccelX(), accel.getAccelY(), accel.getAccelZ()); |
yamaguch | 0:85d3ea7e625f | 12 | wait(1); |
yamaguch | 0:85d3ea7e625f | 13 | leds = 0; |
yamaguch | 0:85d3ea7e625f | 14 | } |
yamaguch | 0:85d3ea7e625f | 15 | |
yamaguch | 0:85d3ea7e625f | 16 | inline float toDegrees(float r) { |
yamaguch | 0:85d3ea7e625f | 17 | return 180 * r / 3.14159; |
yamaguch | 0:85d3ea7e625f | 18 | } |
yamaguch | 0:85d3ea7e625f | 19 | |
yamaguch | 0:85d3ea7e625f | 20 | int main() { |
yamaguch | 0:85d3ea7e625f | 21 | accel.printInfo(); |
yamaguch | 0:85d3ea7e625f | 22 | accel.setZeroGDetectListener(atZeroG); |
yamaguch | 0:85d3ea7e625f | 23 | accel.setScale(MMA7361L::SCALE_1_5G); |
yamaguch | 0:85d3ea7e625f | 24 | accel.calibrate(MMA7361L::SCALE_1_5G, -1, 1, -1, 1, -1, 1); |
yamaguch | 0:85d3ea7e625f | 25 | |
yamaguch | 0:85d3ea7e625f | 26 | while (true) { |
yamaguch | 0:85d3ea7e625f | 27 | printf("Accel %4.3f: %4.3f, %4.3f, %4.3f, %2.0f, %2.0f, %2.0f\n", |
yamaguch | 0:85d3ea7e625f | 28 | accel.getAccel(), accel.getAccelX(), accel.getAccelY(), accel.getAccelZ(), |
yamaguch | 0:85d3ea7e625f | 29 | toDegrees(accel.getTiltX()), toDegrees(accel.getTiltY()), toDegrees(accel.getTiltZ())); |
yamaguch | 0:85d3ea7e625f | 30 | wait(5); |
yamaguch | 0:85d3ea7e625f | 31 | } |
yamaguch | 0:85d3ea7e625f | 32 | } |