Closed swalberg closed 4 years ago
The camera selection/connection behavior is being completely rewritten for the 3.0 release, so this is a wont-fix
for 2.3.2.
If you have suggestions for "making it loud" in the upcoming release, feel free to let us know either in Discord or in an issue here.
There are some cases where Main calls
return
, presumably with the intention of exiting, but due to the NT and ScriptRunner threads running, the program will never exit. Also, at least on my machine, having no USB cameras throws an exception that's not caught, leaving the app in limbo.This change forces all threads to stop if no cameras or vision pipelines can be instantiated. This will let the supervisor (e.g. systemd) restart the app to handle conditions like cameras being unplugged prior to the boot.
During our season we found that moving the camera port would cause this exception because the USB ID changed. We would have to then go hard cycle the Pi, when it would have been much easier to just move the port and know that CV would restart shortly.