Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.6 and DriveWorks 4.0
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
other
Target Operating System
Linux
QNX
other
Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other
SDK Manager Version
1.7.0.8846
other
Hello Nvidia Team!
I have a ROS Package that publishes images and saves an h264 video. My understanding is that all cameras in the same port should have the same time stamp, and between ports should be very similar. I each camera has a separate handle that runs in separate thread, then I get the time stamp like this:
status = dwSensorCamera_getImage(&image_handle_original, DW_CAMERA_OUTPUT_NATIVE_PROCESSED, camera_frame_handle);
if (status != DW_SUCCESS) {
std::cout << "dwSensorCamera_getImage() Failed" << std::endl;
is_running = false;
}
dwTime_t timestamp;
status = dwImage_getTimestamp(×tamp, image_handle_original);
if (status != DW_SUCCESS) {
std::cout << "dwImage_getTimestamp() Failed" << std::endl;
is_running = false;
}
ros::Time time_stamp = ros::Time((double) timestamp * 10e-7);
but when I check the images time stamps I see slightly different times:
for port a, camera 0
stamp
secs: 1636072154
nsecs: 204617977
for port a camera 3
stamp
secs: 1636072154
nsecs: 237941980
sometimes their timestamp is exactly the same, how is this possible? what am I possible doing wrong?
Otherwise the code runs properly, images from 8 cameras are published and the h264 video is saved successfully.