Skip to content

title: Registry reference description: Generated index of the Valence protocol registry: frame types, CBOR keys, channels, error codes, limits. register: IEEE generated: true


Registry reference#

The registry is the single source of truth for every number Valence puts on the wire. These pages are generated from it. No number on this site is typed by a human.

If a page here disagrees with prose elsewhere, this page wins.

Protocol identity#

Property Value
Protocol name valence
Protocol version 1
Byte order little-endian
Header size 8 bytes

Pages#

Page Covers
Frame types The type byte and the header flag bits.
Channels Channel classes, stream kinds, access levels, priorities, id ranges, spec-core channels.
CBOR keys The global control-plane key space and every scoped sub-map key space.
Catalog vocabulary Packed field types, field roles, setting categories and flags, procedure phases.
Event kinds Event kind values for the spec-core EVENT channels, and log severity levels.
Safety codes Safety intent operations and safety cause codes.
Pairing modes The pairing mode bitmask advertised in WELCOME.
NACK codes Every NACK and GOODBYE reason code, by range.
Limits and defaults Well-known sizes, timeouts, caps and defaults.
Discovery BLE GATT identity and advertising flags, and the UDP discovery probe/reply.
Rendering vocabulary Categories, ranks, value axes, units, action tags, archetypes, regions, renderer classes and widget patterns: the numbers behind RENDERING.md (RFC-048).

How to change a number#

  1. Edit registry.yaml. It is the only place a number is decided.
  2. Run the C++ generator. It rewrites registry_constants.hpp.
  3. Run the docs generator. It rewrites these pages.
  4. Commit the registry and both generated outputs together.

Released numbers are never reused and never renumbered.