#include "oro_arch.h"
Go to the source code of this file.
This file defines the FOSI (Framework Operating System Interface) from orocos calls to native RTOS calls
Rename to 'fosi.h'
Definition in file fosi_interface.h.
#define ORO_SCHED_OTHER 1 /** Soft real-time scheduler type. @see RTT::OS::ThreadInterface::setScheduler */ |
Definition at line 65 of file fosi_interface.h.
#define ORO_SCHED_RT 0 /** Hard real-time scheduler type. @see RTT::OS::ThreadInterface::setScheduler */ |
Definition at line 64 of file fosi_interface.h.
typedef long long NANO_TIME |
OS representation of nano seconds.
Definition at line 70 of file fosi_interface.h.
typedef struct cond_struct rt_cond_t |
Definition at line 128 of file fosi_interface.h.
typedef struct mutex_struct rt_mutex_t |
Definition at line 111 of file fosi_interface.h.
typedef struct recursive_mutex_struct rt_rec_mutex_t |
Definition at line 112 of file fosi_interface.h.
typedef struct sem_struct rt_sem_t |
Definition at line 97 of file fosi_interface.h.
typedef struct MyTask RTOS_TASK |
Definition at line 58 of file fosi_interface.h.
typedef long long TICK_TIME |
OS representation of system ticks.
Definition at line 74 of file fosi_interface.h.
TICK_TIME nano2ticks | ( | long long | nano | ) | [inline] |
Time conversions from nano seconds to system ticks.
No conversions are needed in userspace. The HBGenerator needs this for accurate timekeeping, which is an anachronism in userspace.
Definition at line 100 of file ecos/fosi.h.
int rtos_cond_broadcast | ( | rt_cond_t * | cond | ) |
int rtos_cond_destroy | ( | rt_cond_t * | cond | ) |
int rtos_cond_init | ( | rt_cond_t * | cond | ) |
int rtos_cond_timedwait | ( | rt_cond_t * | cond, |
rt_mutex_t * | mutex, | ||
NANO_TIME | abs_time | ||
) |
int rtos_cond_wait | ( | rt_cond_t * | cond, |
rt_mutex_t * | mutex | ||
) |
void rtos_disable_rt_warning | ( | ) |
Disallows the RTOS to print a warning when we violate real-time constraints.
void rtos_enable_rt_warning | ( | ) |
Allows the RTOS to print a warning when we violate real-time constraints.
NANO_TIME rtos_get_time_ns | ( | void | ) | [inline] |
Get "system" time in nanoseconds
Definition at line 113 of file ecos/fosi.h.
TICK_TIME rtos_get_time_ticks | ( | void | ) | [inline] |
Get "system" time in ticks FIXME see <https://proj.fmtc.be/orocos-bugzilla/show_bug.cgi?id=60>
This function should return ticks, but we use ticks == nsecs in userspace
Definition at line 118 of file ecos/fosi.h.
int rtos_mutex_destroy | ( | rt_mutex_t * | m | ) |
Definition at line 303 of file macosx/fosi_internal.cpp.
int rtos_mutex_init | ( | rt_mutex_t * | m | ) |
Definition at line 296 of file macosx/fosi_internal.cpp.
int rtos_mutex_lock | ( | rt_mutex_t * | m | ) |
Definition at line 312 of file macosx/fosi_internal.cpp.
int rtos_mutex_lock_until | ( | rt_rec_mutex_t * | m, |
NANO_TIME | abs_time | ||
) |
int rtos_mutex_rec_destroy | ( | rt_rec_mutex_t * | m | ) |
int rtos_mutex_rec_init | ( | rt_rec_mutex_t * | m | ) |
int rtos_mutex_rec_lock | ( | rt_rec_mutex_t * | m | ) |
int rtos_mutex_rec_lock_until | ( | rt_rec_mutex_t * | m, |
NANO_TIME | abs_time | ||
) |
int rtos_mutex_rec_trylock | ( | rt_rec_mutex_t * | m | ) |
int rtos_mutex_rec_unlock | ( | rt_rec_mutex_t * | m | ) |
int rtos_mutex_trylock | ( | rt_mutex_t * | m | ) |
int rtos_mutex_unlock | ( | rt_mutex_t * | m | ) |
Definition at line 320 of file macosx/fosi_internal.cpp.
int rtos_printf | ( | const char * | fmt, |
... | |||
) | [inline] |
'real-time' print function.
Definition at line 33 of file ecos/fosi.c.
int rtos_sem_destroy | ( | rt_sem_t * | m | ) |
int rtos_sem_init | ( | rt_sem_t * | m, |
int | value | ||
) |
All these should return zero in case of succes. Their meaning is hopefully obvious
int rtos_sem_signal | ( | rt_sem_t * | m | ) |
int rtos_sem_trywait | ( | rt_sem_t * | m | ) |
int rtos_sem_value | ( | rt_sem_t * | m | ) |
int rtos_sem_wait | ( | rt_sem_t * | m | ) |
int rtos_sem_wait_timed | ( | rt_sem_t * | m, |
NANO_TIME | delay | ||
) |
int rtos_sem_wait_until | ( | rt_sem_t * | m, |
NANO_TIME | abs_time | ||
) |
NANO_TIME ticks2nano | ( | TICK_TIME | count | ) | [inline] |
Time conversions from system ticks to nano seconds.
Definition at line 107 of file ecos/fosi.h.