Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 462 → Rev 500

/QMK-Groundstation/branches/libMK/libMK/QTSerialCommunication.cpp
1,11 → 1,14
#include "QTSerialCommunication.h"
#include "../libMK/Parser.h"
#include "../Classes/ToolBox.h"
#include <iostream>
 
 
/**
* initiate connection and stuff
*/
QTSerialCommunication::QTSerialCommunication() {
QTSerialCommunication::QTSerialCommunication(Handler * handler) {
this->handler = handler;
connection_lost();
serial = new ManageSerialPort();
serial->setBaudRate(BAUD57600); //BaudRate
31,6 → 34,7
timeout--;
if (serial->isOpen()) {
serial->receiveData();
connect(serial, SIGNAL(newDataReceived(const QByteArray &)), this, SLOT(slot_received_data(const QByteArray &)));
connection_established();
//break while loop
return;
51,10 → 55,12
if (is_connected()) {
Parser::create_frame(cmd, address, data, length);
if (resend) {
//resend evrey 2 seconds
//resend every 2 seconds
resendTimer.start(2000);
resendData = data;
}
//TODO: save outgoing data for debug purpose
std::cout << "send: " << data << std::endl;
QByteArray temp(data);
serial->sendData(temp);
} else {
67,7 → 73,7
* stop timer
*/
void QTSerialCommunication::stop_resend() {
resendTimer.stop();
};
 
/**
76,5 → 82,23
void QTSerialCommunication::slot_resend_timer() {
}
 
void QTSerialCommunication::received_data(char * data) {
/**
* get incomming data from QT-Serial-Manager
* and just give it to the handler.
*/
void QTSerialCommunication::slot_received_data(const QByteArray & data) {
received_data((char *)data.data(), data.length());
}
 
/**
* handel received data
*/
void QTSerialCommunication::received_data(char * data, int length) {
//Debug: print oud debug data
//TODO: save data in a file for debug purposes
std::cout << "receive: " << data << std::endl;
//handle incomming data
//FIXME: HIER! Hardware-Id = Mode.id
 
handler->receive_data(data, length);
}