diff --git a/dsdl/uavcan/README.md b/dsdl/uavcan/README.md new file mode 100644 index 0000000000..f34d759df1 --- /dev/null +++ b/dsdl/uavcan/README.md @@ -0,0 +1,33 @@ +Standard DSDL definitions +========================= + +For details, please refer to the [UAVCAN specification](http://uavcan.org/). + +## Standard DTID ranges + +- Messages: [256, 1791) +- Services: [64, 447) + +Rest are reserved for vendor-specific data types. + +## Standard ID grouping + +Note that all unallocated space can be claimed later. + +### Messages + +| ID | Types | Note | +| -------------------- | ---------------------------------------- | ---------------------------------------- | +| [256, 260) | protocol.* | Highest priority | +| [260, 900) | equipment.* | High priority | +| [1000, 1050) | protocol.* | | +| [1400, 1700) | equipment.* | Low priority | +| 1780 | mavlink.Message | | +| [1785, 1791) | protocol.debug.* | Lowest priority | + +### Services + +| ID | Types | Note | +| -------------------- | ---------------------------------------- | ---------------------------------------- | +| [100, 110) | equipment.* | | +| [200, 250) | protocol.* | | diff --git a/dsdl/uavcan/equipment/256.PerformAutomaticSelfTest.uavcan b/dsdl/uavcan/equipment/100.PerformAutomaticSelfTest.uavcan similarity index 95% rename from dsdl/uavcan/equipment/256.PerformAutomaticSelfTest.uavcan rename to dsdl/uavcan/equipment/100.PerformAutomaticSelfTest.uavcan index ea5a52e120..a330b823f4 100644 --- a/dsdl/uavcan/equipment/256.PerformAutomaticSelfTest.uavcan +++ b/dsdl/uavcan/equipment/100.PerformAutomaticSelfTest.uavcan @@ -3,6 +3,8 @@ # http://uavcan.org/Standard_data_types_and_application_level_functions#Pre-operational_checks # +int48 argument + --- # Amount of extra time the node needs to finish the procedure. diff --git a/dsdl/uavcan/equipment/257.PerformAutomaticCalibration.uavcan b/dsdl/uavcan/equipment/101.PerformAutomaticCalibration.uavcan similarity index 95% rename from dsdl/uavcan/equipment/257.PerformAutomaticCalibration.uavcan rename to dsdl/uavcan/equipment/101.PerformAutomaticCalibration.uavcan index 82fd0d1e9d..4f8d58ca5c 100644 --- a/dsdl/uavcan/equipment/257.PerformAutomaticCalibration.uavcan +++ b/dsdl/uavcan/equipment/101.PerformAutomaticCalibration.uavcan @@ -3,6 +3,8 @@ # http://uavcan.org/Standard_data_types_and_application_level_functions#Pre-operational_checks # +int48 argument + --- # Amount of extra time the node needs to finish the procedure. diff --git a/dsdl/uavcan/equipment/actuator/265.ArrayCommand.uavcan b/dsdl/uavcan/equipment/actuator/280.ArrayCommand.uavcan similarity index 100% rename from dsdl/uavcan/equipment/actuator/265.ArrayCommand.uavcan rename to dsdl/uavcan/equipment/actuator/280.ArrayCommand.uavcan diff --git a/dsdl/uavcan/equipment/actuator/600.Status.uavcan b/dsdl/uavcan/equipment/actuator/284.Status.uavcan similarity index 100% rename from dsdl/uavcan/equipment/actuator/600.Status.uavcan rename to dsdl/uavcan/equipment/actuator/284.Status.uavcan diff --git a/dsdl/uavcan/equipment/ahrs/256.AHRS.uavcan b/dsdl/uavcan/equipment/ahrs/260.AHRS.uavcan similarity index 100% rename from dsdl/uavcan/equipment/ahrs/256.AHRS.uavcan rename to dsdl/uavcan/equipment/ahrs/260.AHRS.uavcan diff --git a/dsdl/uavcan/equipment/ahrs/257.Magnetometer.uavcan b/dsdl/uavcan/equipment/ahrs/261.Magnetometer.uavcan similarity index 100% rename from dsdl/uavcan/equipment/ahrs/257.Magnetometer.uavcan rename to dsdl/uavcan/equipment/ahrs/261.Magnetometer.uavcan diff --git a/dsdl/uavcan/equipment/air_data/410.StaticTemperature.uavcan b/dsdl/uavcan/equipment/air_data/299.StaticTemperature.uavcan similarity index 100% rename from dsdl/uavcan/equipment/air_data/410.StaticTemperature.uavcan rename to dsdl/uavcan/equipment/air_data/299.StaticTemperature.uavcan diff --git a/dsdl/uavcan/equipment/camera_gimbal/402.Status.uavcan b/dsdl/uavcan/equipment/camera_gimbal/404.Status.uavcan similarity index 100% rename from dsdl/uavcan/equipment/camera_gimbal/402.Status.uavcan rename to dsdl/uavcan/equipment/camera_gimbal/404.Status.uavcan diff --git a/dsdl/uavcan/equipment/esc/260.RawCommand.uavcan b/dsdl/uavcan/equipment/esc/270.RawCommand.uavcan similarity index 100% rename from dsdl/uavcan/equipment/esc/260.RawCommand.uavcan rename to dsdl/uavcan/equipment/esc/270.RawCommand.uavcan diff --git a/dsdl/uavcan/equipment/esc/261.RPMCommand.uavcan b/dsdl/uavcan/equipment/esc/271.RPMCommand.uavcan similarity index 100% rename from dsdl/uavcan/equipment/esc/261.RPMCommand.uavcan rename to dsdl/uavcan/equipment/esc/271.RPMCommand.uavcan diff --git a/dsdl/uavcan/equipment/esc/601.Status.uavcan b/dsdl/uavcan/equipment/esc/274.Status.uavcan similarity index 100% rename from dsdl/uavcan/equipment/esc/601.Status.uavcan rename to dsdl/uavcan/equipment/esc/274.Status.uavcan diff --git a/dsdl/uavcan/equipment/gnss/420.Fix.uavcan b/dsdl/uavcan/equipment/gnss/700.Fix.uavcan similarity index 100% rename from dsdl/uavcan/equipment/gnss/420.Fix.uavcan rename to dsdl/uavcan/equipment/gnss/700.Fix.uavcan diff --git a/dsdl/uavcan/equipment/gnss/421.Auxiliary.uavcan b/dsdl/uavcan/equipment/gnss/701.Auxiliary.uavcan similarity index 100% rename from dsdl/uavcan/equipment/gnss/421.Auxiliary.uavcan rename to dsdl/uavcan/equipment/gnss/701.Auxiliary.uavcan diff --git a/dsdl/uavcan/equipment/gnss/745.RTCMStream.uavcan b/dsdl/uavcan/equipment/gnss/702.RTCMStream.uavcan similarity index 100% rename from dsdl/uavcan/equipment/gnss/745.RTCMStream.uavcan rename to dsdl/uavcan/equipment/gnss/702.RTCMStream.uavcan diff --git a/dsdl/uavcan/equipment/hardpoint/660.Command.uavcan b/dsdl/uavcan/equipment/hardpoint/1600.Command.uavcan similarity index 100% rename from dsdl/uavcan/equipment/hardpoint/660.Command.uavcan rename to dsdl/uavcan/equipment/hardpoint/1600.Command.uavcan diff --git a/dsdl/uavcan/equipment/hardpoint/661.Status.uavcan b/dsdl/uavcan/equipment/hardpoint/1601.Status.uavcan similarity index 100% rename from dsdl/uavcan/equipment/hardpoint/661.Status.uavcan rename to dsdl/uavcan/equipment/hardpoint/1601.Status.uavcan diff --git a/dsdl/uavcan/equipment/indication/747.BeepCommand.uavcan b/dsdl/uavcan/equipment/indication/1680.BeepCommand.uavcan similarity index 100% rename from dsdl/uavcan/equipment/indication/747.BeepCommand.uavcan rename to dsdl/uavcan/equipment/indication/1680.BeepCommand.uavcan diff --git a/dsdl/uavcan/equipment/indication/748.LightsCommand.uavcan b/dsdl/uavcan/equipment/indication/1681.LightsCommand.uavcan similarity index 100% rename from dsdl/uavcan/equipment/indication/748.LightsCommand.uavcan rename to dsdl/uavcan/equipment/indication/1681.LightsCommand.uavcan diff --git a/dsdl/uavcan/equipment/power/720.PrimaryPowerSupplyStatus.uavcan b/dsdl/uavcan/equipment/power/1670.PrimaryPowerSupplyStatus.uavcan similarity index 100% rename from dsdl/uavcan/equipment/power/720.PrimaryPowerSupplyStatus.uavcan rename to dsdl/uavcan/equipment/power/1670.PrimaryPowerSupplyStatus.uavcan diff --git a/dsdl/uavcan/equipment/power/721.CircuitStatus.uavcan b/dsdl/uavcan/equipment/power/1671.CircuitStatus.uavcan similarity index 100% rename from dsdl/uavcan/equipment/power/721.CircuitStatus.uavcan rename to dsdl/uavcan/equipment/power/1671.CircuitStatus.uavcan diff --git a/dsdl/uavcan/equipment/power/722.BatteryInfo.uavcan b/dsdl/uavcan/equipment/power/1672.BatteryInfo.uavcan similarity index 100% rename from dsdl/uavcan/equipment/power/722.BatteryInfo.uavcan rename to dsdl/uavcan/equipment/power/1672.BatteryInfo.uavcan diff --git a/dsdl/uavcan/equipment/range_sensor/380.RangeMeasurement.uavcan b/dsdl/uavcan/equipment/range_sensor/600.RangeMeasurement.uavcan similarity index 100% rename from dsdl/uavcan/equipment/range_sensor/380.RangeMeasurement.uavcan rename to dsdl/uavcan/equipment/range_sensor/600.RangeMeasurement.uavcan diff --git a/dsdl/uavcan/equipment/safety/749.ArmingStatus.uavcan b/dsdl/uavcan/equipment/safety/1690.ArmingStatus.uavcan similarity index 100% rename from dsdl/uavcan/equipment/safety/749.ArmingStatus.uavcan rename to dsdl/uavcan/equipment/safety/1690.ArmingStatus.uavcan diff --git a/dsdl/uavcan/mavlink/767.Message.uavcan b/dsdl/uavcan/mavlink/1780.Message.uavcan similarity index 100% rename from dsdl/uavcan/mavlink/767.Message.uavcan rename to dsdl/uavcan/mavlink/1780.Message.uavcan diff --git a/dsdl/uavcan/protocol/550.NodeStatus.uavcan b/dsdl/uavcan/protocol/1000.NodeStatus.uavcan similarity index 100% rename from dsdl/uavcan/protocol/550.NodeStatus.uavcan rename to dsdl/uavcan/protocol/1000.NodeStatus.uavcan diff --git a/dsdl/uavcan/protocol/551.GlobalDiscoveryRequest.uavcan b/dsdl/uavcan/protocol/1001.GlobalDiscoveryRequest.uavcan similarity index 100% rename from dsdl/uavcan/protocol/551.GlobalDiscoveryRequest.uavcan rename to dsdl/uavcan/protocol/1001.GlobalDiscoveryRequest.uavcan diff --git a/dsdl/uavcan/protocol/560.EnumerationRequest.uavcan b/dsdl/uavcan/protocol/1005.EnumerationRequest.uavcan similarity index 100% rename from dsdl/uavcan/protocol/560.EnumerationRequest.uavcan rename to dsdl/uavcan/protocol/1005.EnumerationRequest.uavcan diff --git a/dsdl/uavcan/protocol/551.GetNodeInfo.uavcan b/dsdl/uavcan/protocol/200.GetNodeInfo.uavcan similarity index 100% rename from dsdl/uavcan/protocol/551.GetNodeInfo.uavcan rename to dsdl/uavcan/protocol/200.GetNodeInfo.uavcan diff --git a/dsdl/uavcan/protocol/552.GetDataTypeInfo.uavcan b/dsdl/uavcan/protocol/201.GetDataTypeInfo.uavcan similarity index 100% rename from dsdl/uavcan/protocol/552.GetDataTypeInfo.uavcan rename to dsdl/uavcan/protocol/201.GetDataTypeInfo.uavcan diff --git a/dsdl/uavcan/protocol/202.ComputeAggregateTypeSignature.uavcan b/dsdl/uavcan/protocol/202.ComputeAggregateTypeSignature.uavcan new file mode 100644 index 0000000000..1d25c77222 --- /dev/null +++ b/dsdl/uavcan/protocol/202.ComputeAggregateTypeSignature.uavcan @@ -0,0 +1,18 @@ +# +# This service allows to detect type compatibility between two nodes in one request. +# Number of items in the ID mask depends on the data type kind: +# - 512 for services +# - 2048 for messages +# - All other lengths are invalid +# If the server encounters invalid length, missing bits will be assumed zero, excessive bits will be ignored. +# + +DataTypeKind kind +uint4 alignment +bool[<=2048] known_ids + +--- + +uint64 aggregate_signature +uint4 alignment +bool[<=2048] mutually_known_ids diff --git a/dsdl/uavcan/protocol/553.GetTransportStats.uavcan b/dsdl/uavcan/protocol/203.GetTransportStats.uavcan similarity index 100% rename from dsdl/uavcan/protocol/553.GetTransportStats.uavcan rename to dsdl/uavcan/protocol/203.GetTransportStats.uavcan diff --git a/dsdl/uavcan/protocol/560.RestartNode.uavcan b/dsdl/uavcan/protocol/204.RestartNode.uavcan similarity index 100% rename from dsdl/uavcan/protocol/560.RestartNode.uavcan rename to dsdl/uavcan/protocol/204.RestartNode.uavcan diff --git a/dsdl/uavcan/protocol/0.GlobalTimeSync.uavcan b/dsdl/uavcan/protocol/256.GlobalTimeSync.uavcan similarity index 100% rename from dsdl/uavcan/protocol/0.GlobalTimeSync.uavcan rename to dsdl/uavcan/protocol/256.GlobalTimeSync.uavcan diff --git a/dsdl/uavcan/protocol/1.Panic.uavcan b/dsdl/uavcan/protocol/257.Panic.uavcan similarity index 100% rename from dsdl/uavcan/protocol/1.Panic.uavcan rename to dsdl/uavcan/protocol/257.Panic.uavcan diff --git a/dsdl/uavcan/protocol/554.ComputeAggregateTypeSignature.uavcan b/dsdl/uavcan/protocol/554.ComputeAggregateTypeSignature.uavcan deleted file mode 100644 index 71537f2934..0000000000 --- a/dsdl/uavcan/protocol/554.ComputeAggregateTypeSignature.uavcan +++ /dev/null @@ -1,11 +0,0 @@ -# -# This service allows to detect type compatibility between two nodes in one request. -# - -bool[1024] known_ids -DataTypeKind kind - ---- - -bool[1024] mutually_known_ids -uint64 aggregate_signature diff --git a/dsdl/uavcan/protocol/debug/1022.KeyValue.uavcan b/dsdl/uavcan/protocol/debug/1789.KeyValue.uavcan similarity index 100% rename from dsdl/uavcan/protocol/debug/1022.KeyValue.uavcan rename to dsdl/uavcan/protocol/debug/1789.KeyValue.uavcan diff --git a/dsdl/uavcan/protocol/debug/1023.LogMessage.uavcan b/dsdl/uavcan/protocol/debug/1790.LogMessage.uavcan similarity index 100% rename from dsdl/uavcan/protocol/debug/1023.LogMessage.uavcan rename to dsdl/uavcan/protocol/debug/1790.LogMessage.uavcan diff --git a/dsdl/uavcan/protocol/debug/1022.StartHILSimulation.uavcan b/dsdl/uavcan/protocol/debug/249.StartHILSimulation.uavcan similarity index 100% rename from dsdl/uavcan/protocol/debug/1022.StartHILSimulation.uavcan rename to dsdl/uavcan/protocol/debug/249.StartHILSimulation.uavcan diff --git a/dsdl/uavcan/protocol/dynamic_node_id/559.Allocation.uavcan b/dsdl/uavcan/protocol/dynamic_node_id/1010.Allocation.uavcan similarity index 100% rename from dsdl/uavcan/protocol/dynamic_node_id/559.Allocation.uavcan rename to dsdl/uavcan/protocol/dynamic_node_id/1010.Allocation.uavcan diff --git a/dsdl/uavcan/protocol/file/580.BeginFirmwareUpdate.uavcan b/dsdl/uavcan/protocol/file/210.BeginFirmwareUpdate.uavcan similarity index 100% rename from dsdl/uavcan/protocol/file/580.BeginFirmwareUpdate.uavcan rename to dsdl/uavcan/protocol/file/210.BeginFirmwareUpdate.uavcan diff --git a/dsdl/uavcan/protocol/file/585.GetInfo.uavcan b/dsdl/uavcan/protocol/file/215.GetInfo.uavcan similarity index 100% rename from dsdl/uavcan/protocol/file/585.GetInfo.uavcan rename to dsdl/uavcan/protocol/file/215.GetInfo.uavcan diff --git a/dsdl/uavcan/protocol/file/586.GetDirectoryEntryInfo.uavcan b/dsdl/uavcan/protocol/file/216.GetDirectoryEntryInfo.uavcan similarity index 100% rename from dsdl/uavcan/protocol/file/586.GetDirectoryEntryInfo.uavcan rename to dsdl/uavcan/protocol/file/216.GetDirectoryEntryInfo.uavcan diff --git a/dsdl/uavcan/protocol/file/587.Delete.uavcan b/dsdl/uavcan/protocol/file/217.Delete.uavcan similarity index 100% rename from dsdl/uavcan/protocol/file/587.Delete.uavcan rename to dsdl/uavcan/protocol/file/217.Delete.uavcan diff --git a/dsdl/uavcan/protocol/file/588.Read.uavcan b/dsdl/uavcan/protocol/file/218.Read.uavcan similarity index 100% rename from dsdl/uavcan/protocol/file/588.Read.uavcan rename to dsdl/uavcan/protocol/file/218.Read.uavcan diff --git a/dsdl/uavcan/protocol/file/589.Write.uavcan b/dsdl/uavcan/protocol/file/219.Write.uavcan similarity index 100% rename from dsdl/uavcan/protocol/file/589.Write.uavcan rename to dsdl/uavcan/protocol/file/219.Write.uavcan diff --git a/dsdl/uavcan/protocol/param/598.ExecuteOpcode.uavcan b/dsdl/uavcan/protocol/param/230.ExecuteOpcode.uavcan similarity index 100% rename from dsdl/uavcan/protocol/param/598.ExecuteOpcode.uavcan rename to dsdl/uavcan/protocol/param/230.ExecuteOpcode.uavcan diff --git a/dsdl/uavcan/protocol/param/599.GetSet.uavcan b/dsdl/uavcan/protocol/param/231.GetSet.uavcan similarity index 100% rename from dsdl/uavcan/protocol/param/599.GetSet.uavcan rename to dsdl/uavcan/protocol/param/231.GetSet.uavcan diff --git a/dsdl/uavcan/ranges b/dsdl/uavcan/ranges deleted file mode 100644 index 5af05b409f..0000000000 --- a/dsdl/uavcan/ranges +++ /dev/null @@ -1,9 +0,0 @@ -All the unallocated space can be claimed later. - -256..449 - high priority equipment - -550..599 - protocol - -600..749 - low priority eqipment - -767 - MAVLink