From dd2801d6e936226451780ddb6081bbc4934ba58e Mon Sep 17 00:00:00 2001 From: Marek Kraus Date: Tue, 22 Nov 2022 13:55:38 +0100 Subject: [PATCH] Add termios support to libserialport and set_baudrate error handling This fixes issues with flashing with FT232H --- CMakeLists.txt | 3 +++ lib/blisp.c | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 124c4a1..4e16eca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,6 +49,9 @@ elseif(UNIX AND NOT APPLE) ${CMAKE_SOURCE_DIR}/vendor/libserialport/linux_termios.c) target_compile_definitions(libblisp_obj PRIVATE LIBSERIALPORT_ATBUILD + HAVE_TERMIOS2_SPEED + HAVE_STRUCT_TERMIOS2 + HAVE_DECL_BOTHER "SP_API=__attribute__((visibility(\"default\")))" "SP_PRIV=__attribute__((visibility(\"hidden\")))") write_file(${CMAKE_SOURCE_DIR}/vendor/libserialport/config.h "// bypass errors.") diff --git a/lib/blisp.c b/lib/blisp.c index b3515cb..d5d8c67 100644 --- a/lib/blisp.c +++ b/lib/blisp.c @@ -69,7 +69,10 @@ int32_t blisp_device_open(struct blisp_device* device, const char* port_name) // } else { device->current_baud_rate = 500000; // } - sp_set_baudrate(serial_port, device->current_baud_rate); + ret = sp_set_baudrate(serial_port, device->current_baud_rate); + if (ret != SP_OK) { + return -1; // TODO: Handle this + } device->serial_port = serial_port; return 0;