Collaboration diagram for Timer management services.:
![]() |
Files | |
file | timer.c |
This file is part of the RTAI project. | |
Functions | |
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. | |
RTIME | rt_timer_read (void) |
Return the current system time. | |
RTIME | rt_timer_tsc (void) |
Return the current TSC value. | |
void | rt_timer_spin (RTIME ns) |
Busy wait burning CPU cycles. | |
int | rt_timer_start (RTIME nstick) |
Start the system timer. | |
void | rt_timer_stop (void) |
Stop the system timer. |
|
Inquire about the timer. Return various information about the status of the system timer.
Environments: This service can be called from:
Rescheduling: never. |
|
Convert nanoseconds to internal clock ticks. Convert a count of nanoseconds to internal clock ticks. This routine operates on signed nanosecond values.
This service can be called from:
Rescheduling: never.
|
|
Return the current system time. Return the current time maintained by the system timer.
This service can be called from:
Rescheduling: never.
|
|
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.
This service can be called from:
Rescheduling: never. |
|
Start the system timer. The real-time kernel needs a time source to provide the time-related services to the RTAI tasks. rt_timer_start() sets the current operation mode of the system timer. On architectures that provide a oneshot-programmable time source, the system timer can operate either in oneshot or periodic mode. In oneshot mode, the underlying hardware will be reprogrammed after each clock tick so that the next one occurs after a (possibly non-constant) specified interval, at the expense of a larger overhead due to hardware programming duties. Periodic mode provides timing services at a lower programming cost when the underlying hardware is a true PIT (and not a simple decrementer), but at the expense of a lower precision since all delays are rounded up to the constant interval value used to program the timer. This service defines 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.
Environments: This service can be called from:
Rescheduling: never. |
|
Stop the system timer. This service stops the system timer previously started by a call to rt_timer_start(). Calling rt_timer_stop() whilst the system timer has not been started leads to a null-effect. Environments: This service can be called from:
Rescheduling: never. |
|
Convert internal clock ticks to nanoseconds. Convert a count of internal clock ticks to nanoseconds. This routine operates on signed tick values.
This service can be called from:
Rescheduling: never.
|
|
Return the current TSC value. Return the value of the time stamp counter (TSC) maintained by the CPU of the underlying architecture.
This service can be called from:
Rescheduling: never. |