-
Notifications
You must be signed in to change notification settings - Fork 0
/
tsrealcalcwrapper.cpp
71 lines (60 loc) · 1.8 KB
/
tsrealcalcwrapper.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include "tsrealcalcwrapper.h"
tsRealCalcWrapper::tsRealCalcWrapper(QObject *parent) :
QObject(parent){
AvgTempIn = 0;
AvgTempOut = 0;
AvgDo = 0;
InspFreq = 0;
}
void tsRealCalcWrapper::addData(int tempIn = 0, int tempOut = 0, int volume = 0){
TempIn.append(tempIn);
TempOut.append(tempOut);
Volume.append(volume);
if ( TempIn.size()%CALC_PERIOD == 0 && TempIn.size()>0)
calc();
/* if ( TempIn.size()>500 ){
TempIn.remove(0,1);
TempOut.remove(0,1);
Volume.remove(0,1);
}*/
}
void tsRealCalcWrapper::reset(){
AvgTempIn = 0;
AvgTempOut = 0;
AvgDo = 0;
InspFreq = 0;
TempIn.clear();
TempOut.clear();
Volume.clear();
}
int tsRealCalcWrapper::getAvgTempIn(){
return AvgTempIn;
}
int tsRealCalcWrapper::getAvgTempOut(){
return AvgTempOut;
}
int tsRealCalcWrapper::getAvgInspirationVolume(){
return AvgDo;
}
int tsRealCalcWrapper::getInspirationFreqency(){
return InspFreq;
}
void tsRealCalcWrapper::calc(){
QThread* rcthread = new QThread();
tsrealcalc* rcalc = new tsrealcalc();
for (int i=0;i<TempIn.size();i++)
rcalc->append(TempIn.at(i),TempOut.at(i),Volume.at(i));
rcalc->moveToThread(rcthread);
connect(rcthread,SIGNAL(started()),rcalc,SLOT(process()));
connect(rcalc,SIGNAL(updateAverageData(int,int,int,int)),this,SLOT(getAverageData(int,int,int,int)));
connect(rcalc,SIGNAL(finished()),rcthread,SLOT(quit()));
connect(rcalc,SIGNAL(finished()),rcalc,SLOT(deleteLater()));
connect(rcthread,SIGNAL(finished()),rcthread,SLOT(deleteLater()));
rcthread->start();
}
void tsRealCalcWrapper::getAverageData(int avgTempIn, int avgTempOut, int avgDo, int inspFreq){
AvgTempIn = avgTempIn;
AvgTempOut = avgTempOut;
AvgDo = avgDo;
InspFreq = inspFreq;
}