Skip to content

disambiguated field id bit position#15

Merged
carofcons merged 1 commit intomainfrom
fix/bit_position
Mar 28, 2026
Merged

disambiguated field id bit position#15
carofcons merged 1 commit intomainfrom
fix/bit_position

Conversation

@carofcons
Copy link
Copy Markdown
Contributor

No description provided.

@carofcons carofcons requested a review from raffael0 March 28, 2026 14:26
@carofcons carofcons merged commit 480df1a into main Mar 28, 2026
1 check passed
@carofcons carofcons deleted the fix/bit_position branch March 28, 2026 14:28
@raffael0 raffael0 requested a review from Copilot March 28, 2026 14:34
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Field Registration & Management specification to remove ambiguity about how parameter vs telemetry field IDs are distinguished (bit position), improving interoperability across implementations.

Changes:

  • Clarifies that the most significant bit of the field ID distinguishes parameters (0) from telemetry values (1).
  • Minor formatting/line adjustments in the “Field name Lookup” subsection.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

After registration was initialized, a node sends out \texttt{field\_registration} messages, one for each
parameter/telemetryValue. The FieldRegistration includes a field ID, the datatype of the field, and
a human-readable name. The name and field ID have to be unique per node. The first bit of paramter field IDs is 0 and the first bit of telemetryValue field IDs is 1. From this point on, the server knows which fields the node has. The fieldID \texttt{0} is reserved to indicate an invalid fieldID. It must not be assigned to a field. FieldIDs must be assigned in a determenistic way. This ensures that named fields have the same fieldID between reboots.
a human-readable name. The name and field ID have to be unique per node. The most significant bit of paramter field IDs is 0 and the most significant bit of telemetryValue field IDs is 1. From this point on, the server knows which fields the node has. The fieldID \texttt{0} is reserved to indicate an invalid fieldID. It must not be assigned to a field. FieldIDs must be assigned in a determenistic way. This ensures that named fields have the same fieldID between reboots.
Copy link

Copilot AI Mar 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: "determenistic" should be "deterministic".

Suggested change
a human-readable name. The name and field ID have to be unique per node. The most significant bit of paramter field IDs is 0 and the most significant bit of telemetryValue field IDs is 1. From this point on, the server knows which fields the node has. The fieldID \texttt{0} is reserved to indicate an invalid fieldID. It must not be assigned to a field. FieldIDs must be assigned in a determenistic way. This ensures that named fields have the same fieldID between reboots.
a human-readable name. The name and field ID have to be unique per node. The most significant bit of paramter field IDs is 0 and the most significant bit of telemetryValue field IDs is 1. From this point on, the server knows which fields the node has. The fieldID \texttt{0} is reserved to indicate an invalid fieldID. It must not be assigned to a field. FieldIDs must be assigned in a deterministic way. This ensures that named fields have the same fieldID between reboots.

Copilot uses AI. Check for mistakes.

\subsubsection{Field name Lookup}\label{subsubsec:field-name-lookup}
The field name lookup covers the case where nodes need to access fields from other nodes. Since they don't recieve the \texttt{field\_registration} messages, they don't know the fieldIDs of the named fields they want to access. \texttt{field\_id\_lookup\_req} messages contain the remote field name. The Node responds with a \texttt{field\_id\_lookup\_res} message, containing the fieldID, the datatype of the field, and a field status (see FieldStatus enum in \ref{subsec:FieldStatus}). If the field is not found (field\_status = NotFound), the field\_id should still contain the requested field ID from the request message. No newline at end of file
The field name lookup covers the case where nodes need to access fields from other nodes. Since they don't recieve the \texttt{field\_registration} messages, they don't know the fieldIDs of the named fields they want to access. \texttt{field\_id\_lookup\_req} messages contain the remote field name. The Node responds with a \texttt{field\_id\_lookup\_res} message, containing the fieldID, the datatype of the field, and a field status (see FieldStatus enum in \ref{subsec:FieldStatus}). If the field is not found (field\_status = NotFound), the field\_id should still contain the requested field ID from the request message.
Copy link

Copilot AI Mar 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: "recieve" should be "receive".

Copilot uses AI. Check for mistakes.
After registration was initialized, a node sends out \texttt{field\_registration} messages, one for each
parameter/telemetryValue. The FieldRegistration includes a field ID, the datatype of the field, and
a human-readable name. The name and field ID have to be unique per node. The first bit of paramter field IDs is 0 and the first bit of telemetryValue field IDs is 1. From this point on, the server knows which fields the node has. The fieldID \texttt{0} is reserved to indicate an invalid fieldID. It must not be assigned to a field. FieldIDs must be assigned in a determenistic way. This ensures that named fields have the same fieldID between reboots.
a human-readable name. The name and field ID have to be unique per node. The most significant bit of paramter field IDs is 0 and the most significant bit of telemetryValue field IDs is 1. From this point on, the server knows which fields the node has. The fieldID \texttt{0} is reserved to indicate an invalid fieldID. It must not be assigned to a field. FieldIDs must be assigned in a determenistic way. This ensures that named fields have the same fieldID between reboots.
Copy link

Copilot AI Mar 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: "paramter" should be "parameter".

Suggested change
a human-readable name. The name and field ID have to be unique per node. The most significant bit of paramter field IDs is 0 and the most significant bit of telemetryValue field IDs is 1. From this point on, the server knows which fields the node has. The fieldID \texttt{0} is reserved to indicate an invalid fieldID. It must not be assigned to a field. FieldIDs must be assigned in a determenistic way. This ensures that named fields have the same fieldID between reboots.
a human-readable name. The name and field ID have to be unique per node. The most significant bit of parameter field IDs is 0 and the most significant bit of telemetryValue field IDs is 1. From this point on, the server knows which fields the node has. The fieldID \texttt{0} is reserved to indicate an invalid fieldID. It must not be assigned to a field. FieldIDs must be assigned in a determenistic way. This ensures that named fields have the same fieldID between reboots.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants