OpenCyphal / public_regulated_data_types

Regulated DSDL definitions for Cyphal (standard and third-party)
https://nunaweb.opencyphal.org
MIT License
71 stars 95 forks source link

Add a `CMD_IDENTIFY` to ExecuteCommand #144

Closed Willmac16 closed 8 months ago

Willmac16 commented 8 months ago

For plug and play nodes that support both auto-allocation of NodeIDs and configuration via registers of subject IDs, it would be useful to have an identify command for first time connected nodes (or recently factory reset ones).

If multiple un-configured nodes are connected at the same time/during a power off cycle, then one node at a time could be instructed to identify itself through a light sequence or auditory means, allowing human operators to match auto-allocated nodes IDs to physical nodes. Once identified, the nodes could be configured via registers to publish and subscribe to the appropriate ports, no longer needing identification until the next factory reset.

pavel-kirienko commented 8 months ago

A pull request adding this command would be accepted.

Willmac16 commented 8 months ago

Should this new constant be added to the deprecated 1.0 version of ExecuteCommand, or only to the current 1.1 version?

pavel-kirienko commented 8 months ago

Neither. Per section 3.8.3.2 "Versioning principles", a new data type named ExecuteCommand.1.2 needs to be defined instead, and v1.1 must be marked @deprecated.

pavel-kirienko commented 8 months ago

Done in #145