q for quit

This commit is contained in:
Dhanya Maliakal 2016-11-02 16:37:37 +01:00
parent 40babc23a3
commit 754a4f8bdc
2 changed files with 24 additions and 6 deletions

View File

@ -6,6 +6,7 @@
#elif EXTPP
#include "usersFunctions.h"
#endif
#include <time.h>
//#define VERBOSE
@ -25,6 +26,17 @@ static void* startProcessDataNoDelete(void *n){
};
int postProcessing::kbhit(){
struct timeval tv;
fd_set fds;
tv.tv_sec = 0;
tv.tv_usec = 0;
FD_ZERO(&fds);
FD_SET(STDIN_FILENO, &fds); //STDIN_FILENO is 0
select(STDIN_FILENO+1, &fds, NULL, NULL, &tv);
return FD_ISSET(STDIN_FILENO, &fds);
}
postProcessing::postProcessing(): expTime(NULL), ang(NULL), val(NULL), err(NULL), numberOfChannels(0), badChannelMask(NULL){
pthread_mutex_t mp1 = PTHREAD_MUTEX_INITIALIZER;
@ -496,10 +508,11 @@ void* postProcessing::processData(int delflag) {
else{
int caught = -1;
char c;
int ifp;
while(true){
cout.flush();
cout<<flush;
//cout.flush();
//cout<<flush;
usleep(100 * 1000); //20ms need this else connecting error to receiver (too fast)
if (checkJoinThread()){
@ -507,10 +520,13 @@ void* postProcessing::processData(int delflag) {
}
c=fgetc(stdin);
if (c=='q') {
cout<<"gonna stop"<<endl;
stopAcquisition();
ifp=kbhit();
if (ifp!=0){
c=fgetc(stdin);
if (c=='q') {
cout<<"gonna stop"<<endl;
stopAcquisition();
}
}

View File

@ -335,6 +335,8 @@ s
detectorData *thisData;
private:
int kbhit(void);
// double *fdata;
// int (*dataReady)(detectorData*,int, int,void*);
// void *pCallbackArg;