init

Dependencies:   MPU6050 PinDetect circular_buffer

Revision:
0:b416214256cd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Nov 07 16:35:14 2017 +0000
@@ -0,0 +1,149 @@
+#include "mbed.h"
+#include "MPU6050.h"
+#include "I2Cdev.h"
+#include <Fsm.h>
+#include <CaseFsm.h>
+#include <CaseEvents.h>
+#include <Events.h>
+#include "log.h"
+#include "DataLogger.h"
+
+//#include "circular_buffer.h"
+#include "MFRC522.h"
+#include "PinDetect.h"
+
+
+#define CURRENT_TIME 1504029000
+
+#define SPI_MOSI    PA_7
+#define SPI_MISO    PA_6
+#define SPI_SCK     PA_5
+#define SPI_CS      PB_6
+#define MF_RESET    PB_3
+
+
+
+
+
+struct CaseFsmLog {
+    int caseState;
+    uint32_t timeStamp;
+};
+
+CaseFsmLog caseFsmLog;
+CaseFsm* caseFsm;
+struct SwitchPosition switchPosition;
+
+DigitalOut led1(LED1);
+Serial pc(USBTX,USBRX);
+struct RFIDEvent rfidEvent;
+struct TimerEnd timerEnd;
+/*
+struct MotionLog {
+    int motX;
+    int motY;
+    int motZ;
+    uint32_t timeStamp;
+    uint8_t motionByte;
+};
+
+struct MotionFsmLog {
+    int motionState;
+    uint32_t timeStamp;
+};
+MotionLog motionLog;
+MotionFsmLog motionFsmLog;
+
+
+circular_buffer<MotionLog> cb(20);
+circular_buffer<MotionFsmLog> mfl(20);
+circular_buffer<CaseFsmLog> cfl(20);
+MPU6050 mpu;
+bool zero_detect;
+Fsm* motionFsm;
+
+
+
+
+bool XnegMD, XposMD, YnegMD, YposMD, ZnegMD, ZposMD;
+int8_t threshold;
+
+float temp;
+bool test=0;
+void flip()
+{
+    test=1;
+}
+
+
+
+
+struct Move move;
+struct Stop stop;
+
+
+
+*/
+
+InterruptIn button1(D7);
+//PinDetect button1(PA_9);
+InterruptIn button2(D8);
+InterruptIn button3(D9);
+//InterruptIn button4(PA_7);
+
+//InterruptIn mpuInterrupt(PA_10);
+bool flag = false;
+int flag_switch=0;
+int flag_rfid_Event=0;
+int flag_timerend=0;
+bool DeviceIsFull = false;
+void button1PressedCallback()
+{
+    flag_switch=1;
+    caseFsm->handle(switchPosition);
+}
+
+void button2PressedCallback()
+{
+    flag_rfid_Event=1;
+    caseFsm->handle(rfidEvent);
+
+}
+void button3PressedCallback()
+{
+    flag_timerend=1;
+    caseFsm->handle(timerEnd);
+}
+
+    
+    
+    Log mojlog;
+    DataLogger <Log> mojlogger;
+    mojlogger.print();
+    mojlogger.savelog(mojlog);
+    mojlogger.print();
+
+
+
+ flagswitch=0;
+ flag_rfid_Event=0;
+ flag_timerend=0;
+
+        if(flagswitch==1){
+
+        if(caseFsm->DeviceInFullState()) {
+            pc.printf("Waiting 5 seconds for RFID event...\r\n");
+            while (caseFsm->DeviceInFullState()) {
+                // Look for new cards
+    
+            
+                
+            }
+            
+        }
+    }
+
+
+    }
+}
+