Port examples to Xenomai3

This commit is contained in:
Bjarne von Horn
2024-01-30 14:48:33 +01:00
parent 3ba71d5702
commit 64adc0ce16
5 changed files with 36 additions and 3 deletions

View File

@@ -40,6 +40,11 @@ SUBDIRS += \
xenomai \ xenomai \
xenomai_posix xenomai_posix
endif endif
if ENABLE_XENOMAI_V3
SUBDIRS += \
xenomai \
xenomai_posix
endif
if ENABLE_RTAI if ENABLE_RTAI
SUBDIRS += \ SUBDIRS += \

View File

@@ -25,13 +25,26 @@ ec_xenomai_example_SOURCES = main.c
ec_xenomai_example_CFLAGS = \ ec_xenomai_example_CFLAGS = \
-Wall \ -Wall \
-I$(top_srcdir)/include \ -I$(top_srcdir)/include
ec_xenomai_example_LDFLAGS = \
-L$(top_builddir)/lib/.libs -lethercat_rtdm
if ENABLE_XENOMAI_V3
ec_xenomai_example_CFLAGS += \
-DXENOMAI_API_V3 \
$(XENOMAI_ALCHEMY_CFLAGS)
ec_xenomai_example_LDFLAGS += \
$(XENOMAI_ALCHEMY_LDFLAGS)
else
ec_xenomai_example_CFLAGS += \
$(XENOMAI_NATIVE_CFLAGS) \ $(XENOMAI_NATIVE_CFLAGS) \
$(XENOMAI_RTDM_CFLAGS) $(XENOMAI_RTDM_CFLAGS)
ec_xenomai_example_LDFLAGS = \ ec_xenomai_example_LDFLAGS += \
-L$(top_builddir)/lib/.libs -lethercat_rtdm \
$(XENOMAI_NATIVE_LDFLAGS) \ $(XENOMAI_NATIVE_LDFLAGS) \
$(XENOMAI_RTDM_LDFLAGS) $(XENOMAI_RTDM_LDFLAGS)
endif
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@@ -29,12 +29,18 @@
#include <sys/types.h> #include <sys/types.h>
#include <unistd.h> #include <unistd.h>
#include <sys/mman.h> #include <sys/mman.h>
#ifdef XENOMAI_API_V3
#include <alchemy/task.h>
#include <alchemy/sem.h>
enum {T_FPU = 0};
#else
#include <rtdm/rtdm.h> #include <rtdm/rtdm.h>
#include <native/task.h> #include <native/task.h>
#include <native/sem.h> #include <native/sem.h>
#include <native/mutex.h> #include <native/mutex.h>
#include <native/timer.h> #include <native/timer.h>
#include <rtdk.h> #include <rtdk.h>
#endif
#include <pthread.h> #include <pthread.h>
#include "ecrt.h" #include "ecrt.h"
@@ -201,8 +207,10 @@ int main(int argc, char *argv[])
ec_slave_config_t *sc; ec_slave_config_t *sc;
int ret; int ret;
#ifndef XENOMAI_API_V3
/* Perform auto-init of rt_print buffers if the task doesn't do so */ /* Perform auto-init of rt_print buffers if the task doesn't do so */
rt_print_auto_init(1); rt_print_auto_init(1);
#endif
signal(SIGTERM, signal_handler); signal(SIGTERM, signal_handler);
signal(SIGINT, signal_handler); signal(SIGINT, signal_handler);

View File

@@ -29,6 +29,11 @@ ec_xenomai_posix_example_CFLAGS = \
$(XENOMAI_POSIX_CFLAGS) \ $(XENOMAI_POSIX_CFLAGS) \
$(XENOMAI_RTDM_CFLAGS) $(XENOMAI_RTDM_CFLAGS)
if ENABLE_XENOMAI_V3
ec_xenomai_posix_example_CFLAGS += \
-DXENOMAI_API_V3
endif
ec_xenomai_posix_example_LDFLAGS = \ ec_xenomai_posix_example_LDFLAGS = \
-L$(top_builddir)/lib/.libs -lethercat_rtdm \ -L$(top_builddir)/lib/.libs -lethercat_rtdm \
$(XENOMAI_POSIX_LDFLAGS) \ $(XENOMAI_POSIX_LDFLAGS) \

View File

@@ -32,8 +32,10 @@
#include <sys/mman.h> #include <sys/mman.h>
#include <time.h> #include <time.h>
#ifndef XENOMAI_API_V3
#include <rtdm/rtdm.h> #include <rtdm/rtdm.h>
#include <rtdk.h> #include <rtdk.h>
#endif
#include "ecrt.h" #include "ecrt.h"