Comments (3)
You will not get an error code in the way you are expecting. The software triggering is asynchronous -- "success" indicates that your request to trigger was successfully completed (i.e., processed by the underlying libo3d3xx
).
Lot's of other lower-level technical issues at hand here.... From a practical perspective, you can determine an "error" (like, no camera connected) in that your next call to WaitForFrame()
on the FrameGrabber
will time out, or in the case of ROS, no message getting published to the topic you are subscribing to.
....at the driver level, libo3d3xx
is running a boost::asio
event loop. If the camera is not connected, no TCP connection to the PCIC server on the camera can be made. At which point the main FrameGrabber
thread will stop as the asio event loop will stop running. So, when you ask to s/w trigger, the event is post
ed to the ASIO io_service
, but since the event loop is not running, it is basically like sending it to /dev/null
(metaphorically speaking).
I hope that helps.
from o3d3xx-ros.
Ok, so the s/w trigger request for a frame is queued with the FrameGrabber, but in that case never executed.
And there is nothing at the ROS level that can catch or handle any exception being raised as part of the FrameGrabber failing to establish a TCP connection to the PCIP server, correct?
And the only thing that could recover from that situation would be the FrameGrabberreset as a result of timeout_tolerance_secs for not receiving a frame?
Thanks
from o3d3xx-ros.
Right. The auto-resetting of the FrameGrabber
(i.e., literally calling .reset()
on the std::shared_ptr
) reconstructs a new FrameGrabber
which will re-attempt to establish the TCP connection with the camera. When running in "free run mode" you can literally watch this in action (via rviz) by plugging and unplugging your ethernet cable between the camera and your computer. The idea here was to make the node robust to exactly this situation ... losing the connection to the camera.
from o3d3xx-ros.
Related Issues (20)
- install issues test errors HOT 5
- only half of the information from zyx_image HOT 4
- using mask to lower the amount of information to pc HOT 9
- catkin_make run_tests failure HOT 8
- Getting Libo3d3xx on Yocto HOT 5
- Unable to change SymmetryThreshold of Imager HOT 3
- Amplitude image scaling HOT 2
- Problem with nodes while launching ros HOT 4
- Private node handle for topics and services HOT 1
- Doubt on the dataframe HOT 2
- Time stamp on images incorrect HOT 7
- Incorporate filtering at a ROS node/driver level HOT 5
- Compiling o3d3xx-ros HOT 2
- -
- Can't find libopencv_core3.so.3.2 HOT 5
- Where on the physical camera is o3d3xx/camera_link located? HOT 2
- PointCloud<pcl::PointWithRange> range data HOT 3
- IFM 03X101 HOT 1
- crash
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from o3d3xx-ros.