Implement User Commands for Satellite
This MR adds the possibility to register user commands from the satellite interface and is based on !140 (merged) which needs merging first.
User commands
- can have any number of arguments which have to be capable of conversion to their type from
config::Value
(i.e. anything we could also send in a configuration dictionary). The arguments need to be provided in aList
, i.e. astd::vector<config::Value
. - have a description that is returned with
get_commands
and describes the call - can be limited to run only in specific FSM states
Especially the latter is a cool feature I think since the user can avoid having config-changing commands be executed e.g. during run.
Documentation is provided in the MR in the form of a how-to guide.
Edited by Simon Spannagel