From 3159f224133376d6cc4b9f66a1f9dd4fd44fc8e6 Mon Sep 17 00:00:00 2001 From: "leon.bohnwagner" <leon.bohnwagner@informatik.hs-fulda.de> Date: Thu, 13 Feb 2025 21:49:28 +0100 Subject: [PATCH] feat: add dummy client --- clients/CMakeLists.txt | 1 + clients/dummy/CMakeLists.txt | 8 ++++++ clients/dummy/src/dummy.c | 47 ++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 clients/dummy/CMakeLists.txt create mode 100644 clients/dummy/src/dummy.c diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt index 8e025ab..b2abca3 100644 --- a/clients/CMakeLists.txt +++ b/clients/CMakeLists.txt @@ -1 +1,2 @@ add_subdirectory(cpu_temp) +add_subdirectory(dummy) diff --git a/clients/dummy/CMakeLists.txt b/clients/dummy/CMakeLists.txt new file mode 100644 index 0000000..4ce7021 --- /dev/null +++ b/clients/dummy/CMakeLists.txt @@ -0,0 +1,8 @@ +add_executable(dummy + src/dummy.c +) + +target_link_libraries(dummy + PRIVATE common + m +) diff --git a/clients/dummy/src/dummy.c b/clients/dummy/src/dummy.c new file mode 100644 index 0000000..7e53656 --- /dev/null +++ b/clients/dummy/src/dummy.c @@ -0,0 +1,47 @@ +#include "../../../common/include/measurement.h" +#include "../../../common/include/userspace_comm.h" +#include <fcntl.h> +#include <math.h> +#include <stdio.h> +#include <stdlib.h> +#include <sys/stat.h> +#include <sys/types.h> +#include <unistd.h> + +int main(int argc, char *argv[]) { + if (argc < 3 || argc > 3) { + printf("Invalid arguments provided"); + return EXIT_FAILURE; + } + + userspace_send_handle_t userspace_send_handle; + if (create_userspace_send_handle(&userspace_send_handle) == -1) { + perror("Failed to open message queue"); + return EXIT_FAILURE; + } + + double step = 0.0; + + int sleep_ms = atoi(argv[2]); + + while (1) { + measurement_t measurement = { + .data.float64 = sin(step), + .datatype = FLOAT64, + .id = atoi(argv[1]), + }; + + send_userspace_message(&userspace_send_handle, measurement); + + step += 0.01; + if (step >= 2.0 * M_PI) { + step = 0.0; + } + + usleep(sleep_ms * 1000); + } + + destroy_userspace_send_handle(&userspace_send_handle); + + return EXIT_SUCCESS; +} -- GitLab