int main() { Datagram dg; Serial_t serialConfig; t=0; serialConfig.baud_rate = 9600; serialConfig.bits = 8; serialConfig.parity = 0; serialConfig.stop_bits = 1; serialConfig.device = "ttyUSB0"; serial.setConfig(serialConfig); if (serial.connect() == -1) { qDebug() << "Serial connection error!"; exit(1); } qDebug() << "Serial connected!"; qDebug() << "Ping..."; ping(); qDebug() << "DONE"; bool remain = true; while (remain) { qDebug() << "Inquiry or ok?"; receiveDatagram(&serial, &dg); switch (dg.type) { case REQUEST: switch (dg.id) { case INQUIRY: qDebug() << "Inquiry Request..."; inquiry(); qDebug() << "DONE"; break; default: qDebug() << "Unknown"; break; } break; case RESPONSE: switch (dg.id) { case OK: qDebug() << "OK"; remain = false; break; default: qDebug() << "Unknown"; break; } break; default: qDebug() << "Unknown"; break; } } receiveDatagram(&serial, &dg); if (dg.type != REQUEST || dg.id != CONNECT_TO) { qDebug() << "Expected connection!"; qDebug() << "QUIT"; exit(1); } qDebug() << "Connecting to: " << *dg.data; sendDatagram(&serial, RESPONSE, SUCCESS); qDebug() << "DONE"; loop(); return 0; }