You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 15, 2019. It is now read-only.
If any unhandled exception occurs during BoardRunner.run, it will of course print a stacktrace and kill the subprocess, without calling make_safe.
A minimal solution to this would be to wrap the whole lot in a try block, with a finally: self.board.make_safe(). Even better, it could log the exception and attempt to continue running.
Note that currently exceptions can occur as a result of invalid input from the socket - for example, MotorBoard.command will throw a ValueError if any of the speed values are out of range. If this is the ideal response, then it is even more important that the BoardRunner be made resistant to exceptions.
This almost certainly applies to the master process (haven't checked though).