Hiroshi Yamaguchi / MMA7361L_Example

Description: MMA7361L sample code accels, tilt values, ZeroG detect, calibration

Files at this revision

API Documentation at this revision

Comitter:
user Hiroshi Yamaguchi
Date:
Wed Apr 25 08:53:36 2012 +0000
Child:
1:fea1f066f4b1
Commit message:
1.0

Changed in this revision

MMA7361L.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MMA7361L.lib	Wed Apr 25 08:53:36 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/yamaguch/code/MMA7361L/#d66a303c5664
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Apr 25 08:53:36 2012 +0000
@@ -0,0 +1,32 @@
+#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);
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Apr 25 08:53:36 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/9a9732ce53a1