From 4a184c68f49d56a72c6556e5fc114922dbfaf5e2 Mon Sep 17 00:00:00 2001 From: "leon.bohnwagner" <leon.bohnwagner@informatik.hs-fulda.de> Date: Fri, 14 Feb 2025 01:40:49 +0100 Subject: [PATCH] feat: add systemd services and client start logging --- clients/cpu_temp/src/cpu_temp.c | 5 ++++- clients/dummy/src/dummy.c | 5 ++++- common/src/userspace_comm.c | 6 +++--- systemd/clients/cpu-temp.service | 10 ++++++++++ systemd/clients/dummy.service | 10 ++++++++++ systemd/daemon.service | 10 ++++++++++ 6 files changed, 41 insertions(+), 5 deletions(-) create mode 100644 systemd/clients/cpu-temp.service create mode 100644 systemd/clients/dummy.service create mode 100644 systemd/daemon.service diff --git a/clients/cpu_temp/src/cpu_temp.c b/clients/cpu_temp/src/cpu_temp.c index a935002..10d8c20 100644 --- a/clients/cpu_temp/src/cpu_temp.c +++ b/clients/cpu_temp/src/cpu_temp.c @@ -29,8 +29,11 @@ int main(int argc, char *argv[]) { double cpu_temp; char buffer[6]; + int id = atoi(argv[1]); int sleep_ms = atoi(argv[2]); + printf("Started cpu temp (id: %d, delay: %dms)\n", id, sleep_ms); + while (1) { if (pread(file_fd, buffer, sizeof(buffer), 0) == -1) { perror("Failed to read file"); @@ -42,7 +45,7 @@ int main(int argc, char *argv[]) { measurement_t measurement = { .data.float64 = cpu_temp, .datatype = FLOAT64, - .id = atoi(argv[1]), + .id = id, }; if (send_userspace_message(&userspace_send_handle, measurement) == -1) { diff --git a/clients/dummy/src/dummy.c b/clients/dummy/src/dummy.c index 01581cb..2db5e23 100644 --- a/clients/dummy/src/dummy.c +++ b/clients/dummy/src/dummy.c @@ -23,13 +23,16 @@ int main(int argc, char *argv[]) { double step = 0.0; + int id = atoi(argv[1]); int sleep_ms = atoi(argv[2]); + printf("Started dummy (id: %d, delay: %dms)\n", id, sleep_ms); + while (1) { measurement_t measurement = { .data.float64 = sin(step), .datatype = FLOAT64, - .id = atoi(argv[1]), + .id = id, }; if (send_userspace_message(&userspace_send_handle, measurement) == -1) { diff --git a/common/src/userspace_comm.c b/common/src/userspace_comm.c index 7acbc39..e3999d7 100644 --- a/common/src/userspace_comm.c +++ b/common/src/userspace_comm.c @@ -27,10 +27,10 @@ int send_userspace_message(userspace_send_handle_t *handle, .measurement = measurement, }; - int read = msgsnd(handle->msg_queue_id, &message_queue_message, sizeof(measurement_t), - 0); + int read = msgsnd(handle->msg_queue_id, &message_queue_message, + sizeof(measurement_t), 0); if (read == -1) { - return -1; + return -1; } return 0; } diff --git a/systemd/clients/cpu-temp.service b/systemd/clients/cpu-temp.service new file mode 100644 index 0000000..1392566 --- /dev/null +++ b/systemd/clients/cpu-temp.service @@ -0,0 +1,10 @@ +[Unit] +Description=CPU Temp +After=daemon.service + +[Service] +ExecStart=/usr/bin/cpu-temp 2 250 +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/systemd/clients/dummy.service b/systemd/clients/dummy.service new file mode 100644 index 0000000..9c75c1d --- /dev/null +++ b/systemd/clients/dummy.service @@ -0,0 +1,10 @@ +[Unit] +Description=Dummy +After=daemon.service + +[Service] +ExecStart=/usr/bin/dummy 1 250 +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/systemd/daemon.service b/systemd/daemon.service new file mode 100644 index 0000000..d8e294a --- /dev/null +++ b/systemd/daemon.service @@ -0,0 +1,10 @@ +[Unit] +Description=Daemon +After=network.target + +[Service] +ExecStart=/usr/bin/daemon +Restart=always + +[Install] +WantedBy=multi-user.target -- GitLab