52 lines
1.0 KiB
C++
Executable File
52 lines
1.0 KiB
C++
Executable File
/**
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
#pragma once
|
|
#include <QtCore/QObject>
|
|
#include <QtCore/QMutex>
|
|
#include <QtCore/QTime>
|
|
#include <QtNetwork/QHostAddress>
|
|
#include "logger.h"
|
|
#include "dds_handler.h"
|
|
|
|
class QTimer;
|
|
|
|
namespace DifferentialGPS
|
|
{
|
|
class TetraImpl;
|
|
class TrimbleIF;
|
|
|
|
class MainThread final : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit MainThread(QObject *parent = nullptr);
|
|
~MainThread();
|
|
|
|
bool init(int domainId);
|
|
|
|
void addNewData(const QByteArray &ba, int trimbleIfNum);
|
|
bool getNewData(QByteArray &ba);
|
|
|
|
Q_SIGNALS:
|
|
void newDataAvailable();
|
|
protected:
|
|
std::shared_ptr<DdsHandler> m_ddsHandler;
|
|
QByteArray m_dgpsData;
|
|
QTimer *m_dgpsTimer;
|
|
QMutex m_mutex;
|
|
|
|
TetraImpl *m_tetraIF[2];
|
|
int m_tetraIfNum; // Nummer des Tetra IF-es, an das Daten gesendet werden.
|
|
|
|
TrimbleIF *m_trimbleIF[2];
|
|
int m_trimbleIfNum; // Nummer des Trimble IF-es, von dem Daten erwartet werden.
|
|
|
|
NGL::INGLLogger &m_logger;
|
|
QTime m_broadcastTime;
|
|
int m_broadcastCycle_ms;
|
|
};
|
|
} // namespace DifferentialGPS
|