#ifndef SAMPLINGTHREAD_H #define SAMPLINGTHREAD_H #include #include #include #include #include #include using namespace TNX; #include "sample.h" class SamplingThread : public QThread { Q_OBJECT public: explicit SamplingThread(QObject *parent = 0); ~SamplingThread(); QVector takeSamples(); void open(QString fileName, QPortSettings::BaudRate baudRate); void close(); protected: void sample(double elapsed); void append(Sample mySample); void append(const QByteArray &data, double elapsed); void timerEvent(QTimerEvent *event); void run(); signals: void dataArrived(); private: QVector samples; QByteArray mTempData; QMutex mSampleMutex, mStopMutex; volatile bool mRun; QSerialPort *mpSerport; int mTimerId; QTime mTime; }; #endif // SAMPLINGTHREAD_H