From c3df6565b7cea7eb5fd304d57a8c4da9436033f7 Mon Sep 17 00:00:00 2001 From: Eduard Iten Date: Wed, 2 Jul 2025 21:30:15 +0200 Subject: [PATCH] Refactor fwu library into a Zephyr module --- software/CMakeLists.txt | 1 + software/apps/slave_node/CMakeLists.txt | 8 ++++++-- software/apps/slave_node/src/main.c | 2 +- software/modules/fwu/CMakeLists.txt | 7 +++++++ software/modules/fwu/Kconfig | 5 +++++ software/{lib/fwu => modules/fwu/include}/fwu.h | 0 software/{lib/fwu => modules/fwu/src}/fwu.c | 0 7 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 software/modules/fwu/CMakeLists.txt create mode 100644 software/modules/fwu/Kconfig rename software/{lib/fwu => modules/fwu/include}/fwu.h (100%) rename software/{lib/fwu => modules/fwu/src}/fwu.c (100%) diff --git a/software/CMakeLists.txt b/software/CMakeLists.txt index 4b4e9d9..04f0e5d 100644 --- a/software/CMakeLists.txt +++ b/software/CMakeLists.txt @@ -4,3 +4,4 @@ project(software) add_subdirectory(modules/modbus_server) add_subdirectory(modules/valve) +add_subdirectory(modules/fwu) diff --git a/software/apps/slave_node/CMakeLists.txt b/software/apps/slave_node/CMakeLists.txt index d928918..8398d7f 100644 --- a/software/apps/slave_node/CMakeLists.txt +++ b/software/apps/slave_node/CMakeLists.txt @@ -6,10 +6,14 @@ list(APPEND BOARD_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../..) find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) project(slave_node) +list(APPEND KCONFIG_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/../../modules/modbus_server/Kconfig) +list(APPEND KCONFIG_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/../../modules/valve/Kconfig) +list(APPEND KCONFIG_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/../../modules/fwu/Kconfig) + target_include_directories(app PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../modules/valve/include ${CMAKE_CURRENT_SOURCE_DIR}/../../modules/modbus_server/include - ${CMAKE_CURRENT_SOURCE_DIR}/../../lib/fwu + ${CMAKE_CURRENT_SOURCE_DIR}/../../modules/fwu/include ) # Add the source files from the app and the libraries @@ -19,5 +23,5 @@ target_sources(app PRIVATE src/shell_system.c ${CMAKE_CURRENT_SOURCE_DIR}/../../modules/valve/src/valve.c ${CMAKE_CURRENT_SOURCE_DIR}/../../modules/modbus_server/src/modbus_server.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../lib/fwu/fwu.c + ${CMAKE_CURRENT_SOURCE_DIR}/../../modules/fwu/src/fwu.c ) \ No newline at end of file diff --git a/software/apps/slave_node/src/main.c b/software/apps/slave_node/src/main.c index 5e2e567..f25c621 100644 --- a/software/apps/slave_node/src/main.c +++ b/software/apps/slave_node/src/main.c @@ -3,7 +3,7 @@ #include #include #include -#include "fwu.h" +#include LOG_MODULE_REGISTER(main, LOG_LEVEL_INF); diff --git a/software/modules/fwu/CMakeLists.txt b/software/modules/fwu/CMakeLists.txt new file mode 100644 index 0000000..84df04d --- /dev/null +++ b/software/modules/fwu/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.13.1) +include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE) + +project(fwu) + +target_sources(app PRIVATE src/fwu.c) +target_include_directories(app PUBLIC include) diff --git a/software/modules/fwu/Kconfig b/software/modules/fwu/Kconfig new file mode 100644 index 0000000..5256448 --- /dev/null +++ b/software/modules/fwu/Kconfig @@ -0,0 +1,5 @@ +config FWU + bool "Enable Firmware Update Library" + default y + help + Enable the Firmware Update module. diff --git a/software/lib/fwu/fwu.h b/software/modules/fwu/include/fwu.h similarity index 100% rename from software/lib/fwu/fwu.h rename to software/modules/fwu/include/fwu.h diff --git a/software/lib/fwu/fwu.c b/software/modules/fwu/src/fwu.c similarity index 100% rename from software/lib/fwu/fwu.c rename to software/modules/fwu/src/fwu.c