From befdbe010b20b062dd02d5b83a836daf7eaa9964 Mon Sep 17 00:00:00 2001 From: IMback Date: Wed, 31 Oct 2018 00:38:39 +0100 Subject: [PATCH] add support for unchanged serial port baud rate --- main.cpp | 50 +++++++++++++++++++++++++++++++++---------------- serial_io.cpp | 52 ++++++++++++++++++++++++++++----------------------- 2 files changed, 63 insertions(+), 39 deletions(-) diff --git a/main.cpp b/main.cpp index 96ffddf..ac0f5f1 100644 --- a/main.cpp +++ b/main.cpp @@ -39,6 +39,7 @@ struct Config unsigned short port = 6856; int baud = B9600; bool noSerial = false; + bool verbose = false; }; static int parseCmdArgs(int argc, char** argv, Config *config) @@ -75,6 +76,10 @@ static int parseCmdArgs(int argc, char** argv, Config *config) printRates(); return -1; } + else if (std::string(argv[i]) == "-v" || std::string(argv[i]) == "--verbose") + { + config->verbose=true; + } } return 0; } @@ -90,7 +95,7 @@ void acceptThreadFunction( TCPServerSocket* servSock, std::vector* clientSockets->back()->send("UVOS serial multiplexer " VERSION "\n", sizeof("UVOS serial multiplexer " VERSION "\n")-1); std::cout<<"got client\n"; } - std::this_thread::sleep_for(std::chrono::milliseconds(20)); + std::this_thread::sleep_for(std::chrono::milliseconds(200)); } } @@ -147,35 +152,48 @@ int main(int argc, char* argv[]) if(readlen > 0) { - std::cout<<"bcst: "; - for( int j = 0; j < readlen; j++ )std::cout<send(buffer, readlen); - std::cout<recv(inBuffer, 2048); + char inBuffer[4096]; + int reclen = clientSockets[i]->recv(inBuffer, 4096); if( reclen > 0 ) { - std::cout<<"rec: "; - for( int j = 0; j < reclen; j++ )std::cout<send(inBuffer+6, reclen-6); - std::cout<join(); diff --git a/serial_io.cpp b/serial_io.cpp index d7f8107..a1e59af 100644 --- a/serial_io.cpp +++ b/serial_io.cpp @@ -20,24 +20,25 @@ ssize_t sRead(int port, void *buf, size_t count) void printRates() { std::cout<<"Rates:\n"\ - <<"B50 "<