%function generateDeclarations() Output\r
\r
/* Multirate - Multitasking case main file */\r
- #define _POSIX_C_SOURCE 199309L /* For clock_gettime() */\r
+ #define _BSD_SOURCE /* For usleep() */\r
+ #define _POSIX_C_SOURCE 200112L /* For clock_gettime() & clock_nanosleep() */\r
#include <stdio.h> /* This ert_main.c example uses printf/fflush */\r
#include <pthread.h> /* Thread library header file */\r
#include <sched.h> /* OS scheduler header file */\r
%endforeach\r
\r
/* Execute base rate step */\r
- %<modelName>_step0();\r
+ %if solverMode == "SingleTasking"\r
+ %<modelName>_step();\r
+ %else\r
+ %<modelName>_step0();\r
+ %endif\r
\r
%if extMode == 1\r
rtExtModeCheckEndTrigger();\r
clock_gettime(CLOCK_MONOTONIC, &now);\r
if (now.tv_sec > next.tv_sec ||\r
(now.tv_sec == next.tv_sec && now.tv_nsec > next.tv_nsec)) {\r
- uint64_T nsec = (now.tv_sec - next.tv_sec) * 1000000000 + now.tv_nsec - next.tv_nsec;\r
- fprintf(stderr, "Base rate (%<fundamentalStepSize>s) overrun by %d us\n", (int)(nsec/1000));\r
+ uint32_T usec = (now.tv_sec - next.tv_sec) * 1000000 + (now.tv_nsec - next.tv_nsec)/1000;\r
+ fprintf(stderr, "Base rate (%<fundamentalStepSize>s) overrun by %d us\n", usec);\r
next = now;\r
continue;\r
}\r