#include #include #include #include #include "../H7Serial.h" #include "serialthread.h" #include "serverthread.h" #include "globalstorage.h" void my_pause() { char d[1]; std::cout << "Press enter to continue" << std::endl; std::cin.getline(d,1); } int main(int argc, char* argv[]) { CH7Serial& serialPort = GlobalStorage::instance()->serialPort; SerialThread& serial = GlobalStorage::instance()->serialThread; ServerThread server; // GlobalStorage::instance()->serialThread = &serial; try { serialPort.open("/dev/ttyS0", CSerial::Baud9600); } catch(std::exception&e ) { std::cout << "Error opening serial port : " << e.what() << std::endl; exit(1); } try { GlobalStorage::instance()->server.start(9000); //listen on port 9000 } catch(...) { std::cout << "Could not listen on port 9000" << std::endl; serialPort.close(); exit(2); } boost::thread serialThread(serial); boost::thread serverThread(server); my_pause(); serial.stop(); server.stop(); while(!serial.stopped() && !server.stopped() ) usleep(10000); }