summaryrefslogtreecommitdiffhomepage
path: root/tracker-hatire/ftnoir_tracker_hat.h
diff options
context:
space:
mode:
Diffstat (limited to 'tracker-hatire/ftnoir_tracker_hat.h')
-rw-r--r--tracker-hatire/ftnoir_tracker_hat.h122
1 files changed, 22 insertions, 100 deletions
diff --git a/tracker-hatire/ftnoir_tracker_hat.h b/tracker-hatire/ftnoir_tracker_hat.h
index 2472428b..4767d291 100644
--- a/tracker-hatire/ftnoir_tracker_hat.h
+++ b/tracker-hatire/ftnoir_tracker_hat.h
@@ -1,13 +1,10 @@
-#ifndef FTNOIR_TRACKER_HAT_H
-#define FTNOIR_TRACKER_HAT_H
+#pragma once
-#ifdef OPENTRACK_API
-# include "opentrack/plugin-support.hpp"
-#else
-# include "..\ftnoir_tracker_base\ftnoir_tracker_base.h"
-#endif
+#include "thread.hpp"
+#include "opentrack/plugin-support.hpp"
#include "ftnoir_tracker_hat_settings.h"
#include "ftnoir_arduino_type.h"
+
#include <QObject>
#include <QPalette>
#include <QtGui>
@@ -15,59 +12,42 @@
#include <QMessageBox>
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
-#include <QMutex>
-#include <QMutexLocker>
#include <QSettings>
-#define VER_FILEVERSION_STR "Version 2.1.1\0"
+#define VER_FILEVERSION_STR "Version 2.1.1"
-class FTNoIR_Tracker : public QObject, public ITracker
+class hatire : public QObject, public ITracker
{
Q_OBJECT
+
public:
- FTNoIR_Tracker();
- ~FTNoIR_Tracker();
+ hatire();
+ ~hatire();
-#ifdef OPENTRACK_API
void start_tracker(QFrame*);
void data(double *data);
- int preferredHz(); // unused
- void center(); // unused
-#else
- void Initialize( QFrame *videoframe );
- void StartTracker(HWND parent_window);
- void StopTracker(bool exit);
- bool GiveHeadPoseData(THeadPoseData *data);
- void notifyCenter();
-#endif
+ //void center();
void applysettings(const TrackerSettings& settings);
- bool notifyZeroed();
+ //bool notifyZeroed();
void reset();
- void SerialInfo();
- void sendcmd(const QByteArray &cmd);
void get_info( int *tps );
-
-private Q_SLOTS:
- void SerialRead();
- void Log(QString message);
-
-signals:
- void sendMsgInfo(const QByteArray &MsgInfo);
-
+ void serial_info();
+ void send_serial_command(const QByteArray& x);
private:
- QSerialPort *ComPort;
- TArduinoData ArduinoData, HAT ; // Trame from Arduino
- QByteArray dataRead;
- QByteArray dataToSend;
+ TArduinoData ArduinoData, HAT;
QByteArray Begin;
QByteArray End;
- QMutex mutex;
- int frame_cnt;
- bool new_frame;
+ hatire_thread t;
+ thread_settings ts;
+
+ // XXX move to settings api -sh 20160410
TrackerSettings settings;
+ int frame_cnt;
+ bool new_frame;
+
bool bEnableRoll;
bool bEnablePitch;
bool bEnableYaw;
@@ -81,7 +61,6 @@ private:
bool bInvertX;
bool bInvertY;
bool bInvertZ;
- bool bEnableLogging;
int iRollAxe;
int iPitchAxe;
@@ -90,68 +69,11 @@ private:
int iYAxe;
int iZAxe;
- QByteArray sCmdStart;
- QByteArray sCmdStop;
- QByteArray sCmdInit;
- QByteArray sCmdReset;
- QByteArray sCmdCenter;
- QByteArray sCmdZero;
-
- int iDelayInit;
- int iDelayStart;
- int iDelaySeq;
-
- bool bBigEndian;
-
- QString sSerialPortName;
- QSerialPort::BaudRate iBaudRate;
- QSerialPort::DataBits iDataBits;
- QSerialPort::Parity iParity;
- QSerialPort::StopBits iStopBits;
- QSerialPort::FlowControl iFlowControl;
-
- QFile flDiagnostics;
-#ifdef OPENTRACK_API
- int iFpsArduino;
-#endif
- int CptError;
-
-
+ volatile int CptError;
};
-
-//*******************************************************************************************************
-// FaceTrackNoIR Tracker DLL. Functions used to get general info on the Tracker
-//*******************************************************************************************************
-#if defined(OPENTRACK_API)
class TrackerDll : public Metadata
{
QString name() { return QString("Hatire Arduino"); }
QIcon icon() { return QIcon(":/images/hat.png"); }
};
-#else
-class TrackerDll :
-public Metadata
-public ITrackerDll
-{
-public:
- TrackerDll();
- ~TrackerDll();
-
- void Initialize();
-
- QString name();
- QIcon icon();
- 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
-
-#endif // FTNOIR_TRACKER_HAT_H