Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion realsense2_camera/include/base_realsense_node.h
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ namespace realsense2_camera
void enable_devices();
void setupFilters();
void setupStreams();
void setBaseTime(double frame_time, bool warn_no_metadata);
void setBaseTime(double frame_time, rs2_timestamp_domain time_domain);
cv::Mat& fix_depth_scale(const cv::Mat& from_image, cv::Mat& to_image);
void clip_depth(rs2::depth_frame depth_frame, float clipping_dist);
void updateStreamCalibData(const rs2::video_stream_profile& video_profile);
Expand Down
14 changes: 8 additions & 6 deletions realsense2_camera/src/base_realsense_node.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1353,7 +1353,7 @@ void BaseRealSenseNode::imu_callback_sync(rs2::frame frame, imu_sync_method sync
bool placeholder_false(false);
if (_is_initialized_time_base.compare_exchange_strong(placeholder_false, true) )
{
setBaseTime(frame_time, RS2_TIMESTAMP_DOMAIN_SYSTEM_TIME == frame.get_frame_timestamp_domain());
setBaseTime(frame_time, frame.get_frame_timestamp_domain());
}

seq += 1;
Expand Down Expand Up @@ -1397,7 +1397,7 @@ void BaseRealSenseNode::imu_callback(rs2::frame frame)
bool placeholder_false(false);
if (_is_initialized_time_base.compare_exchange_strong(placeholder_false, true) )
{
setBaseTime(frame_time, RS2_TIMESTAMP_DOMAIN_SYSTEM_TIME == frame.get_frame_timestamp_domain());
setBaseTime(frame_time, frame.get_frame_timestamp_domain());
}

ROS_DEBUG("Frame arrived: stream: %s ; index: %d ; Timestamp Domain: %s",
Expand Down Expand Up @@ -1442,7 +1442,7 @@ void BaseRealSenseNode::pose_callback(rs2::frame frame)
bool placeholder_false(false);
if (_is_initialized_time_base.compare_exchange_strong(placeholder_false, true) )
{
setBaseTime(frame_time, RS2_TIMESTAMP_DOMAIN_SYSTEM_TIME == frame.get_frame_timestamp_domain());
setBaseTime(frame_time, frame.get_frame_timestamp_domain());
}

ROS_DEBUG("Frame arrived: stream: %s ; index: %d ; Timestamp Domain: %s",
Expand Down Expand Up @@ -1542,7 +1542,7 @@ void BaseRealSenseNode::frame_callback(rs2::frame frame)
bool placeholder_false(false);
if (_is_initialized_time_base.compare_exchange_strong(placeholder_false, true) )
{
setBaseTime(frame_time, RS2_TIMESTAMP_DOMAIN_SYSTEM_TIME == frame.get_frame_timestamp_domain());
setBaseTime(frame_time, frame.get_frame_timestamp_domain());
}

ros::Time t;
Expand Down Expand Up @@ -1723,9 +1723,11 @@ void BaseRealSenseNode::multiple_message_callback(rs2::frame frame, imu_sync_met
}
}

void BaseRealSenseNode::setBaseTime(double frame_time, bool warn_no_metadata)
void BaseRealSenseNode::setBaseTime(double frame_time, rs2_timestamp_domain time_domain)
{
ROS_WARN_COND(warn_no_metadata, "Frame metadata isn't available! (frame_timestamp_domain = RS2_TIMESTAMP_DOMAIN_SYSTEM_TIME)");

ROS_WARN_COND(time_domain == RS2_TIMESTAMP_DOMAIN_SYSTEM_TIME, "Frame metadata isn't available! (frame_timestamp_domain = RS2_TIMESTAMP_DOMAIN_SYSTEM_TIME)");
ROS_WARN_COND(time_domain == RS2_TIMESTAMP_DOMAIN_HARDWARE_CLOCK, "frame's time domain is HARDWARE_CLOCK. Timestamps may reset periodically.");

_ros_time_base = ros::Time::now();
_camera_time_base = frame_time;
Expand Down