init
Dependencies: MPU6050 PinDetect circular_buffer
main.cpp
- Committer:
- OsmanKameric
- Date:
- 2017-11-07
- Revision:
- 0:b416214256cd
File content as of revision 0:b416214256cd:
#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 } } } } }