Insure that a newline is sent

This commit is contained in:
uvos 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})
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)

View File

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