summaryrefslogtreecommitdiffhomepage
path: root/ftnoir_tracker_hatire/ftnoir_tracker_hat.h
diff options
context:
space:
mode:
Diffstat (limited to 'ftnoir_tracker_hatire/ftnoir_tracker_hat.h')
-rw-r--r--ftnoir_tracker_hatire/ftnoir_tracker_hat.h102
1 files changed, 102 insertions, 0 deletions
diff --git a/ftnoir_tracker_hatire/ftnoir_tracker_hat.h b/ftnoir_tracker_hatire/ftnoir_tracker_hat.h
new file mode 100644
index 00000000..54e67f48
--- /dev/null
+++ b/ftnoir_tracker_hatire/ftnoir_tracker_hat.h
@@ -0,0 +1,102 @@
+#ifndef FTNOIR_TRACKER_HAT_H
+#define FTNOIR_TRACKER_HAT_H
+
+#include "..\ftnoir_tracker_base\ftnoir_tracker_base.h"
+#include "ftnoir_tracker_hat_settings.h"
+#include "ftnoir_arduino_type.h"
+
+#include <QExtSerialPort\qextserialport.h>
+#include <QExtSerialPort\qextserialenumerator.h>
+#include <QThread>
+#include <QReadWriteLock>
+#include <QTimer>
+#include <QSettings>
+#include "Windows.h"
+#include "math.h"
+
+class QextSerialPort;
+class QExtSerialEnumerator;
+
+class FTNoIR_Tracker : public ITracker, QThread
+{
+
+public:
+ FTNoIR_Tracker();
+ ~FTNoIR_Tracker();
+
+ void Initialize( QFrame *videoframe );
+ void StartTracker( HWND parent_window );
+ void StopTracker( bool exit );
+ bool GiveHeadPoseData(THeadPoseData *data);
+
+ void applysettings(const TrackerSettings& settings);
+ void notifyCenter();
+ void center();
+ void reset();
+ void sendcmd(QString* cmd);
+ void get_info(QString* info , int* tps );
+
+protected:
+ void run(); // qthread override run method
+
+
+private:
+ // Handles to neatly terminate thread...
+ HANDLE m_StopThread;
+ HANDLE m_WaitThread;
+
+ TArduinoData ArduinoData, HAT ; // Trame from Arduino
+ QByteArray datagram;
+ QextSerialPort *SerialPort;
+ QReadWriteLock rwlock;
+ QList<QString>* ListErrInf ;
+ int waitTimeout;
+ QString sSerialPortName; // Port serial name
+ bool bEnableRoll;
+ bool bEnablePitch;
+ bool bEnableYaw;
+ bool bEnableX;
+ bool bEnableY;
+ bool bEnableZ;
+
+ bool bInvertRoll;
+ bool bInvertPitch;
+ bool bInvertYaw;
+ bool bInvertX;
+ bool bInvertY;
+ bool bInvertZ;
+
+
+ int iRollAxe;
+ int iPitchAxe;
+ int iYawAxe;
+ int iXAxe;
+ int iYAxe;
+ int iZAxe;
+
+};
+
+
+//*******************************************************************************************************
+// FaceTrackNoIR Tracker DLL. Functions used to get general info on the Tracker
+//*******************************************************************************************************
+class FTNoIR_TrackerDll : public ITrackerDll
+{
+public:
+ FTNoIR_TrackerDll();
+ ~FTNoIR_TrackerDll();
+
+ void Initialize();
+
+ void getFullName(QString *strToBeFilled);
+ void getShortName(QString *strToBeFilled);
+ void getDescription(QString *strToBeFilled);
+ void getIcon(QIcon *icon);
+
+private:
+ QString trackerFullName; // Trackers' name and description
+ QString trackerShortName;
+ QString trackerDescription;
+};
+
+#endif // FTNOIR_TRACKER_HAT_H \ No newline at end of file