Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

yakut replay #54

Open
pavel-kirienko opened this issue May 2, 2022 · 0 comments
Open

yakut replay #54

pavel-kirienko opened this issue May 2, 2022 · 0 comments
Assignees
Labels

Comments

@pavel-kirienko
Copy link
Member

A command is needed that accepts message objects expressed in YAML with metadata and publishes them on the specified subjects. The subject-ID, dtype, and publication period are to be sourced from the metadata as produced by yakut subscribe (the period is the delta of ts_monotonic):

$ yakut sub 33:uavcan.si.unit.angle.scalar --with-metadata | jq
{
  "33": {
    "_meta_": {
      "ts_system": 1651525686.008718,
      "ts_monotonic": 1827560.239782,
      "source_node_id": 112,
      "transfer_id": 0,
      "priority": "nominal",
      "dtype": "uavcan.si.unit.angle.Scalar.1.0"
    },
    "radian": 2.309999942779541
  }
}
{
  "33": {
    "_meta_": {
      "ts_system": 1651525687.015653,
      "ts_monotonic": 1827561.247286,
      "source_node_id": 112,
      "transfer_id": 1,
      "priority": "nominal",
      "dtype": "uavcan.si.unit.angle.Scalar.1.0"
    },
    "radian": 2.309999942779541
  }
}

The intended usages are two:

  1. Replaying data collected earlier with yakut subscribe
  2. Publishing data produced by other software, e.g.:
printf("{33: {_meta_: {ts_monotonic: 1827561.247286, dtype: uavcan.si.unit.angle.Scalar.1.0}, radian: %f}}\n", get_value());

If transfer-ID and source node-ID are specified, spoofing should be used.

@pavel-kirienko pavel-kirienko self-assigned this May 2, 2022
pavel-kirienko added a commit that referenced this issue May 4, 2022
…nc subscription; fix defects (#55)

- Add shorter aliases for pub sub
- Introduce FormatterHints
- Add HACK to remove the end-of-document marker from YAML produced by ruamel.yaml
- Update the formatter usage conventions to not emit extra newline at the end
- Use EXIT_CODE_UNSUCCESSFUL
- Suppress errors from PyCyphal during event loop finalization
- Fix `yakut monitor` screen refresh regression.
- Add `yakut register`.
- Add `yakut register-list`.
- Add `yakut register-batch`.
- Add `yakut execute-command`.
- Implement asynchronous subscription in `yakut subscribe` and make it the default option.
- New simpler option `--sync`
- Simplify transfer metadata reporting (related to the future #54 )
* Introduce format selection options --yaml/--json/--tsvh
- Add a new formatter option `AUTO`, which is now the default. It selects between JSON and YAML automatically depending on `isatty(stdout)`. This is needed to enable compatibility with `jq`.
- Close #30 
- Close #52 
- Close #3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant