diff --git a/protobuf_definitions/control.proto b/protobuf_definitions/control.proto index 389ba724..3431dad6 100644 --- a/protobuf_definitions/control.proto +++ b/protobuf_definitions/control.proto @@ -231,3 +231,10 @@ message FormatRemovableStorageDeviceCtrl { message SetTurbidityFilterCtrl { FilterMessage turbidity_filter = 1; // Message with the turbidity filter settings to set. } + +// Issue a command to set the digital pan, tilt, and zoom of the main camera. +// +// Only supported on X3 Ultra. +message CameraPanTiltZoomCtrl { + CameraPanTiltZoom camera_pan_tilt_zoom = 1; // The desired pan, tilt, and zoom state. +} diff --git a/protobuf_definitions/message_formats.proto b/protobuf_definitions/message_formats.proto index c7fe4e3a..32e54e81 100644 --- a/protobuf_definitions/message_formats.proto +++ b/protobuf_definitions/message_formats.proto @@ -833,13 +833,18 @@ enum Resolution { RESOLUTION_HD_720P = 2; // 720p HD (1280x720). RESOLUTION_FULLHD_1080P = 1; // 1080p Full HD (1920x1080). RESOLUTION_UHD_4K = 3; // 4K Ultra HD (3840x2160, Only supported on X3 Ultra). + RESOLUTION_QHD_2K = 5; // 2K QHD (2560x1440, Only supported on X3 Ultra). } // Available camera frame rates. +// +// If the requested frame rate is higher than what is supported at the current resolution, +// the frame rate will be reduced while the resolution is respected. enum Framerate { FRAMERATE_UNSPECIFIED = 0; // Framerate not specified. FRAMERATE_FPS_30 = 1; // 30 frames per second. FRAMERATE_FPS_25 = 2; // 25 frames per second. (Only supported on Pioneer/Pro/X1/X3) + FRAMERATE_FPS_60 = 3; // 60 frames per second. (Only supported on X3 Ultra at QHD, 1080p and 720p) } // Which camera to control. @@ -1320,3 +1325,12 @@ message FilterMessage { bool enabled = 1; // If the filter is enabled. float intensity = 2; // Intensity of the filter (0..1). } + +// Digital pan, tilt, and zoom state for the main camera. +// +// Only supported on X3 Ultra. Controls digital (not mechanical) zoom. +message CameraPanTiltZoom { + float pan = 1; // Horizontal pan (-1.0..1.0), where 0.0 is center. + float tilt = 2; // Vertical tilt (-1.0..1.0), where 0.0 is center. + float zoom = 3; // Zoom level (0.0..1.0), where 0.0 is no zoom and 1.0 is maximum zoom. +} diff --git a/protobuf_definitions/telemetry.proto b/protobuf_definitions/telemetry.proto index 71a74b1f..3617cbf1 100644 --- a/protobuf_definitions/telemetry.proto +++ b/protobuf_definitions/telemetry.proto @@ -320,3 +320,11 @@ message LogEntryTel { message TurbidityFilterTel { FilterMessage turbidity_filter = 1; // Turbidity filter settings. } + +// Digital pan, tilt, and zoom telemetry from the main camera. +// +// Reports the actual pan, tilt, and zoom state of the camera. +// Only supported on X3 Ultra. +message CameraPanTiltZoomTel { + CameraPanTiltZoom camera_pan_tilt_zoom = 1; // Current pan, tilt, and zoom state. +}