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.
Context: This routine can be called on behalf of a task, interrupt context or from the initialization code. |
|
Convert nanoseconds to internal clock ticks. Convert a count of nanoseconds to internal clock ticks. This routine opearates on signed nanosecond values.
|
|
Return the current system time. Return the current time maintained by the system timer.
|
|
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.
|
|
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.
Context: This routine can be called on behalf of a task or the initialization code. |
|
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. Context: This routine can be called on behalf of a task or the initialization code. |
|
Convert internal clock ticks to nanoseconds. Convert a count of internal clock ticks to nanoseconds. This routine opearates on signed tick values.
|
|
Return the current TSC value. Return the value of the time stamp counter (TSC) maintained by the CPU of the underlying architecture.
|