This release fixes a regression introduced in the last one and brings much-needed tools for node configuration management.
- List registers on the specified nodes:
y rl 100-128
- Read registers from a node or several:
cat node_registers.yaml | y rb 123
y rl 100-128 | y --yaml rb > config.yaml
- Configure node(s) from a file:
cat config.yaml | y rb
- Read a single register from a group of nodes:
y r 122-126 m.inductance_dq
- Write a single register on a group of nodes:
y r 122-126 m.inductance_dq 14e-6 14e-6
uavcan.node.ExecuteCommandon one or multiple nodes:
y cmd 100-128 restart.
Data type names supplied to
y sub/pub/call are now case-insensitive (but in many cases they are not required thanks to automatic discovery).
New shorter options were added for common use cases:
-t do the same thing as
--format=tsvh, respectively. For
y sub, option
--sync does the right thing automatically so the user doesn’t have to think about which synchronization policy should be chosen.
The README was extended with a practical usage example: GitHub - OpenCyphal/yakut: Simple CLI tool for diagnostics and debugging of Cyphal networks.
Speaking of which, that README is getting too big and I am thinking that the Yakut docs need a new medium. Maybe it should be split into several Markdown files. Maybe we should transform that into a static website using GitHub Pages or something. Suggestions welcome.
The PyCyphal Demo chapter was updated to reflect the new capabilities: Demo — PyCyphal 1.8.3 documentation
Here is a comparison of two identical invocations between v0.9 and v0.11:
# Case-sensitive, version numbers required: y sub 2347:uavcan.si.unit.voltage.Scalar.1.0 # Each field value has to be named explicitly: y pub 2345:uavcan.si.unit.temperature.Scalar.1.0 'kelvin: 250' \ 2346:uavcan.si.sample.temperature.Scalar.1.0 'kelvin: 240'
# Case-insensitive, version not required: y sub 2347:uavcan.si.unit.voltage.scalar # Fields and outer objects may be omitted, in this case positional initialization is used: y pub 2345:uavcan.si.unit.temperature.scalar 250 \ 2346:uavcan.si.sample.temperature.scalar 'kelvin: 240'