Device Values
rover/ holds one file per physical device on the rover, grouped by subsystem. These are the
values pushed to a board at commissioning time, against the layout defined in
config/<board>.yaml.
Layout
Section titled “Layout”| Directory | Subsystem | Contents |
|---|---|---|
rover/ra/ | robotic arm | joint configs, absolute encoders, gripper, pusher |
rover/mob/ | mobility | six drive controllers plus a backup |
rover/sp/ | science payload | auger, linear actuator |
rover/cm/ | chassis and mounts | mast limit |
rover/test/ | bench testing | scratch configs |
Two different file formats live here, and they are not interchangeable.
ESW Board Values (.yaml)
Section titled “ESW Board Values (.yaml)”A .yaml file is a flat map of field name to value. The names come from the board’s definition
file: for a register with fields, use the field names; for a plain register, use the register
name in lower case.
rover/ra/abs_de_pitch.yaml, an absolute encoder board:
# cancan_id: 55host_can_id: 16
# encoder settingscontinuous_mode: falsebounded_mode: trueinvert: trueoutput_scalar: 1.00position_offset: 0.00poll_frequency: 10.00publish_frequency: 10.00min_bound: -3.00max_bound: 3.00Every key here appears in config/abs.yaml, either as a register or as a field of sys_cfg.
To push one of these to a board, see CAN Configuration Interface.
Moteus Controllers (.cfg)
Section titled “Moteus Controllers (.cfg)”rover/mob/*.cfg are a completely separate system. Brushless drive joints use mjbots moteus
controllers, which have their own register namespace and their own tooling.
uuid.uuid.0 106uuid.uuid.1 245clock.hsitrim 64aux1.i2c.i2c_hz 400000aux1.i2c.devices.0.type 0aux1.i2c.devices.0.address 64These are flat key value lines using moteus register paths, not YAML, and nothing in config/
or tools/esw/config reads them. They are applied with mjbots’ own tools (moteus_tool, or the
moteus-gui diagnostic console), both of which are dependencies of this repo’s Python
environment.
See Brushless Motors for background on the controllers themselves.