rcl
master
C API providing common ROS client library functionality.
|
Go to the documentation of this file.
26 #include "rcl/macros.h"
28 #include "rcl/visibility_control.h"
32 #define RCL_S_TO_NS RCUTILS_S_TO_NS
33 #define RCL_MS_TO_NS RCUTILS_MS_TO_NS
35 #define RCL_US_TO_NS RCUTILS_US_TO_NS
39 #define RCL_NS_TO_S RCUTILS_NS_TO_S
40 #define RCL_NS_TO_MS RCUTILS_NS_TO_MS
42 #define RCL_NS_TO_US RCUTILS_NS_TO_US
708 #endif // RCL__TIME_H_
int64_t rcutils_duration_value_t
rcl_jump_callback_info_t * jump_callbacks
An array of added jump callbacks.
Definition: time.h:142
@ RCL_CLOCK_UNINITIALIZED
Clock uninitialized.
Definition: time.h:64
rcl_ret_t rcl_clock_remove_jump_callback(rcl_clock_t *clock, rcl_jump_callback_t callback, void *user_data)
Remove a previously added time jump callback.
rcl_clock_type_t
Time source type, used to indicate the source of a time measurement.
Definition: time.h:61
enum rcl_clock_type_t type
Clock type.
Definition: time.h:140
rcl_ret_t rcl_clock_add_jump_callback(rcl_clock_t *clock, rcl_jump_threshold_t threshold, rcl_jump_callback_t callback, void *user_data)
Add a callback to be called when a time jump exceeds a threshold.
rcl_time_point_value_t nanoseconds
Nanoseconds of the point in time.
Definition: time.h:158
struct rcl_time_jump_t rcl_time_jump_t
Struct to describe a jump in time.
rcl_ret_t rcl_ros_clock_fini(rcl_clock_t *clock)
Finalize a clock as a RCL_ROS_TIME time source.
rmw_ret_t rcl_ret_t
The type that holds an rcl return code.
Definition: types.h:23
@ RCL_ROS_TIME_DEACTIVATED
The source switched to SYSTEM_TIME from ROS_TIME.
Definition: time.h:88
rcl_ret_t rcl_system_clock_fini(rcl_clock_t *clock)
Finalize a clock as a RCL_SYSTEM_TIME time source.
rcl_clock_change_t clock_change
Indicate whether or not the source of time changed.
Definition: time.h:97
rcl_ret_t rcl_is_enabled_ros_time_override(rcl_clock_t *clock, bool *is_enabled)
Check if the RCL_ROS_TIME time source has the override enabled.
rcl_ret_t rcl_clock_get_now(rcl_clock_t *clock, rcl_time_point_value_t *time_point_value)
Fill the time point value with the current value of the associated clock.
struct rcl_jump_threshold_t rcl_jump_threshold_t
Describe the prerequisites for calling a time jump callback.
rcl_duration_value_t nanoseconds
Duration in nanoseconds and its source.
Definition: time.h:77
rcutils_time_point_value_t rcl_time_point_value_t
A single point in time, measured in nanoseconds since the Unix epoch.
Definition: time.h:46
void * data
Clock storage.
Definition: time.h:149
@ RCL_STEADY_TIME
Use a steady clock time.
Definition: time.h:70
@ RCL_ROS_TIME_ACTIVATED
The source switched to ROS_TIME from SYSTEM_TIME.
Definition: time.h:86
rcl_jump_callback_t callback
Callback to fucntion.
Definition: time.h:129
struct rcl_time_point_t rcl_time_point_t
A single point in time, measured in nanoseconds, the reference point is based on the source.
rcl_ret_t rcl_clock_init(enum rcl_clock_type_t clock_type, rcl_clock_t *clock, rcl_allocator_t *allocator)
Initialize a clock based on the passed type.
@ RCL_ROS_TIME
Use ROS time.
Definition: time.h:66
rcl_ret_t rcl_set_ros_time_override(rcl_clock_t *clock, rcl_time_point_value_t time_value)
Set the current time for this RCL_ROS_TIME time source.
rcl_ret_t rcl_difference_times(rcl_time_point_t *start, rcl_time_point_t *finish, rcl_duration_t *delta)
Compute the difference between two time points.
Struct to describe a jump in time.
Definition: time.h:94
rcl_duration_t min_backward
Definition: time.h:122
rcl_jump_threshold_t threshold
Threshold to decide when to call the callback.
Definition: time.h:131
rcl_ret_t(* get_now)(void *data, rcl_time_point_value_t *now)
Pointer to get_now function.
Definition: time.h:146
A single point in time, measured in nanoseconds, the reference point is based on the source.
Definition: time.h:155
Describe the prerequisites for calling a time jump callback.
Definition: time.h:113
struct rcl_jump_callback_info_t rcl_jump_callback_info_t
Struct to describe an added callback.
rcl_clock_type_t clock_type
Clock type of the point in time.
Definition: time.h:160
rcl_ret_t rcl_clock_fini(rcl_clock_t *clock)
Finalize a clock.
@ RCL_ROS_TIME_NO_CHANGE
The source before and after the jump is ROS_TIME.
Definition: time.h:84
@ RCL_SYSTEM_TIME
Use system time.
Definition: time.h:68
int64_t rcutils_time_point_value_t
rcl_ret_t rcl_steady_clock_fini(rcl_clock_t *clock)
Finalize a clock as a RCL_STEADY_TIME time source.
bool on_clock_change
True to call callback when the clock type changes.
Definition: time.h:116
Encapsulation of a time source.
Definition: time.h:137
void(* rcl_jump_callback_t)(const struct rcl_time_jump_t *time_jump, bool before_jump, void *user_data)
Definition: time.h:107
rcl_ret_t rcl_enable_ros_time_override(rcl_clock_t *clock)
Enable the ROS time abstraction override.
rcl_allocator_t allocator
Custom allocator used for internal allocations.
Definition: time.h:151
void * user_data
Pointer passed to the callback.
Definition: time.h:133
struct rcl_duration_t rcl_duration_t
A duration of time, measured in nanoseconds and its source.
rcl_ret_t rcl_system_clock_init(rcl_clock_t *clock, rcl_allocator_t *allocator)
Initialize a clock as a RCL_SYSTEM_TIME time source.
bool rcl_clock_valid(rcl_clock_t *clock)
Check if the clock has valid values.
rcl_ret_t rcl_disable_ros_time_override(rcl_clock_t *clock)
Disable the ROS time abstraction override.
struct rcl_clock_t rcl_clock_t
Encapsulation of a time source.
rcutils_duration_value_t rcl_duration_value_t
A duration of time, measured in nanoseconds.
Definition: time.h:48
rcl_clock_change_t
Enumeration to describe the type of time jump.
Definition: time.h:81
rcl_ret_t rcl_steady_clock_init(rcl_clock_t *clock, rcl_allocator_t *allocator)
Initialize a clock as a RCL_STEADY_TIME time source.
rcl_duration_t delta
The new time minus the last time before the jump.
Definition: time.h:99
rcl_duration_t min_forward
Definition: time.h:119
size_t num_jump_callbacks
Number of callbacks in jump_callbacks.
Definition: time.h:144
@ RCL_SYSTEM_TIME_NO_CHANGE
The source before and after the jump is SYSTEM_TIME.
Definition: time.h:90
Struct to describe an added callback.
Definition: time.h:126
rcl_ret_t rcl_ros_clock_init(rcl_clock_t *clock, rcl_allocator_t *allocator)
Initialize a clock as a RCL_ROS_TIME time source.
A duration of time, measured in nanoseconds and its source.
Definition: time.h:74