From e9217452e49303178579598241d9dfa17e6e8cbd Mon Sep 17 00:00:00 2001 From: Marek Kraus Date: Tue, 13 Sep 2022 11:03:39 +0200 Subject: [PATCH] WIP... --- CMakeLists.txt | 46 +++++++++++++--------------- tools/blisp/CMakeLists.txt | 6 ++++ {src => tools/blisp/src}/cmd.h | 0 {src => tools/blisp/src}/cmd/write.c | 9 ++++-- {src => tools/blisp/src}/main.c | 4 +-- 5 files changed, 36 insertions(+), 29 deletions(-) create mode 100644 tools/blisp/CMakeLists.txt rename {src => tools/blisp/src}/cmd.h (100%) rename {src => tools/blisp/src}/cmd/write.c (89%) rename {src => tools/blisp/src}/main.c (98%) diff --git a/CMakeLists.txt b/CMakeLists.txt index f7edcd3..745e761 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,30 +3,26 @@ project(blisp C) set(CMAKE_C_STANDARD 23) -add_subdirectory(vendor/argtable3) +add_subdirectory(tools/blisp) -add_executable(blisp src/main.c src/cmd/write.c) -target_include_directories(blisp PRIVATE vendor/argtable3/src) -target_link_libraries(blisp PRIVATE argtable3) - -target_sources(blisp PRIVATE - ${CMAKE_SOURCE_DIR}/vendor/libserialport/serialport.c - ${CMAKE_SOURCE_DIR}/vendor/libserialport/timing.c) - -if(WIN32) - target_link_libraries(blisp PRIVATE Setupapi.lib) - target_compile_definitions(blisp PRIVATE LIBSERIALPORT_MSBUILD) - target_sources(blisp PRIVATE - ${CMAKE_SOURCE_DIR}/vendor/libserialport/windows.c) -elseif(UNIX AND NOT APPLE) - target_sources(blisp PRIVATE - ${CMAKE_SOURCE_DIR}/vendor/libserialport/linux.c - ${CMAKE_SOURCE_DIR}/vendor/libserialport/linux_termios.c) - target_compile_definitions(blisp PRIVATE - LIBSERIALPORT_ATBUILD - "SP_API=__attribute__((visibility(\"default\")))" - "SP_PRIV=__attribute__((visibility(\"hidden\")))") - target_include_directories(blisp PRIVATE ${CMAKE_SOURCE_DIR}/vendor/libserialport) - write_file(${CMAKE_SOURCE_DIR}/vendor/libserialport/config.h "// bypass errors.") -endif() \ No newline at end of file +#target_sources(blisp PRIVATE +# ${CMAKE_SOURCE_DIR}/vendor/libserialport/serialport.c +# ${CMAKE_SOURCE_DIR}/vendor/libserialport/timing.c) +# +#if(WIN32) +# target_link_libraries(blisp PRIVATE Setupapi.lib) +# target_compile_definitions(blisp PRIVATE LIBSERIALPORT_MSBUILD) +# target_sources(blisp PRIVATE +# ${CMAKE_SOURCE_DIR}/vendor/libserialport/windows.c) +#elseif(UNIX AND NOT APPLE) +# target_sources(blisp PRIVATE +# ${CMAKE_SOURCE_DIR}/vendor/libserialport/linux.c +# ${CMAKE_SOURCE_DIR}/vendor/libserialport/linux_termios.c) +# target_compile_definitions(blisp PRIVATE +# LIBSERIALPORT_ATBUILD +# "SP_API=__attribute__((visibility(\"default\")))" +# "SP_PRIV=__attribute__((visibility(\"hidden\")))") +# target_include_directories(blisp PRIVATE ${CMAKE_SOURCE_DIR}/vendor/libserialport) +# write_file(${CMAKE_SOURCE_DIR}/vendor/libserialport/config.h "// bypass errors.") +#endif() \ No newline at end of file diff --git a/tools/blisp/CMakeLists.txt b/tools/blisp/CMakeLists.txt new file mode 100644 index 0000000..2ba202a --- /dev/null +++ b/tools/blisp/CMakeLists.txt @@ -0,0 +1,6 @@ +add_subdirectory(${CMAKE_SOURCE_DIR}/vendor/argtable3 ${CMAKE_CURRENT_BINARY_DIR}/argtable3) + +add_executable(blisp src/main.c src/cmd/write.c) + +target_include_directories(blisp PRIVATE "${CMAKE_SOURCE_DIR}/vendor/argtable3/src") +target_link_libraries(blisp PRIVATE argtable3) \ No newline at end of file diff --git a/src/cmd.h b/tools/blisp/src/cmd.h similarity index 100% rename from src/cmd.h rename to tools/blisp/src/cmd.h diff --git a/src/cmd/write.c b/tools/blisp/src/cmd/write.c similarity index 89% rename from src/cmd/write.c rename to tools/blisp/src/cmd/write.c index c3e41fb..c26ce24 100644 --- a/src/cmd/write.c +++ b/tools/blisp/src/cmd/write.c @@ -1,5 +1,10 @@ #include "../cmd.h" -#include +#include "argtable3.h" + +void blisp_flash_firmware(const char* firmware_path) { + printf(""); +} + #define REG_EXTENDED 1 #define REG_ICASE (REG_EXTENDED << 1) @@ -35,7 +40,7 @@ uint8_t cmd_write_parse_exec(int argc, char** argv) { int errors = arg_parse(argc, argv, cmd_write_argtable); if (errors == 0) { - printf("yeet\n"); + blisp_flash_firmware(binary_to_write->filename[0]); // TODO: Error code? return 1; } else if (cmd->count == 1) { cmd_write_args_print_glossary(); diff --git a/src/main.c b/tools/blisp/src/main.c similarity index 98% rename from src/main.c rename to tools/blisp/src/main.c index 81f3829..dad13f5 100644 --- a/src/main.c +++ b/tools/blisp/src/main.c @@ -1,8 +1,8 @@ +#include "argtable3.h" #include "cmd.h" -#include +#include #include #include -#include struct cmd* cmds[] = { &cmd_write