From 0adfd108089b7b5ce16166c80d39fea80f1d239e Mon Sep 17 00:00:00 2001 From: bruno-f-cruz Date: Thu, 29 Feb 2024 14:38:02 -0800 Subject: [PATCH 1/2] Add UUID register to protocol --- Device.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Device.md b/Device.md index 09db6f2..c749bba 100644 --- a/Device.md +++ b/Device.md @@ -46,6 +46,7 @@ It’s strongly recommended that a Harp Device acting as peripheral should conti |R\_SERIAL\_NUMBER|No|No|U16|013|b)|Unique serial number of the device|Optional| |R\_CLOCK\_CONFIG|No|No|U8|014|b)|Synchronization clock configuration|Optional| |R\_TIMESTAMP\_OFFSET|No|No|U8|015|b)|Adds an offset if user updates the Timestamp|Optional| +|R\_UUID|No|YES|U8|016|b)|Stores an universally unique identifier (UUID) |Optional| ||a) These values are stored during factory process and are persistent, i.e., they cannot be changed by the user.
b) Check register notes on the specific register explanation
c) Only parts of the functionality is mandatory. Check register notes on the explanation.| | :- | :- | @@ -322,6 +323,12 @@ gantt This number should be unique for each unit of the same Device ID. To write to this register a two-step write command is needed. First, write the value `0xFFFF`, and then the desired serial number (as a `U16`). The device will reset after the second write command is received. +> **Note** +> +> This register is to be deprecated in the near future in favor of the `R_UUID` register. Until then, we strongly encourage the value of this register to duplicate the first two bytes of `R_UUID`. + + + #### **`R_CLOCK_CONFIG` (U8) – Synchronization clock configuration** Address: `014` @@ -407,6 +414,13 @@ gantt ``` When the value of this register is above 0 (zero), the device’s timestamp will be offset by this amount. The register is sensitive to 500 microsecond increments. This register is non-volatile. +#### **`R_UUID` (16 Bytes) – Universally Unique Identifier** + +Address: `016` + +An array of 16 bytes that should contain a UUID (Universally Unique Identifier) of the current device. This register is non-volatile and should be read-only. + + ## Release notes: - v0.2 @@ -452,4 +466,8 @@ When the value of this register is above 0 (zero), the device’s timestamp will - v1.9.1 * Remove table of contents to avoid redundancy with doc generators. - * Minor improvements to clarity of introduction. \ No newline at end of file + * Minor improvements to clarity of introduction. + +- v1.9.2 + * Add `UUID` register + * Add future deprecation warning to `R_SERIAL_NUMBER` register. From cdfb79c7d24f1d58eaddc98211b874f9cc15fd8e Mon Sep 17 00:00:00 2001 From: bruno-f-cruz <7049351+bruno-f-cruz@users.noreply.github.com> Date: Thu, 19 Dec 2024 13:03:29 -0800 Subject: [PATCH 2/2] Favor UID over UUID and clarify endianness --- Device.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Device.md b/Device.md index c749bba..609be6b 100644 --- a/Device.md +++ b/Device.md @@ -46,7 +46,7 @@ It’s strongly recommended that a Harp Device acting as peripheral should conti |R\_SERIAL\_NUMBER|No|No|U16|013|b)|Unique serial number of the device|Optional| |R\_CLOCK\_CONFIG|No|No|U8|014|b)|Synchronization clock configuration|Optional| |R\_TIMESTAMP\_OFFSET|No|No|U8|015|b)|Adds an offset if user updates the Timestamp|Optional| -|R\_UUID|No|YES|U8|016|b)|Stores an universally unique identifier (UUID) |Optional| +|R\_UID|No|YES|U8|016|b)|Stores an unique identifier (UID) |Optional| ||a) These values are stored during factory process and are persistent, i.e., they cannot be changed by the user.
b) Check register notes on the specific register explanation
c) Only parts of the functionality is mandatory. Check register notes on the explanation.| | :- | :- | @@ -325,7 +325,7 @@ To write to this register a two-step write command is needed. First, write the v > **Note** > -> This register is to be deprecated in the near future in favor of the `R_UUID` register. Until then, we strongly encourage the value of this register to duplicate the first two bytes of `R_UUID`. +> This register is to be deprecated in the near future in favor of the `R_UID` register. Until then, we strongly encourage the value of this register to duplicate the first two bytes of `R_UID`. Consider that the bytes should be packed in little-endian order. @@ -414,11 +414,11 @@ gantt ``` When the value of this register is above 0 (zero), the device’s timestamp will be offset by this amount. The register is sensitive to 500 microsecond increments. This register is non-volatile. -#### **`R_UUID` (16 Bytes) – Universally Unique Identifier** +#### **`R_UID` (16 Bytes) – Unique Identifier** Address: `016` -An array of 16 bytes that should contain a UUID (Universally Unique Identifier) of the current device. This register is non-volatile and should be read-only. +An array of 16 bytes that should contain a (128bit) UID (Unique Identifier) of the current device. This register is non-volatile and should be read-only. The byte-order is little-endian. ## Release notes: @@ -469,5 +469,5 @@ An array of 16 bytes that should contain a UUID (Universally Unique Identifier) * Minor improvements to clarity of introduction. - v1.9.2 - * Add `UUID` register + * Add `UID` register * Add future deprecation warning to `R_SERIAL_NUMBER` register.