Xenomai API
2.5.6.1
|
Data Structures | |
struct | rt_timer_info |
Structure containing timer-information useful to users. More... | |
Files | |
file | timer.h |
This file is part of the Xenomai project. | |
file | timer.c |
This file is part of the Xenomai project. | |
Typedefs | |
typedef struct rt_timer_info | RT_TIMER_INFO |
Structure containing timer-information useful to users. | |
Functions | |
SRTIME | rt_timer_ns2tsc (SRTIME ns) |
Convert nanoseconds to local CPU clock ticks. | |
SRTIME | rt_timer_tsc2ns (SRTIME ticks) |
Convert local CPU clock ticks to nanoseconds. | |
RTIME | rt_timer_tsc (void) |
Return the current TSC value. | |
RTIME | rt_timer_read (void) |
Return the current system time. | |
SRTIME | rt_timer_ns2ticks (SRTIME ns) |
Convert nanoseconds to internal clock ticks. | |
SRTIME | rt_timer_ticks2ns (SRTIME ticks) |
Convert internal clock ticks to nanoseconds. | |
int | rt_timer_inquire (RT_TIMER_INFO *info) |
Inquire about the timer. | |
void | rt_timer_spin (RTIME ns) |
Busy wait burning CPU cycles. | |
int | rt_timer_set_mode (RTIME nstick) |
Set the system clock rate. |
Timer-related services allow to control the Xenomai system timer which is used in all timed operations.
typedef struct rt_timer_info RT_TIMER_INFO |
Structure containing timer-information useful to users.
int rt_timer_inquire | ( | RT_TIMER_INFO * | info | ) |
Inquire about the timer.
Return various information about the status of the system timer.
info | The address of a structure the timer information will be written to. |
The information block returns the period and the current system date. The period can have the following values:
Environments:
This service can be called from:
Rescheduling: never.
References xntbase_get_time().
SRTIME rt_timer_ns2ticks | ( | SRTIME | ns | ) |
Convert nanoseconds to internal clock ticks.
Convert a count of nanoseconds to internal clock ticks. This routine operates on signed nanosecond values.
ns | The count of nanoseconds to convert. |
Environments:
This service can be called from:
Rescheduling: never.
SRTIME rt_timer_ns2tsc | ( | SRTIME | ns | ) |
Convert nanoseconds to local CPU clock ticks.
Convert a count of nanoseconds to local CPU clock ticks. This routine operates on signed nanosecond values.
ns | The count of nanoseconds to convert. |
Environments:
This service can be called from:
Rescheduling: never.
RTIME rt_timer_read | ( | void | ) |
Return the current system time.
Return the current time maintained by the master time base.
Environments:
This service can be called from:
Rescheduling: never.
int rt_timer_set_mode | ( | RTIME | nstick | ) |
Set the system clock rate.
This routine switches to periodic timing mode and sets the clock tick rate, or resets the current timing mode to aperiodic/oneshot mode depending on the value of the nstick parameter. Since the native skin automatically sets its time base according to the configured policy and period at load time (see CONFIG_XENO_OPT_NATIVE_PERIOD), calling rt_timer_set_mode() is not required from applications unless the pre-defined mode and period need to be changed dynamically.
This service sets the time unit which will be relevant when specifying time intervals to the services taking timeout or delays as input parameters. In periodic mode, clock ticks will represent periodic jiffies. In oneshot mode, clock ticks will represent nanoseconds.
nstick | The time base period in nanoseconds. If this parameter is equal to the special TM_ONESHOT value, the time base is set to operate in a tick-less fashion (i.e. oneshot mode). Other values are interpreted as the time between two consecutive clock ticks in periodic timing mode (i.e. clock HZ = 1e9 / nstick). |
Environments:
This service can be called from:
Rescheduling: never.
References xntbase_switch().
void rt_timer_spin | ( | RTIME | ns | ) |
Busy wait burning CPU cycles.
Enter a busy waiting loop for a count of nanoseconds. The precision of this service largely depends on the availability of a time stamp counter on the current CPU.
Since this service is usually called with interrupts enabled, the caller might be preempted by other real-time activities, therefore the actual delay might be longer than specified.
ns | The time to wait expressed in nanoseconds. |
Environments:
This service can be called from:
Rescheduling: never.
SRTIME rt_timer_ticks2ns | ( | SRTIME | ticks | ) |
Convert internal clock ticks to nanoseconds.
Convert a count of internal clock ticks to nanoseconds. This routine operates on signed tick values.
ticks | The count of internal clock ticks to convert. |
Environments:
This service can be called from:
Rescheduling: never.
RTIME rt_timer_tsc | ( | void | ) |
Return the current TSC value.
Return the value of the time stamp counter (TSC) maintained by the CPU of the underlying architecture.
Environments:
This service can be called from:
Rescheduling: never.
SRTIME rt_timer_tsc2ns | ( | SRTIME | ticks | ) |
Convert local CPU clock ticks to nanoseconds.
Convert a local CPU clock ticks to nanoseconds. This routine operates on signed tick values.
ticks | The count of local CPU clock ticks to convert. |
Environments:
This service can be called from:
Rescheduling: never.