Skip to content

bus: tc49/layout/state/wanted/point/<addr> — the address carries no system level #367

Description

@iot49

What

Decision 6 of ADR-0059. A point or signal address is the string the drawing carries and the hardware answers to, and the topic carries it as trailing levels with no system in front:

topic payload fields values
tc49/layout/state/wanted/point/<addr> addr, position position closed or thrown
tc49/layout/state/wanted/signal/<addr> addr, aspect aspect stop, caution or clear
tc49/layout/state/device/point/<addr> addr, position position closed or thrown

Whatever is wired subscribes tc49/layout/state/wanted/# and acts on the addresses it recognises, as traction already does. An address nobody answers to does no harm. Two systems that number a point alike both act, and that is the deployer's addressing to fix, not a topic level.

Scope

  • docs/SYSTEM.md: the three rows, and the paragraph "a point or signal address names its system as its first level" goes.
  • src/tc49/lib/inventory.py: the rows.
  • src/tc49/store/drawing.py: the check that refuses an address naming no system goes; an address is any non-empty string.
  • src/tc49/layout/interface.py, src/tc49/dccex/translator.py: no split("/") on an address; the translator acts on every point and signal address it hears.
  • CONTEXT.md: Address (both entries) and Device vocabulary.
  • Fixtures under bench/layouts/ that carry dccex/… addresses, and the UI's generated types.

Acceptance

  • scripts/check.sh green.
  • A drawing with a bare point address derives.
  • The translator throws a point whose address is 5.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestready-for-agentFully specified, ready for an AFK agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions