Refactor slave_node application to use Zephyr modules

This commit is contained in:
Eduard Iten 2025-07-02 20:47:16 +02:00
parent a5da0a61dd
commit 711341f362
13 changed files with 41 additions and 14 deletions

6
software/CMakeLists.txt Normal file
View File

@ -0,0 +1,6 @@
cmake_minimum_required(VERSION 3.13.1)
project(software)
add_subdirectory(modules/modbus_server)
add_subdirectory(modules/valve)

View File

@ -6,14 +6,10 @@ list(APPEND BOARD_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../..)
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(slave_node)
# Define a variable for the lib directory
set(LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../lib)
# Add the include directories for the libraries
target_include_directories(app PRIVATE
${LIB_DIR}/valve
${LIB_DIR}/modbus_server
${LIB_DIR}/fwu
${CMAKE_CURRENT_SOURCE_DIR}/../../modules/valve/include
${CMAKE_CURRENT_SOURCE_DIR}/../../modules/modbus_server/include
${CMAKE_CURRENT_SOURCE_DIR}/../../lib/fwu
)
# Add the source files from the app and the libraries
@ -21,7 +17,7 @@ target_sources(app PRIVATE
src/main.c
src/shell_modbus.c
src/shell_system.c
${LIB_DIR}/valve/valve.c
${LIB_DIR}/modbus_server/modbus_server.c
${LIB_DIR}/fwu/fwu.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
)

View File

@ -28,3 +28,4 @@ CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_MODBUS=y
CONFIG_MODBUS_ROLE_SERVER=y
CONFIG_MODBUS_BUFFER_SIZE=256

View File

@ -1,8 +1,8 @@
#include <zephyr/kernel.h>
#include <zephyr/settings/settings.h>
#include <zephyr/logging/log.h>
#include "modbus_server.h"
#include "valve.h"
#include <modbus_server.h>
#include <valve.h>
#include "fwu.h"
LOG_MODULE_REGISTER(main, LOG_LEVEL_INF);

View File

@ -1,7 +1,7 @@
#include <zephyr/shell/shell.h>
#include <stdlib.h>
#include "modbus_server.h"
#include "valve.h"
#include <modbus_server.h>
#include <valve.h>
static int cmd_modbus_set_baud(const struct shell *sh, size_t argc, char **argv)
{

View File

@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 3.13.1)
include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)
project(modbus_server)
target_sources(app PRIVATE src/modbus_server.c)
target_include_directories(app PUBLIC include)

View File

@ -0,0 +1,5 @@
config MODBUS_SERVER
bool "Enable Modbus Server Library"
default y
help
Enable the Modbus Server module.

View File

@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 3.13.1)
include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)
project(valve)
target_sources(app PRIVATE src/valve.c)
target_include_directories(app PUBLIC include)

View File

@ -0,0 +1,5 @@
config VALVE
bool "Enable Valve Library"
default y
help
Enable the Valve module.