cbteeple / pressure_control_interface

The top-level control interface for controlling a Ctrl-P pressure control system.
https://ctrl-p.cbteeple.com/latest/top-level
MIT License
1 stars 1 forks source link

Implement modular communication protocol that can be used by this and ROS #4

Open cbteeple opened 3 years ago

cbteeple commented 3 years ago

Feature description

We should have one canonical source for the command spec with expected inputs and config keywords

The ideal solution

Store a large yaml file with the command spec, where each command is a dictionary with several important fields, and command objects are stored in a large list. We could also use this spec for validation of incomming and outgoing commands (e.i. do they exist, do they have the right number of arguments, etc.). This would also let us define defaults on a per-command basis.

Alternatives?

There are probably many ways to implement this, but unclear what way is the best.

Will this require substantial changes to the codebase?

Not really. We just need to read in this yaml file in the "config" script.

cbteeple commented 2 years ago

This workflow has been implemented and confirmed working in ROS, but now needs to be tested in straight python.