Select Git revision

Ruben Otto authored
dummy.c 1.20 KiB
#include "../../../common/include/measurement.h"
#include "../../../common/include/userspace_comm.h"
#include <errno.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]),
};
if (send_userspace_message(&userspace_send_handle, measurement) == -1) {
if (errno == EIDRM || errno == EINVAL) {
printf("Message queue got closed\n");
break;
}
perror("Failed to send message");
}
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;
}