Insure that a newline is sent

This commit is contained in:
2023-04-03 21:17:53 +02:00
parent 8d5e1ea537
commit a981f9dc3d
2 changed files with 7 additions and 4 deletions

View File

@ -9,6 +9,7 @@ add_executable(${PROJECT_NAME} ${SRC_FILES})
target_link_libraries( ${PROJECT_NAME} ${LIBS}) target_link_libraries( ${PROJECT_NAME} ${LIBS})
set_target_properties( ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS -m64 LINK_FLAGS -m64) set_target_properties( ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS -m64 LINK_FLAGS -m64)
add_definitions(" -std=c++11 -Wall ") add_definitions("-std=c++11 -Wall")
set(CMAKE_INSTALL_PREFIX /usr)
install(TARGETS serialterminal RUNTIME DESTINATION bin) install(TARGETS serialterminal RUNTIME DESTINATION bin)

View File

@ -89,9 +89,10 @@ void recvThreadFunction(int serial, int signal)
break; break;
std::this_thread::sleep_for(std::chrono::milliseconds(100)); std::this_thread::sleep_for(std::chrono::milliseconds(100));
char buffer[4096]; char buffer[4096];
int readlen = sRead(serial, buffer, 4096); int readlen = sRead(serial, buffer, 4095);
if(readlen > 0) if(readlen > 0)
{ {
buffer[readlen] = '\0';
rl_clear_visible_line(); rl_clear_visible_line();
std::cout<<buffer; std::cout<<buffer;
if(buffer[readlen-1] != '\n') if(buffer[readlen-1] != '\n')
@ -114,8 +115,9 @@ static void cb_linehandler(char *line)
{ {
add_history(line); add_history(line);
sWrite(cb_serial, line, strlen(line)); sWrite(cb_serial, line, strlen(line));
sWrite(cb_serial, "\n", 1);
} }
free (line); free(line);
} }
} }
@ -126,7 +128,7 @@ int main(int argc, char* argv[])
if(parseCmdArgs(argc, argv, &config) != 0) if(parseCmdArgs(argc, argv, &config) != 0)
return -1; return -1;
std::cout<<"UVOS serial terminal v1.0\n"; std::cout<<"UVOS serial terminal v1.1\n";
int serial = -1; int serial = -1;
std::cout<<"Using serial port: "<<config.portFileName<<" at "<<config.baud<<" baud\n"; std::cout<<"Using serial port: "<<config.portFileName<<" at "<<config.baud<<" baud\n";