Skip to content
82 changes: 81 additions & 1 deletion schema/core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,36 +11,43 @@ registers:
type: U8
access: Read
description: Specifies the major hardware version of the device.
deprecated: true
HardwareVersionLow:
address: 2
type: U8
access: Read
description: Specifies the minor hardware version of the device.
deprecated: true
AssemblyVersion:
address: 3
type: U8
access: Read
description: Specifies the version of the assembled components in the device.
deprecated: true
CoreVersionHigh:
address: 4
type: U8
access: Read
description: Specifies the major version of the Harp core implemented by the device.
deprecated: true
CoreVersionLow:
address: 5
type: U8
access: Read
description: Specifies the minor version of the Harp core implemented by the device.
deprecated: true
FirmwareVersionHigh:
address: 6
type: U8
access: Read
description: Specifies the major version of the Harp core implemented by the device.
deprecated: true
FirmwareVersionLow:
address: 7
type: U8
access: Read
description: Specifies the minor version of the Harp core implemented by the device.
deprecated: true
TimestampSeconds:
address: 8
type: U32
Expand Down Expand Up @@ -100,12 +107,79 @@ registers:
type: U16
access: Write
description: Specifies the unique serial number of the device.
deprecated: true
ClockConfiguration:
address: 14
type: U8
access: Write
maskType: ClockConfigurationFlags
description: Specifies the configuration for the device synchronization clock.
TimestampOffset:
address: 15
type: U8
access: Write
description: Configures an offset for Timestamp updates.
deprecated: true
UID:
address: 16
type: U8
access: Read
length: 16
description: Specifies the unique identifier of the device.
Tag:
address: 17
type: U8
access: Write
length: 8
description: Stores a user-defined tag for the device.
Heartbeat:
address: 18
type: U16
access: Event
maskType: HeartbeatFlags
description: Stores the number of seconds since the device was last reset.
Version:
address: 19
type: U8
access: Read
length: 32
description: Specifies the semantic version of the different device components.
payloadSpec:
ProtocolMajor:
offset: 0
description: Specifies the major version of the Harp protocol implementation.
ProtocolMinor:
offset: 1
description: Specifies the minor version of the Harp protocol implementation.
ProtocolPatch:
offset: 2
description: Specifies the patch version of the Harp protocol implementation.
FirmwareMajor:
offset: 3
description: Specifies the major version of the firmware.
FirmwareMinor:
offset: 4
description: Specifies the minor version of the firmware.
FirmwarePatch:
offset: 5
description: Specifies the patch version of the firmware.
HardwareMajor:
offset: 6
description: Specifies the major version of the hardware.
HardwareMinor:
offset: 7
description: Specifies the minor version of the hardware.
HardwarePatch:
offset: 8
description: Specifies the patch version of the hardware.
SdkId:
offset: 9
description: Specifies the microcontroller SDK used to implement the device.
mask: 0xFFFFFF
InterfaceHash:
offset: 12
description: Specifies the SHA-1 hash value of the device interface contract.
mask: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
groupMasks:
OperationMode:
description: Specifies the operation mode of the device.
Expand All @@ -132,6 +206,7 @@ bitMasks:
RestoreEeprom: {value: 0x2, description: The device will boot and restore all the registers to the values stored in non-volatile memory.}
Save: {value: 0x4, description: The device will boot and save all the current register values to non-volatile memory.}
RestoreName: {value: 0x8, description: The device will boot with the default device name.}
UpdateFirmware: {value: 0x20, description: The device will enter firmware update mode.}
BootFromDefault: {value: 0x40, description: Specifies that the device has booted from default factory values.}
BootFromEeprom: {value: 0x80, description: Specifies that the device has booted from non-volatile values stored in EEPROM.}
ClockConfigurationFlags:
Expand All @@ -143,4 +218,9 @@ bitMasks:
RepeaterCapability: {value: 0x8, description: Specifies the device has the capability to repeat the clock synchronization signal to the clock output connector.}
GeneratorCapability: {value: 0x10, description: Specifies the device has the capability to generate the clock synchronization signal to the clock output connector.}
ClockUnlock: {value: 0x40, description: The device will unlock the timestamp register counter and will accept commands to set new timestamp values.}
ClockLock: {value: 0x80, description: The device will lock the timestamp register counter and will not accept commands to set new timestamp values.}
ClockLock: {value: 0x80, description: The device will lock the timestamp register counter and will not accept commands to set new timestamp values.}
HeartbeatFlags:
description: Specifies configuration flags for the device heartbeat event.
bits:
IsActive: {value: 0x1, description: "The device is in Active mode."}
IsSynchronized: {value: 0x2, description: "The device is synchronized to an external Harp clock generator. The value is 1 if the device is itself a clock generator."}
4 changes: 4 additions & 0 deletions schema/registers.json
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,10 @@
"type": "string",
"enum": ["public", "private"]
},
"deprecated": {
"description": "Specifies whether the register function is deprecated.",
"type": "boolean"
},
"volatile": {
"description": "Specifies whether register values can be saved in non-volatile memory.",
"type": "boolean"
Expand Down