]> rtime.felk.cvut.cz Git - fpga/rpi-motor-control-pxmc.git/blobdiff - src/app/rpi-pmsm-test1/appl_utils.c
RPi PXMC Test: preliminary preparations for compatibility with RTEMS.
[fpga/rpi-motor-control-pxmc.git] / src / app / rpi-pmsm-test1 / appl_utils.c
index 1fd9563ce1dd1ba3bad22b91dd82ae2a9e868be4..692a40c08efa8d66f9c700619eb2fe1e4434cb46 100644 (file)
@@ -5,6 +5,7 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <stdint.h>
+#include <sched.h>
 #include <unistd.h>
 #include <sys/mman.h>  /* this provides mlockall() */
 #include <pthread.h>
@@ -65,7 +66,11 @@ int sample_period_wait_next(sample_period_t *sper)
     sper->period_time.tv_nsec -= 1000*1000*1000;
     sper->period_time.tv_sec += 1;
   }
+#if !defined(__rtems__)
   return clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &sper->period_time, NULL);
+#else
+  return nanosleep(&sper->period_time, NULL);
+#endif /*__rtems__*/
 }
 
 void appl_sig_handler(int sig)
@@ -84,11 +89,12 @@ int appl_setup_environment(const char *argv0)
   if (appl_base_task_prio < fifo_min_prio)
     appl_base_task_prio = fifo_min_prio;
 
-
+#if !defined(__rtems__)
   if (mlockall(MCL_FUTURE | MCL_CURRENT) < 0) {
     fprintf(stderr, "%s: mlockall failed - cannot lock application in memory\n", argv0);
     exit(1);
   }
+#endif /*__rtems__*/
 
   atexit(appl_stop);