Skip to content

Commit b371a87

Browse files
authored
Merge pull request #248 from BluEye-Robotics/feature/add-60fps-framerate
Add 60 fps framerate and digital pan/tilt/zoom for X3 Ultra
2 parents 3beb942 + baf5d52 commit b371a87

3 files changed

Lines changed: 29 additions & 0 deletions

File tree

protobuf_definitions/control.proto

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,3 +231,10 @@ message FormatRemovableStorageDeviceCtrl {
231231
message SetTurbidityFilterCtrl {
232232
FilterMessage turbidity_filter = 1; // Message with the turbidity filter settings to set.
233233
}
234+
235+
// Issue a command to set the digital pan, tilt, and zoom of the main camera.
236+
//
237+
// Only supported on X3 Ultra.
238+
message CameraPanTiltZoomCtrl {
239+
CameraPanTiltZoom camera_pan_tilt_zoom = 1; // The desired pan, tilt, and zoom state.
240+
}

protobuf_definitions/message_formats.proto

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -833,13 +833,18 @@ enum Resolution {
833833
RESOLUTION_HD_720P = 2; // 720p HD (1280x720).
834834
RESOLUTION_FULLHD_1080P = 1; // 1080p Full HD (1920x1080).
835835
RESOLUTION_UHD_4K = 3; // 4K Ultra HD (3840x2160, Only supported on X3 Ultra).
836+
RESOLUTION_QHD_2K = 5; // 2K QHD (2560x1440, Only supported on X3 Ultra).
836837
}
837838

838839
// Available camera frame rates.
840+
//
841+
// If the requested frame rate is higher than what is supported at the current resolution,
842+
// the frame rate will be reduced while the resolution is respected.
839843
enum Framerate {
840844
FRAMERATE_UNSPECIFIED = 0; // Framerate not specified.
841845
FRAMERATE_FPS_30 = 1; // 30 frames per second.
842846
FRAMERATE_FPS_25 = 2; // 25 frames per second. (Only supported on Pioneer/Pro/X1/X3)
847+
FRAMERATE_FPS_60 = 3; // 60 frames per second. (Only supported on X3 Ultra at QHD, 1080p and 720p)
843848
}
844849

845850
// Which camera to control.
@@ -1320,3 +1325,12 @@ message FilterMessage {
13201325
bool enabled = 1; // If the filter is enabled.
13211326
float intensity = 2; // Intensity of the filter (0..1).
13221327
}
1328+
1329+
// Digital pan, tilt, and zoom state for the main camera.
1330+
//
1331+
// Only supported on X3 Ultra. Controls digital (not mechanical) zoom.
1332+
message CameraPanTiltZoom {
1333+
float pan = 1; // Horizontal pan (-1.0..1.0), where 0.0 is center.
1334+
float tilt = 2; // Vertical tilt (-1.0..1.0), where 0.0 is center.
1335+
float zoom = 3; // Zoom level (0.0..1.0), where 0.0 is no zoom and 1.0 is maximum zoom.
1336+
}

protobuf_definitions/telemetry.proto

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,3 +320,11 @@ message LogEntryTel {
320320
message TurbidityFilterTel {
321321
FilterMessage turbidity_filter = 1; // Turbidity filter settings.
322322
}
323+
324+
// Digital pan, tilt, and zoom telemetry from the main camera.
325+
//
326+
// Reports the actual pan, tilt, and zoom state of the camera.
327+
// Only supported on X3 Ultra.
328+
message CameraPanTiltZoomTel {
329+
CameraPanTiltZoom camera_pan_tilt_zoom = 1; // Current pan, tilt, and zoom state.
330+
}

0 commit comments

Comments
 (0)