Dependencies:   mbed

Revision:
0:960b355eaa84
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main_programs/main3.h	Fri Aug 20 11:18:40 2010 +0000
@@ -0,0 +1,56 @@
+#include "mbed.h"
+#include "TextLCD.h"
+#include "Counter.h"
+#include "LIS302.h"
+#include "MSCFileSystem.h"
+#include "Servo.h"
+
+Servo myservo(p21);
+LIS302 acc (p5,p6,p7,p8);
+DigitalIn enable(p20);
+DigitalOut LIS302(LIS302);
+DigitalOut led(LED1);
+#define TICK_PERIOD 1.0
+MSCFileSystem fs("fs");
+
+Counter counter(p18);
+
+
+Ticker tick;
+
+Timer t;
+int tick_active = 0;
+
+void dotick (void) {
+    tick_active = 1;
+}
+int rpm_counter=0;
+int main() {
+
+    TextLCD lcd(p24, p25, p26, p27, p28, p29, p30); // rs, rw, e, d0, d1, d2, d3
+    FILE *fp = fopen("/fs/cardata.csv","w");
+    fprintf(fp, "RPM,X,Y,Z\n");
+    tick.attach(dotick,1.0);
+    while (1) {
+        if (enable) {
+            t.start();
+            while (enable) {
+
+                while (tick_active == 0) {}
+                rpm_counter = counter.read();
+                counter.reset();
+                led = !led;
+                fprintf(fp,"%d,%.2f,%.2f,%.2f\n",60*rpm_counter,acc.x(),acc.y(),acc.z());
+                wait (0.1);
+                tick_active = 0;
+
+            }
+            if (!enable)
+                t.stop();
+            fprintf(fp,"this run lasted %f seconds \n", t.read());
+            fprintf(fp,"off,off,off,off");
+            fclose(fp);
+        }
+    }
+
+}
\ No newline at end of file