I have a C++ application running on the Jetson Nano that uses three D455 cameras. The Nano has 4 USB ports but they are all on a single USB controller. Sometimes while the app is running, at least one port shuts down due to overcurrent, at which time all 3 cameras stop updating and my application just hangs. It does not terminate with an exception even though I have logic to look for polling taking more than 2 seconds and generate an exception. If I use the Realsense Viewer to turn on all 3 cameras via the Nano instead, using the same frame rates and resolutions as my application, and if I manually load down one of the USB ports to overcurrent as it does in my app, only the camera on the one port I overloaded stops communicating. The other two cameras continue to operate. I am updating frames in my app using the Intel API function "poll_for_frames()". What does the Realsense Vewer use to update frames, and how does it avoid all 3 cameras from dropping out when one port shuts down?
Please sign in to leave a comment.