Clarify register diagrams and R_UID semantics#225
Open
glopesdev wants to merge 1 commit into
Open
Conversation
Add a note describing how register layout diagrams are oriented: single-value registers most significant first, structured registers byte 0 first, with little-endian wire order. Remove the single-cell diagrams from R_UID and R_TAG. Redefine R_UID as an opaque identifier with no numeric interpretation, optional to implement and, when implemented, unique among devices that share the same R_WHO_AM_I. Drop the little-endian byte-order claim from R_TAG, and remove the R_SERIAL_NUMBER derivation from R_UID.
277b383 to
d30eae1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves the inconsistency in how core register byte and bit layouts are documented, and corrects the byte-order description of the identifier registers.
Register diagrams previously mixed orientations without explanation. The integer and bitfield registers are drawn most-significant-first,
R_VERSIONis drawn in field order, andR_UIDandR_TAGcarried single-cell diagrams that conveyed nothing beyond their length. This adds a short convention describing the two orientations and the little-endian wire order, and removes the two uninformative diagrams.It also corrects the description of core device identifier registers.
R_UIDwas described as a 128-bit little-endian value, but neither the Pico nor the ATxmega core treats it as a number; both store opaque bytes.R_UIDis now defined as an opaque identifier that is optional to implement and, when implemented, MUST be unique among devices sharing the sameR_WHO_AM_I, so that the two registers together uniquely identify a device. Little-endian wording was dropped fromR_TAG, and theR_SERIAL_NUMBERdeprecation note no longer claims to duplicate the first two bytes ofR_UID.Closes #201