30 #define RCL_S_TO_NS RCUTILS_S_TO_NS 31 #define RCL_MS_TO_NS RCUTILS_MS_TO_NS 33 #define RCL_US_TO_NS RCUTILS_US_TO_NS 37 #define RCL_NS_TO_S RCUTILS_NS_TO_S 38 #define RCL_NS_TO_MS RCUTILS_NS_TO_MS 40 #define RCL_NS_TO_US RCUTILS_NS_TO_US 119 enum rcl_clock_type_t type;
124 rcl_ret_t (* get_now)(
void * data, rcl_time_point_value_t * now);
175 enum rcl_clock_type_t clock_type,
rcl_clock_t * clock,
414 rcl_clock_t * clock, rcl_time_point_value_t time_value);
458 #endif // RCL__TIME_H_ struct rcl_time_jump_t rcl_time_jump_t
Struct to describe a jump in time.
rcl_allocator_t allocator
Definition: time.h:127
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.
A single point in time, measured in nanoseconds, the reference point is based on the source...
Definition: time.h:131
rcl_ret_t rcl_disable_ros_time_override(rcl_clock_t *clock)
Disable the ROS time abstraction override.
rcl_duration_value_t nanoseconds
Definition: time.h:60
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.
bool rcl_clock_valid(rcl_clock_t *clock)
Check if the clock has valid values.
rcl_jump_threshold_t threshold
Definition: time.h:112
void * user_data
Definition: time.h:113
rcl_clock_type_t clock_type
Definition: time.h:134
rcl_clock_change_t clock_change
Indicate whether or not the source of time changed.
Definition: time.h:80
rmw_ret_t rcl_ret_t
Definition: types.h:20
rcl_ret_t rcl_clock_fini(rcl_clock_t *clock)
Finalize a clock.
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_clock_type_t
Time source type, used to indicate the source of a time measurement.
Definition: time.h:49
rcl_time_point_value_t nanoseconds
Definition: time.h:133
rcl_jump_callback_info_t * jump_callbacks
An array of added jump callbacks.
Definition: time.h:121
rcl_ret_t rcl_enable_ros_time_override(rcl_clock_t *clock)
Enable the ROS time abstraction override.
rcl_ret_t rcl_system_clock_fini(rcl_clock_t *clock)
Finalize a clock as a RCL_SYSTEM_TIME time source.
Describe the prerequisites for calling a time jump callback.
Definition: time.h:96
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.
rcl_duration_t min_backward
Definition: time.h:105
int64_t rcutils_time_point_value_t
bool on_clock_change
True to call callback when the clock type changes.
Definition: time.h:99
rcl_duration_t min_forward
Definition: time.h:102
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.
int64_t rcutils_duration_value_t
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:44
The source switched to ROS_TIME from SYSTEM_TIME.
Definition: time.h:69
The source switched to SYSTEM_TIME from ROS_TIME.
Definition: time.h:71
rcl_ret_t rcl_steady_clock_fini(rcl_clock_t *clock)
Finalize a clock as a RCL_STEADY_TIME time source.
void(* rcl_jump_callback_t)(const struct rcl_time_jump_t *time_jump, bool before_jump, void *user_data)
Definition: time.h:90
#define RCL_WARN_UNUSED
Ignored return values of functions with this macro will emit a warning.
Definition: macros.h:25
rcl_clock_change_t
Enumeration to describe the type of time jump.
Definition: time.h:64
rcutils_duration_value_t rcl_duration_value_t
A duration of time, measured in nanoseconds.
Definition: time.h:46
rcl_duration_t delta
The new time minus the last time before the jump.
Definition: time.h:82
struct rcl_clock_t rcl_clock_t
Encapsulation of a time source.
Struct to describe an added callback.
Definition: time.h:109
Encapsulation of a time source.
Definition: time.h:117
#define RCL_PUBLIC
Definition: visibility_control.h:48
struct rcl_jump_callback_info_t rcl_jump_callback_info_t
Struct to describe an added callback.
struct rcl_duration_t rcl_duration_t
A duration of time, measured in nanoseconds and its 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.
A duration of time, measured in nanoseconds and its source.
Definition: time.h:58
rcl_jump_callback_t callback
Definition: time.h:111
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.
The source before and after the jump is SYSTEM_TIME.
Definition: time.h:73
size_t num_jump_callbacks
Number of callbacks in jump_callbacks.
Definition: time.h:123
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_difference_times(rcl_time_point_t *start, rcl_time_point_t *finish, rcl_duration_t *delta)
Compute the difference between two time points.
The source before and after the jump is ROS_TIME.
Definition: time.h:67
rcl_ret_t rcl_ros_clock_fini(rcl_clock_t *clock)
Finalize a clock as a RCL_ROS_TIME time source.
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_ret_t rcl_system_clock_init(rcl_clock_t *clock, rcl_allocator_t *allocator)
Initialize a clock as a RCL_SYSTEM_TIME time source.
struct rcl_jump_threshold_t rcl_jump_threshold_t
Describe the prerequisites for calling a time jump callback.
Struct to describe a jump in time.
Definition: time.h:77
void * data
Definition: time.h:126