State Machine APP with exit
> fixed #defines > fixed ::exit(1);
This commit is contained in:
parent
b5a713dcf9
commit
29e4a00e08
@ -58,7 +58,7 @@ void RefractiveIndex::setup()
|
||||
// <camera>
|
||||
_vid_id = XML.getValue("config:camera:id", CAMERA_ID);
|
||||
_vid_w = XML.getValue("config:camera:width", CAMERA_ACQU_WIDTH);
|
||||
_vid_h = XML.getValue("config:camera:width", CAMERA_ACQU_HEIGHT);
|
||||
_vid_h = XML.getValue("config:camera:height", CAMERA_ACQU_HEIGHT);
|
||||
|
||||
// <display>
|
||||
int fps = XML.getValue("config:display:fps", 30);
|
||||
@ -161,6 +161,8 @@ void RefractiveIndex::state_analysis()
|
||||
_state = ISTATE_TRANSITION;
|
||||
break;
|
||||
case ISTATE_END:
|
||||
stop_camera();
|
||||
::exit(1);
|
||||
break;
|
||||
case ISTATE_UNDEF:
|
||||
break;
|
||||
@ -190,10 +192,7 @@ void RefractiveIndex::draw()
|
||||
|
||||
void RefractiveIndex::setup_camera()
|
||||
{
|
||||
if(_vid_stream_open) {
|
||||
_vidGrabber.close();
|
||||
_vid_stream_open = false;
|
||||
}
|
||||
stop_camera();
|
||||
|
||||
if(!_vidGrabber.initGrabber(_vid_w, _vid_h)) {
|
||||
ofLog(OF_LOG_ERROR) << "RefractiveIndex::setup_camera - could not initialise grabber";
|
||||
@ -206,8 +205,21 @@ void RefractiveIndex::setup_camera()
|
||||
|
||||
}
|
||||
|
||||
void RefractiveIndex::stop_camera()
|
||||
{
|
||||
if(_vid_stream_open) {
|
||||
_vidGrabber.close();
|
||||
_vid_stream_open = false;
|
||||
}
|
||||
}
|
||||
|
||||
void RefractiveIndex::keyPressed (int key)
|
||||
{
|
||||
if( key =='f')
|
||||
ofToggleFullscreen();
|
||||
}
|
||||
|
||||
void RefractiveIndex::exit()
|
||||
{
|
||||
stop_camera();
|
||||
}
|
||||
@ -22,9 +22,11 @@ public:
|
||||
void setup();
|
||||
void update();
|
||||
void draw();
|
||||
void exit();
|
||||
|
||||
// refindx
|
||||
void setup_camera();
|
||||
void stop_camera();
|
||||
void analysis_cb(string & analysis);
|
||||
void start_analysis();
|
||||
void stop_analysis();
|
||||
@ -34,9 +36,9 @@ public:
|
||||
void keyPressed (int key);
|
||||
void keyReleased(int key){;}
|
||||
void mouseMoved(int x, int y ){;}
|
||||
void mouseDragged(int x, int y, int button);
|
||||
void mousePressed(int x, int y, int button);
|
||||
void mouseReleased(int x, int y, int button);
|
||||
void mouseDragged(int x, int y, int button){;}
|
||||
void mousePressed(int x, int y, int button){;}
|
||||
void mouseReleased(int x, int y, int button){;}
|
||||
void windowResized(int w, int h){;}
|
||||
|
||||
protected:
|
||||
|
||||
@ -7,10 +7,8 @@
|
||||
|
||||
#include "ofMain.h"
|
||||
#include "ofEvents.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
//#define ANALYSIS_PATH "data/analysis/"
|
||||
#define ANALYSIS_PATH "analysis/"
|
||||
|
||||
#define STATE_STOP 0xDEADBEEF
|
||||
@ -36,7 +34,6 @@ protected:
|
||||
virtual void synthesize() = 0;
|
||||
// this means that this function needs to be overwritten by children that inherit this class
|
||||
|
||||
|
||||
public:
|
||||
string _name;
|
||||
|
||||
@ -48,5 +45,10 @@ protected:
|
||||
int _state;
|
||||
string _whole_file_path;
|
||||
|
||||
float DELTA_T_SAVE;
|
||||
int NUM_PHASE;
|
||||
int NUM_RUN;
|
||||
int NUM_SAVE_PER_RUN;
|
||||
|
||||
friend class AnalysisAdaptor;
|
||||
};
|
||||
@ -18,6 +18,11 @@ using Poco::Thread;
|
||||
|
||||
void CamFrameRateAnalysis::setup(int camWidth, int camHeight)
|
||||
{
|
||||
DELTA_T_SAVE = 1000/30;
|
||||
NUM_PHASE = 1;
|
||||
NUM_RUN = 1;
|
||||
NUM_SAVE_PER_RUN = 100;
|
||||
|
||||
create_dir();
|
||||
|
||||
_frame_cnt = 0;
|
||||
|
||||
@ -9,13 +9,6 @@
|
||||
|
||||
#include "Poco/Timer.h"
|
||||
|
||||
#define DELTA_T_SAVE 1000/30 //timer call back needs to be at main app frame rate ie 1000/30
|
||||
#define NUM_PHASE 1
|
||||
//#define TIME_PER_RUN 3*1000
|
||||
#define NUM_RUN 1
|
||||
//#define SYNTH_TIME TIME_PER_RUN *NUM_RUN //the number of millis it takes for the whole sequence
|
||||
#define NUM_SAVE_PER_RUN 100 //this must be equal to the number of frames it takes for the whole analysis to draw - ie _frame_cnt_max
|
||||
|
||||
|
||||
class CamFrameRateAnalysis : public AbstractAnalysis
|
||||
{
|
||||
|
||||
@ -18,6 +18,11 @@ using Poco::Thread;
|
||||
|
||||
void CamNoiseAnalysis::setup(int camWidth, int camHeight)
|
||||
{
|
||||
DELTA_T_SAVE = 100;
|
||||
NUM_PHASE = 1;
|
||||
NUM_RUN = 1;
|
||||
NUM_SAVE_PER_RUN = 100;
|
||||
|
||||
create_dir();
|
||||
|
||||
_frame_cnt = 0;
|
||||
|
||||
@ -9,12 +9,6 @@
|
||||
|
||||
#include "Poco/Timer.h"
|
||||
|
||||
#define DELTA_T_SAVE 100 //the milisecond timing
|
||||
#define NUM_PHASE 1
|
||||
#define NUM_RUN 1
|
||||
#define NUM_SAVE_PER_RUN 100
|
||||
|
||||
|
||||
class CamNoiseAnalysis : public AbstractAnalysis
|
||||
{
|
||||
public:
|
||||
|
||||
@ -45,6 +45,11 @@ using Poco::Thread;
|
||||
|
||||
void ColorMultiAnalysis::setup(int camWidth, int camHeight)
|
||||
{
|
||||
DELTA_T_SAVE = 100;
|
||||
NUM_PHASE = 1;
|
||||
NUM_RUN = 1;
|
||||
NUM_SAVE_PER_RUN = 100;
|
||||
|
||||
create_dir();
|
||||
_frame_cnt = 0;
|
||||
_frame_cnt_max = ofGetFrameRate() * ((DELTA_T_SAVE * NUM_SAVE_PER_RUN) / 1000);
|
||||
@ -81,9 +86,7 @@ void ColorMultiAnalysis::synthesize()
|
||||
void ColorMultiAnalysis::draw()
|
||||
{
|
||||
|
||||
|
||||
if (_frame_cnt < _frame_cnt_max)
|
||||
{
|
||||
if (_frame_cnt < _frame_cnt_max) {
|
||||
ofColor aColor;
|
||||
aColor.setHsb(c, 255, 255);
|
||||
ofSetColor(aColor);
|
||||
@ -92,8 +95,6 @@ void ColorMultiAnalysis::draw()
|
||||
c = 255.0 * (_frame_cnt_max - _frame_cnt)/(_frame_cnt_max);
|
||||
}
|
||||
_frame_cnt++;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1,7 +1,3 @@
|
||||
#define DELTA_T_SAVE 100 //the milisecond timing
|
||||
#define NUM_PHASE 1
|
||||
#define NUM_RUN 1
|
||||
#define NUM_SAVE_PER_RUN 100
|
||||
#pragma once
|
||||
|
||||
#include "AbstractAnalysis.h"
|
||||
|
||||
@ -18,6 +18,11 @@ using Poco::Thread;
|
||||
|
||||
void ColorSingleAnalysis::setup(int camWidth, int camHeight)
|
||||
{
|
||||
DELTA_T_SAVE = 100;
|
||||
NUM_PHASE = 1;
|
||||
NUM_RUN = 1;
|
||||
NUM_SAVE_PER_RUN = 100;
|
||||
|
||||
create_dir();
|
||||
_frame_cnt = 0;
|
||||
_frame_cnt_max = ofGetFrameRate() * ((DELTA_T_SAVE * NUM_SAVE_PER_RUN) / 1000);
|
||||
|
||||
@ -9,12 +9,6 @@
|
||||
|
||||
#include "Poco/Timer.h"
|
||||
|
||||
#define DELTA_T_SAVE 100 //the milisecond timing
|
||||
#define NUM_PHASE 1
|
||||
#define NUM_RUN 1
|
||||
#define NUM_SAVE_PER_RUN 100
|
||||
|
||||
|
||||
class ColorSingleAnalysis : public AbstractAnalysis
|
||||
{
|
||||
public:
|
||||
|
||||
@ -18,6 +18,11 @@ using Poco::Thread;
|
||||
|
||||
void DiffNoiseAnalysis::setup(int camWidth, int camHeight)
|
||||
{
|
||||
DELTA_T_SAVE = 100;
|
||||
NUM_PHASE = 1;
|
||||
NUM_RUN = 1;
|
||||
NUM_SAVE_PER_RUN = 100;
|
||||
|
||||
create_dir();
|
||||
_frame_cnt = 0;
|
||||
_frame_cnt_max = ofGetFrameRate() * ((DELTA_T_SAVE * NUM_SAVE_PER_RUN) / 1000);
|
||||
|
||||
@ -9,12 +9,6 @@
|
||||
|
||||
#include "Poco/Timer.h"
|
||||
|
||||
#define DELTA_T_SAVE 1000/30 //timer call back needs to be at main app frame rate ie 1000/30
|
||||
#define NUM_PHASE 1
|
||||
#define NUM_RUN 1
|
||||
#define NUM_SAVE_PER_RUN 100 //this analysis actually necessarily saves a random quantity of frames = about half this number
|
||||
|
||||
|
||||
class DiffNoiseAnalysis : public AbstractAnalysis
|
||||
{
|
||||
public:
|
||||
|
||||
@ -15,9 +15,13 @@ using Poco::Timer;
|
||||
using Poco::TimerCallback;
|
||||
using Poco::Thread;
|
||||
|
||||
|
||||
void IResponseAnalysis::setup(int camWidth, int camHeight)
|
||||
{
|
||||
DELTA_T_SAVE = 100;
|
||||
NUM_PHASE = 1;
|
||||
NUM_RUN = 1;
|
||||
NUM_SAVE_PER_RUN = 100;
|
||||
|
||||
create_dir();
|
||||
_frame_cnt = 0;
|
||||
_frame_cnt_max = ofGetFrameRate() * ((DELTA_T_SAVE * NUM_SAVE_PER_RUN) / 1000);
|
||||
|
||||
@ -9,12 +9,6 @@
|
||||
|
||||
#include "Poco/Timer.h"
|
||||
|
||||
#define DELTA_T_SAVE 100 //the milisecond timing
|
||||
#define NUM_PHASE 1
|
||||
#define NUM_RUN 1
|
||||
#define NUM_SAVE_PER_RUN 100
|
||||
|
||||
|
||||
class IResponseAnalysis : public AbstractAnalysis
|
||||
{
|
||||
public:
|
||||
|
||||
@ -18,6 +18,11 @@ using Poco::Thread;
|
||||
|
||||
void LatencyTestAnalysis::setup(int camWidth, int camHeight)
|
||||
{
|
||||
DELTA_T_SAVE = 100;
|
||||
NUM_PHASE = 1;
|
||||
NUM_RUN = 1;
|
||||
NUM_SAVE_PER_RUN = 100;
|
||||
|
||||
create_dir();
|
||||
_frame_cnt = 0;
|
||||
_frame_cnt_max = ofGetFrameRate() * ((DELTA_T_SAVE * NUM_SAVE_PER_RUN) / 1000);
|
||||
|
||||
@ -9,12 +9,6 @@
|
||||
|
||||
#include "Poco/Timer.h"
|
||||
|
||||
#define DELTA_T_SAVE 100 //the milisecond timing
|
||||
#define NUM_PHASE 1
|
||||
#define NUM_RUN 1
|
||||
#define NUM_SAVE_PER_RUN 100
|
||||
|
||||
|
||||
class LatencyTestAnalysis : public AbstractAnalysis
|
||||
{
|
||||
public:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user