harp-tech / protocol

Description of the Harp protocol.
https://harp-tech.org/protocol/BinaryProtocol-8bit.html
MIT License
3 stars 5 forks source link

Increase the size of the R_SERIAL_NUMBER to match 128bit UUID #31

Open bruno-f-cruz opened 6 months ago

bruno-f-cruz commented 6 months ago

Summary

The current R_SERIAL_NUMBER only supports a U16 value. My proposal is to increase the size of this register (U16*8 values) as to accommodate the (UUID 128bit standard)[https://en.wikipedia.org/wiki/Universally_unique_identifier]. This makes this register usable for future hardware implementations of the core since one can use the Serial number of the embedded systems in this register.

Motivation

The pico, for instance, uses a 32bit serial number. Adopting an industry standard of 128 should make it future proof.

Detailed Design

Change the core register to an array of 8 U16 numbers.

Drawbacks

Backwards compatibility?

Alternatives

N/A

Unresolved Questions

Does this break backwards compatibility?

Design Meetings

TBD

glopesdev commented 5 months ago

Feedback from SRM:

Missing:

filcarv commented 4 months ago

Unfortunately, there are no free bytes in the EEPROM of the atxmega implementation. What we can do is:

bruno-f-cruz commented 4 months ago

I would favor your second solution as it would make the interface backwards compatible. The first one actually break it if I understand correctly.

bruno-f-cruz commented 4 months ago

Notes from 29022024:

Register name: UUID Register Number: 16 Register Size: uint8[16] Register Access: Read-only as per protocol specification

Importantly, the current R_SERIAL_NUMBER register will remain as is for backward compatibility with the following assumptions:

  1. The first 2 bytes of the new register UUID will be duplicated to the two bytes of register R_SERIAL_NUMBER
  2. This register will be deprecated with the next major release in favor of the UUID one

I will make a PR with this proposal