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
    
            
                
            }
            
        }
    }


    }
}