diff --git a/protobuf_definitions/control.proto b/protobuf_definitions/control.proto index cede7312..09528486 100644 --- a/protobuf_definitions/control.proto +++ b/protobuf_definitions/control.proto @@ -269,6 +269,15 @@ message SetColorCorrectionCtrl { FilterMessage color_correction_filter = 1; // Message with the color correction settings to set. } +// Message sent when the user wants to set marine snow filter settings. +// Removes bright particles, such as marine snow, from the video. The intensity field sets how faint a particle can be +// and still be removed (0.0 = only the brightest, 1.0 = faint particles as well). Turn it off during laser detection. +// Only supported on X3 Ultra. +message SetMarineSnowFilterCtrl { + FilterMessage marine_snow_filter = 1; // Message with the marine snow filter settings to set. + MarineSnowFilterFrames frames = 2; // Frames to compare with. Leave it unset to keep the current frames. +} + // Issue a command to set the digital pan, tilt, and zoom of the main camera. // // Only supported on X3 Ultra. diff --git a/protobuf_definitions/message_formats.proto b/protobuf_definitions/message_formats.proto index 7d9a7dcd..e19aa318 100644 --- a/protobuf_definitions/message_formats.proto +++ b/protobuf_definitions/message_formats.proto @@ -1908,6 +1908,12 @@ message FilterMessage { float intensity = 2; // Intensity of the filter (0..1). } +// Frames that the marine snow filter compares each frame with. +message MarineSnowFilterFrames { + uint32 past_frames = 1; // Past frames to compare with (1..4). + uint32 future_frames = 2; // Future frames to compare with (0..2). Each one delays the video by 33 to 40 ms. +} + // Digital pan, tilt, and zoom state for the main camera. // // Only supported on X3 Ultra. Controls digital (not mechanical) zoom. diff --git a/protobuf_definitions/telemetry.proto b/protobuf_definitions/telemetry.proto index 9219f987..d51326d7 100644 --- a/protobuf_definitions/telemetry.proto +++ b/protobuf_definitions/telemetry.proto @@ -369,6 +369,14 @@ message ColorCorrectionTel { FilterMessage color_correction_filter = 1; // Color correction settings. } +// Marine snow filter settings telemetry message. +// +// Message is published when the filter settings are changed. +message MarineSnowFilterTel { + FilterMessage marine_snow_filter = 1; // Marine snow filter settings. + MarineSnowFilterFrames frames = 2; // Frames that the filter compares with. +} + // Digital pan, tilt, and zoom telemetry from the main camera. // // Reports the actual pan, tilt, and zoom state of the camera.