init
Dependencies: MPU6050 PinDetect circular_buffer
Diff: main.cpp
- 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 + + + + } + + } + } + + + } +} +