OpenCyphal / OpenCyphal/yakut

yakut replay

Open
#54 0 comments 0 reactions 1 assignee View on GitHub

@pavel-kirienko is already working on this.

Since May 2, 2022.

feature
Dominant language
Python
Stars
65
Forks
14
PR merge metrics
No merged PRs in 30d

Description

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.