devkit_ui.actions
Functions
|
Map an action + params to the (topic, value) pairs to publish. |
Classes
|
Definition of a mission action (drive, weed, etc.). |
- class devkit_ui.actions.ActionDef(label: str, icon: str, tool_topic: str | None = None, param_schema: tuple = ())[source]
Bases:
objectDefinition of a mission action (drive, weed, etc.).
- icon: str
- label: str
- param_schema: tuple = ()
- tool_topic: str | None = None
- devkit_ui.actions.action_ros_msgs(action_key: str, action_params: dict | None, enable: bool) list[tuple[str, object]][source]
Map an action + params to the (topic, value) pairs to publish.
The mission executor calls this once with enable=True before navigating a row (engage the implement) and once with enable=False after (disengage), publishing each returned pair. A bool value is published as std_msgs/Bool, a numeric value as std_msgs/Float64.
Currently the only ROS seam on an action is tool_topic — a Bool engage/ disengage line. ‘drive’ has tool_topic=None and so yields nothing. Per- parameter setpoint topics (RPM, depth, blade height) aren’t wired yet: param_schema carries no topic field, so action_params is accepted for forward-compatibility but unused. When a parameter gains its own topic, extend the schema and append (param_topic, float(value)) pairs here while enable is True.