Orocos Real-Time Toolkit  2.5.0
Defines | Typedefs | Functions
fosi_interface.h File Reference

This file defines the FOSI (Framework Operating System Interface) from orocos calls to native RTOS calls. More...

#include "oro_arch.h"

Go to the source code of this file.

Defines

#define ORO_SCHED_RT   0 /** Hard real-time scheduler type. @see RTT::OS::ThreadInterface::setScheduler */
#define ORO_SCHED_OTHER   1 /** Soft real-time scheduler type. @see RTT::OS::ThreadInterface::setScheduler */

Typedefs

typedef struct MyTask RTOS_TASK
typedef long long NANO_TIME
 OS representation of nano seconds.
typedef long long TICK_TIME
 OS representation of system ticks.
typedef struct sem_struct rt_sem_t
typedef struct mutex_struct rt_mutex_t
typedef struct
recursive_mutex_struct 
rt_rec_mutex_t
typedef struct cond_struct rt_cond_t

Functions

NANO_TIME rtos_get_time_ns (void)
 Get "system" time in nanoseconds.
TICK_TIME rtos_get_time_ticks (void)
 Get "system" time in ticks FIXME see <https://proj.fmtc.be/orocos-bugzilla/show_bug.cgi?id=60>
TICK_TIME nano2ticks (NANO_TIME nano)
 Time conversions from nano seconds to system ticks.
NANO_TIME ticks2nano (TICK_TIME count)
 Time conversions from system ticks to nano seconds.
int rtos_sem_init (rt_sem_t *m, int value)
 All these should return zero in case of succes.
int rtos_sem_destroy (rt_sem_t *m)
int rtos_sem_signal (rt_sem_t *m)
int rtos_sem_wait (rt_sem_t *m)
int rtos_sem_trywait (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)
int rtos_sem_value (rt_sem_t *m)
int rtos_mutex_init (rt_mutex_t *m)
int rtos_mutex_destroy (rt_mutex_t *m)
int rtos_mutex_rec_init (rt_rec_mutex_t *m)
int rtos_mutex_rec_destroy (rt_rec_mutex_t *m)
int rtos_mutex_lock (rt_mutex_t *m)
int rtos_mutex_trylock (rt_mutex_t *m)
int rtos_mutex_lock_until (rt_rec_mutex_t *m, NANO_TIME abs_time)
int rtos_mutex_unlock (rt_mutex_t *m)
int rtos_mutex_rec_lock (rt_rec_mutex_t *m)
int rtos_mutex_rec_trylock (rt_rec_mutex_t *m)
int rtos_mutex_rec_lock_until (rt_rec_mutex_t *m, NANO_TIME abs_time)
int rtos_mutex_rec_unlock (rt_rec_mutex_t *m)
int rtos_cond_init (rt_cond_t *cond)
int rtos_cond_destroy (rt_cond_t *cond)
int rtos_cond_wait (rt_cond_t *cond, rt_mutex_t *mutex)
int rtos_cond_timedwait (rt_cond_t *cond, rt_mutex_t *mutex, NANO_TIME abs_time)
int rtos_cond_broadcast (rt_cond_t *cond)
int rtos_printf (const char *fmt,...)
 'real-time' print function.
void rtos_enable_rt_warning ()
 Allows the RTOS to print a warning when we violate real-time constraints.
void rtos_disable_rt_warning ()
 Disallows the RTOS to print a warning when we violate real-time constraints.

Detailed Description

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.


Function Documentation

TICK_TIME nano2ticks ( long long  nano) [inline]

Time conversions from nano seconds to system ticks.

Time conversions from nano seconds to system ticks.

The HBGenerator needs this for accurate timekeeping, which is an anachronism in userspace.

Definition at line 97 of file fosi.h.

Disallows the RTOS to print a warning when we violate real-time constraints.

Allows the RTOS to print a warning when we violate real-time constraints.

int rtos_sem_init ( rt_sem_t *  m,
int  value 
)

All these should return zero in case of succes.

Their meaning is hopefully obvious

Referenced by RTT::os::Semaphore::Semaphore().