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); |
} |