jonnew / ONI

Open Neuro Interface: formal specifications for high-bandwidth, bidirectional communication with neural probes
5 stars 3 forks source link

Device ID ranges proposal #7

Closed aacuevas closed 8 months ago

aacuevas commented 1 year ago

Instead of reserving range 0-99999 for Open Ephys-approved devices, I propose the following structure for device IDs:

Reserved(8bit).Company(8bit).Device(16bit)

Where device could optionally also be divided in two 8bit values (for example normal ONI devices are 0x0000abcd but the Rhythm-based devices use 0x0001abcd, allowing project differentiatin). Company would be for anyone who would register officially with Open Ephys, and thus included in the automatic listings (i.e.: onix.h and other headers), with Open Ephys being 0x0000.

Reserved would be 0x0000 for anything Open Ephys has officially registered, anything from 0x00010000000000000000 upwards is a free range for custom designs without the need of getting in contact with Open Ephys. IDs in this range are not guarantee to not clash, as they will be unsupervised

aacuevas commented 1 year ago

The current spec does not define any ranges for hub hardware IDs, so I propose to follow the same nomenclature as for devices

jonnew commented 1 year ago

I like both of these proposals

aacuevas commented 1 year ago

I'm wondering if Company should be 15 bit, keep bit 16 reserved and have the free range from 0x80000000 upwards

jonnew commented 1 year ago

keep in mind for the next commit i have for wip. I will hold integrating this idea off until thats finished

aacuevas commented 8 months ago

This is already implemented as per the latest revision of the spec

jonnew commented 8 months ago

Confirmed.