RTEMS: Classic Timer Implementation

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Files | Data Structures | Macros | Typedefs | Functions | Variables
Classic Timer Implementation
Internal » Classic

## Files
file | timerdata.h
| Classic Partition Manager Data Structures.
file | timerimpl.h
| Classic Timer Implementation.

## Data Structures
struct | Timer_Control
struct | Timer_server_Control

## Macros
#define | TIMER_INFORMATION_DEFINE(max)
| Macro to define the objects information for the Classic Timer objects.

## Typedefs
typedef struct Timer_server_Control | Timer_server_Control

## Functions
RTEMS_INLINE_ROUTINE Timer_Control * | _Timer_Allocate (void)
| Timer_Allocate.
RTEMS_INLINE_ROUTINE void | _Timer_Free (Timer_Control *the_timer)
| Timer_Free.
RTEMS_INLINE_ROUTINE Timer_Control * | _Timer_Get (Objects_Id id, ISR_lock_Context *lock_context)
RTEMS_INLINE_ROUTINE Per_CPU_Control * | _Timer_Acquire_critical (Timer_Control *the_timer, ISR_lock_Context *lock_context)
RTEMS_INLINE_ROUTINE void | _Timer_Release (Per_CPU_Control *cpu, ISR_lock_Context *lock_context)
RTEMS_INLINE_ROUTINE bool | _Timer_Is_interval_class (Timer_Classes the_class)
RTEMS_INLINE_ROUTINE bool | _Timer_Is_on_task_class (Timer_Classes the_class)
RTEMS_INLINE_ROUTINE Per_CPU_Watchdog_index | _Timer_Watchdog_header_index (Timer_Classes the_class)
RTEMS_INLINE_ROUTINE Watchdog_Interval | _Timer_Get_CPU_ticks (const Per_CPU_Control *cpu)
rtems_status_code | _Timer_Fire (rtems_id id, rtems_interval interval, rtems_timer_service_routine_entry routine, void *user_data, Timer_Classes the_class, Watchdog_Service_routine_entry adaptor)
rtems_status_code | _Timer_Fire_after (rtems_id id, rtems_interval ticks, rtems_timer_service_routine_entry routine, void *user_data, Timer_Classes the_class, Watchdog_Service_routine_entry adaptor)
rtems_status_code | _Timer_Fire_when (rtems_id id, const rtems_time_of_day *wall_time, rtems_timer_service_routine_entry routine, void *user_data, Timer_Classes the_class, Watchdog_Service_routine_entry adaptor)
void | _Timer_Cancel (Per_CPU_Control *cpu, Timer_Control *the_timer)
void | _Timer_Routine_adaptor (Watchdog_Control *the_watchdog)
void | _Timer_server_Routine_adaptor (Watchdog_Control *the_watchdog)
RTEMS_INLINE_ROUTINE void | _Timer_server_Acquire_critical (Timer_server_Control *timer_server, ISR_lock_Context *lock_context)
RTEMS_INLINE_ROUTINE void | _Timer_server_Release_critical (Timer_server_Control *timer_server, ISR_lock_Context *lock_context)

## Variables
Objects_Information | _Timer_Information
| The Classic Timer objects information.
Timer_server_Control *volatile | _Timer_server
| Pointer to default timer server control block.

## Detailed Description

## Macro Definition Documentation

## ◆ TIMER_INFORMATION_DEFINE

#define TIMER_INFORMATION_DEFINE | ( |  | max | ) |

Value:
OBJECTS_INFORMATION_DEFINE( \
_Timer, \
OBJECTS_CLASSIC_API, \
OBJECTS_RTEMS_TIMERS, \
Timer_Control, \
max, \
OBJECTS_NO_STRING_NAME, \
NULL \
)
NULL
#define NULL
Requests a GPIO pin group configuration.
Definition: bestcomm_api.h:77
OBJECTS_NO_STRING_NAME
#define OBJECTS_NO_STRING_NAME
Constant for the object information string name length to indicate that this object class has no stri...
Definition: objectdata.h:101
OBJECTS_INFORMATION_DEFINE
#define OBJECTS_INFORMATION_DEFINE(name, api, cls, type, max, nl, ex)
Statically initializes an objects information.
Definition: objectdata.h:427
Timer_Control
Definition: timerdata.h:41

Macro to define the objects information for the Classic Timer objects.

This macro should only be used by <rtems/confdefs.h>.

Parameters

  max | The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag may be set).

## Function Documentation

## ◆ _Timer_Allocate()

RTEMS_INLINE_ROUTINE Timer_Control * _Timer_Allocate | ( | void |  | ) |

Timer_Allocate.

This function allocates a timer control block from the inactive chain of free timer control blocks.

## ◆ _Timer_Free()

RTEMS_INLINE_ROUTINE void _Timer_Free | ( | Timer_Control * | the_timer | ) |

Timer_Free.

This routine frees a timer control block to the inactive chain of free timer control blocks.

## Variable Documentation

## ◆ _Timer_server

Timer_server_Control* volatile _Timer_server
| extern

Pointer to default timer server control block.

This value is `NULL` when the default timer server is not initialized.