Harness::Harness(QObject *parent) : QObject(parent)
{
	settingsManager.loadSavedSettings();

	gui = new MainWindow;
	serialManager = new SerialManager;
	packetReceiver = new PacketReceiver;
	windDataAnalyzer = new WindDataAnalyzer;
	dataLogger = new DataLogger;
	systemTimer = new QTimer;
	batteryChargeCalculator = new BatteryChargeCalculator;
	loggingData = false;

	connect(serialManager, SIGNAL(onNewDataReady(QByteArray)), packetReceiver, SLOT(onNewDataReceived(QByteArray)));
	connect(serialManager, SIGNAL(serialPortError(QString)), this, SLOT(onSerialPortError(QString)));
	connect(packetReceiver, SIGNAL(validPacketReceived()), this, SLOT(onValidPacketReceived()));
	connect(packetReceiver, SIGNAL(invalidPacketReceived()), this, SLOT(onInvalidPacketReceived()));
	connect(gui, SIGNAL(connectSerialButtonClicked(QString)), this, SLOT(onConnectSerialButtonClicked(QString)));
	connect(gui, SIGNAL(saveDataLogButtonClicked()), this, SLOT(onSaveDataLogButtonClicked()));
	connect(gui, SIGNAL(startLoggingButtonClicked()), this, SLOT(onStartLoggingButtonClicked()));
	connect(gui, SIGNAL(clearLogButtonClicked()), this, SLOT(onClearLogButtonClicked()));
	connect(gui, SIGNAL(settingsChanged()), this, SLOT(onSettingsChanged()));
	connect(systemTimer, SIGNAL(timeout()), this, SLOT(onSystemTimerTimeout()));

	compassOffset = settingsManager.getSettings().compassOffset;
	loadGUIDefaultValues();
	gui->show();
	systemTimer->start(SYSTEM_TIMER_INTERVAL_MS);
}
Ejemplo n.º 2
0
QT_USE_NAMESPACE

SerialPortManager::SerialPortManager(QObject *parent)
    : QObject(parent)
{
    m_serialPort = new QSerialPort(this);

    m_settings.portName = "";
    m_settings.baud = DEFAULT_BAUD;
    m_settings.dataBits = DEFAULT_DATABITS;
    m_settings.flowControl = DEFAULT_FLOWCONTROL;
    m_settings.parity = DEFAULT_PARITY;
    m_settings.stopBits = DEFAULT_STOPBITS;


    // forward emit serial port errors
//    qRegisterMetaType<QSerialPort::SerialPortError>("QSerialPort::SerialPortError");
    connect(m_serialPort, SIGNAL(error(QSerialPort::SerialPortError)), this, SIGNAL(serialPortError(QSerialPort::SerialPortError)));

    // deal with readyRead()
    connect(m_serialPort, &QSerialPort::readyRead, this, &SerialPortManager::handleReadyRead);

    m_serialPort->clear();
    emit portSettingsChanged(m_settings);
}
Ejemplo n.º 3
0
RtcmClient::RtcmClient(QObject *parent) : QObject(parent)
{
    mTcpSocket = new QTcpSocket(this);
    mSerialPort = new QSerialPort(this);

    qRegisterMetaType<rtcm_obs_header_t>("rtcm_obs_header_t");
    qRegisterMetaType<rtcm_obs_t>("rtcm_obs_gps_t");

    currentMsgHandler = this;
    rtcm3_init_state(&rtcmState);
    rtcm3_set_rx_callback(rtcm_rx, &rtcmState);
    rtcm3_set_rx_callback_1005_1006(rtcm_rx_1006, &rtcmState);
    rtcm3_set_rx_callback_obs(rtcm_rx_obs, &rtcmState);

    connect(mTcpSocket, SIGNAL(readyRead()), this, SLOT(tcpInputDataAvailable()));
    connect(mTcpSocket, SIGNAL(connected()), this, SLOT(tcpInputConnected()));
    connect(mTcpSocket, SIGNAL(disconnected()),
            this, SLOT(tcpInputDisconnected()));
    connect(mTcpSocket, SIGNAL(error(QAbstractSocket::SocketError)),
            this, SLOT(tcpInputError(QAbstractSocket::SocketError)));
    connect(mSerialPort, SIGNAL(readyRead()), this, SLOT(serialDataAvailable()));
    connect(mSerialPort, SIGNAL(error(QSerialPort::SerialPortError)),
            this, SLOT(serialPortError(QSerialPort::SerialPortError)));
}