diff --git a/dsdl/uavcan/equipment/camera_gimbal/390.Command.uavcan b/dsdl/uavcan/equipment/camera_gimbal/390.Command.uavcan new file mode 100644 index 0000000000..36205851ec --- /dev/null +++ b/dsdl/uavcan/equipment/camera_gimbal/390.Command.uavcan @@ -0,0 +1,31 @@ +# +# Generic camera gimbal control. +# + +# +# Target operation mode - how to handle this message. +# +Mode mode + +# +# This field is only used in the following modes: +# - COMMAND_MODE_ANGULAR_VELOCITY +# - COMMAND_MODE_ORIENTATION_FIXED_FRAME +# - COMMAND_MODE_ORIENTATION_BODY_FRAME +# +# In the angular velocity mode, this field contains a rate quaternion. +# In the orientation mode, this field contains orientation either in fixed frame or in body frame. +# +float16[4] quaternion_xyzw + +# +# These fields are only used in the following modes: +# - COMMAND_MODE_GEO_POI +# +int32 longitude_deg_1e7 # 1 LSB = 1e-7 deg +int32 latitude_deg_1e7 +int22 height_cm # 1 LSB = 10 mm + +uint2 HEIGHT_REFERENCE_ELLIPSOID = 0 +uint2 HEIGHT_REFERENCE_MEAN_SEA_LEVEL = 1 +uint2 height_reference diff --git a/dsdl/uavcan/equipment/camera_gimbal/391.Status.uavcan b/dsdl/uavcan/equipment/camera_gimbal/391.Status.uavcan new file mode 100644 index 0000000000..c7535f097f --- /dev/null +++ b/dsdl/uavcan/equipment/camera_gimbal/391.Status.uavcan @@ -0,0 +1,12 @@ +# +# Generic gimbal status. +# + +Mode mode + +# +# Camera axis orientation in body frame (not in fixed frame). +# Please refer to the UAVCAN coordinate frame conventions. +# +float16[4] camera_orientation_in_body_frame_xyzw +float16[<=9] camera_orientation_in_body_frame_covariance # +inf for non-existent axes diff --git a/dsdl/uavcan/equipment/camera_gimbal/Mode.uavcan b/dsdl/uavcan/equipment/camera_gimbal/Mode.uavcan new file mode 100644 index 0000000000..383194cb16 --- /dev/null +++ b/dsdl/uavcan/equipment/camera_gimbal/Mode.uavcan @@ -0,0 +1,9 @@ +# +# Gimbal operating mode +# + +uint4 COMMAND_MODE_ANGULAR_VELOCITY = 0 +uint4 COMMAND_MODE_ORIENTATION_FIXED_FRAME = 1 +uint4 COMMAND_MODE_ORIENTATION_BODY_FRAME = 2 +uint4 COMMAND_MODE_GEO_POI = 3 +uint4 command_mode diff --git a/dsdl/uavcan/equipment/gimbal/390.AngularVelocityCommand.uavcan b/dsdl/uavcan/equipment/gimbal/390.AngularVelocityCommand.uavcan deleted file mode 100644 index 72d48fdb7e..0000000000 --- a/dsdl/uavcan/equipment/gimbal/390.AngularVelocityCommand.uavcan +++ /dev/null @@ -1,5 +0,0 @@ -# -# Generic gimbal control. -# - -float16[3] angular_velocity # rad/s, camera frame diff --git a/dsdl/uavcan/equipment/gimbal/391.GeoPOICommand.uavcan b/dsdl/uavcan/equipment/gimbal/391.GeoPOICommand.uavcan deleted file mode 100644 index 430af81cb4..0000000000 --- a/dsdl/uavcan/equipment/gimbal/391.GeoPOICommand.uavcan +++ /dev/null @@ -1,11 +0,0 @@ -# -# Generic gimbal control. -# - -int32 longitude_deg_1e7 # 1 LSB = 1e-7 deg -int32 latitude_deg_1e7 -int22 height_cm # 1 LSB = 10 mm - -uint2 HEIGHT_REFERENCE_ELLIPSOID = 0 -uint2 HEIGHT_REFERENCE_MEAN_SEA_LEVEL = 1 -uint2 height_reference diff --git a/dsdl/uavcan/equipment/gimbal/392.OrientationCommand.uavcan b/dsdl/uavcan/equipment/gimbal/392.OrientationCommand.uavcan deleted file mode 100644 index 0ad1b9a2db..0000000000 --- a/dsdl/uavcan/equipment/gimbal/392.OrientationCommand.uavcan +++ /dev/null @@ -1,9 +0,0 @@ -# -# Generic gimbal control. -# - -float16[4] orientation_xyzw - -uint2 REFERENCE_FRAME_FIXED = 0 -uint2 REFERENCE_FRAME_BODY = 1 -uint2 reference_frame diff --git a/dsdl/uavcan/equipment/gimbal/393.Status.uavcan b/dsdl/uavcan/equipment/gimbal/393.Status.uavcan deleted file mode 100644 index a0c0dd0bee..0000000000 --- a/dsdl/uavcan/equipment/gimbal/393.Status.uavcan +++ /dev/null @@ -1,15 +0,0 @@ -# -# Generic gimbal status. -# - -uint4 MODE_ANGULAR_VELOCITY = 0 -uint4 MODE_ORIENTATION_FIXED_FRAME = 1 -uint4 MODE_ORIENTATION_BODY_FRAME = 2 -uint4 MODE_GEO_POI = 3 -uint4 mode - -# -# Camera axis orientation in body frame (not in fixed frame). -# -float16[4] body_frame_orientation_xyzw -float16[<=9] body_frame_orientation_covariance # +inf for non-existent axes