65 StcDataWorker::StcDataWorker(QObject *parent)
69 , m_iAverageSamples(1)
71 , m_iUSecIntervall(1000)
79 StcDataWorker::~StcDataWorker()
88 void StcDataWorker::addData(QList<VectorXd> &data)
92 QMutexLocker locker(&m_qMutex);
104 void StcDataWorker::clear()
106 QMutexLocker locker(&m_qMutex);
113 void StcDataWorker::run()
115 VectorXd t_vecAverage(0,0);
123 QMutexLocker locker(&m_qMutex);
128 bool doProcessing =
false;
130 QMutexLocker locker(&m_qMutex);
131 if(!m_data.isEmpty() && m_data.size() > 0)
144 if(t_vecAverage.rows() != m_data[0].rows())
145 t_vecAverage = m_data[m_iCurrentSample%m_data.size()];
147 t_vecAverage += m_data[m_iCurrentSample%m_data.size()];
154 if(t_vecAverage.rows() != m_data[0].rows())
155 t_vecAverage = m_data.front();
157 t_vecAverage += m_data.front();
166 if((m_iCurrentSample/1)%m_iAverageSamples == 0)
168 t_vecAverage /= (double)m_iAverageSamples;
170 emit stcSample(t_vecAverage);
171 t_vecAverage = VectorXd::Zero(t_vecAverage.rows());
176 QThread::msleep(m_iUSecIntervall);
183 void StcDataWorker::setAverage(qint32 samples)
185 QMutexLocker locker(&m_qMutex);
186 m_iAverageSamples = samples;
192 void StcDataWorker::setInterval(
int usec)
194 QMutexLocker locker(&m_qMutex);
195 m_iUSecIntervall = usec;
201 void StcDataWorker::setLoop(
bool looping)
203 QMutexLocker locker(&m_qMutex);
204 m_bIsLooping = looping;
210 void StcDataWorker::stop()
213 m_bIsRunning =
false;
StcDataWorker class declaration.