Skip to content

Commit 5b0a25a

Browse files
authored
Merge pull request #39 from harp-tech/31-increase-the-size-of-the-r_serial_number-to-match-128bit-uuid
Add UID register to protocol
2 parents 538e55d + ad81e22 commit 5b0a25a

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

Device.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ As an application example, devices using USB as the transport layer can poll for
4848
|R\_SERIAL\_NUMBER|No|No|U16|013|b)|Unique serial number of the device|Optional|
4949
|R\_CLOCK\_CONFIG|No|No|U8|014|b)|Synchronization clock configuration|Optional|
5050
|R\_TIMESTAMP\_OFFSET|No|No|U8|015|b)|Adds an offset if user updates the Timestamp|Optional|
51+
|R\_UID|No|YES|U8|016|b)|Stores a unique identifier (UID) |Optional|
5152

5253
||a) These values are stored during factory process and are persistent, i.e., they cannot be changed by the user.<br>b) Check register notes on the specific register explanation<br>c) Only parts of the functionality is mandatory. Check register notes on the explanation.|
5354
| :- | :- |
@@ -324,6 +325,12 @@ gantt
324325
This number should be unique for each unit of the same Device ID.
325326
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.
326327

328+
> **Note**
329+
>
330+
> 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`. In this case, similarly to the harp protocol specification, the two bytes should be packed in little-endian order.
331+
332+
333+
327334
#### **`R_CLOCK_CONFIG` (U8) – Synchronization clock configuration**
328335

329336
Address: `014`
@@ -409,6 +416,13 @@ gantt
409416
```
410417
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.
411418

419+
#### **`R_UID` (16 Bytes) – Unique Identifier**
420+
421+
Address: `016`
422+
423+
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.
424+
425+
412426
## Release notes:
413427

414428
- v0.2
@@ -455,5 +469,10 @@ When the value of this register is above 0 (zero), the device’s timestamp will
455469
- v1.9.1
456470
* Remove table of contents to avoid redundancy with doc generators.
457471
* Minor improvements to clarity of introduction.
472+
458473
- v1.9.2
459474
* Clarify `Connected` behavior between host and device and add application examples.
475+
476+
- v1.10.0
477+
* Add `UID` register
478+
* Add future deprecation warning to `R_SERIAL_NUMBER` register.

0 commit comments

Comments
 (0)