Open Conr86 opened 4 years ago
The emergency stop button should be disabled rather than enabled by the config. This means it is always visible until the interface receives a config file that specifies otherwise.
How should we implement this? There are a number of different levels of control possible, from simply stopping servos (works for all robots) to cutting power (would require additional hardware).
What level of the code does this run at? We probably don't want it as part of the SIGHTS service, since it would have to be running in order to work. Supervisor is a good option, since it is (most likely) running if the interface is accessible. Implementing it with PHP is even lower, since the webserver is always running if the interface is accessible, allowing the button to work even if Supervisor is not available - but I don't think we need to go that far.
Is your feature request related to a problem? Please describe. The RoboCup Rescue league rules specify that a major league robot must have a software (GUI) emergency stop button, in addition to a physical one.
If we want SIGHTS to be a valid option for this level of robotics, this would be an important feature to have.
Describe the solution you'd like An optional emergency stop button that can be enabled through the config file.
It should be large and always visible. Perhaps a floating red button in the lower right of the screen?
While it can be disabled through the config editor for robots that do not need or want one, it should not be able to be hidden at runtime (i.e. with a
hide
button, or when other elements are shown on the interface), to abide by the RRL rules.Additional context