@@ -43,6 +43,33 @@ message LogEntry {
4343 string message = 7 ; // Log message.
4444}
4545
46+ message KernelLogEntry {
47+ // Kernel log level.
48+ enum KernelLogLevel {
49+ KERNEL_LOG_LEVEL_UNSPECIFIED = 0 ; // Unspecified log level.
50+ KERNEL_LOG_LEVEL_EMERG = 1 ; // Emergency log level.
51+ KERNEL_LOG_LEVEL_ALERT = 2 ; // Alert log level.
52+ KERNEL_LOG_LEVEL_CRIT = 3 ; // Critical log level.
53+ KERNEL_LOG_LEVEL_ERR = 4 ; // Error log level.
54+ KERNEL_LOG_LEVEL_WARNING = 5 ; // Warning log level.
55+ KERNEL_LOG_LEVEL_NOTICE = 6 ; // Notice log level.
56+ KERNEL_LOG_LEVEL_INFO = 7 ; // Informational log level.
57+ KERNEL_LOG_LEVEL_DEBUG = 8 ; // Debug log level.
58+ }
59+
60+ // Key-value pair used for structured logging.
61+ message KeyValuePair {
62+ string key = 1 ; // Key of the key-value pair.
63+ string value = 2 ; // Value of the key-value pair.
64+ }
65+
66+ KernelLogLevel level = 1 ; // Log level, info, warning, error, etc.
67+ uint32 seqnum = 2 ; // Sequence number of the log entry.
68+ google.protobuf.Timestamp timestamp = 3 ; // Timestamp of the log entry.
69+ repeated string messages = 4 ; // Log messages.
70+ repeated KeyValuePair fields = 5 ; // List of key-value pairs.
71+ }
72+
4673// Motion input from client.
4774//
4875// Used to indicate the desired motion in each direction.
@@ -184,6 +211,7 @@ message RecordState {
184211 bool multibeam_is_recording = 5 ; // If the multibeam is recording.
185212 int32 multibeam_seconds = 6 ; // Multibeam record time (s).
186213 float multibeam_fps = 9 ; // Multibeam record fps.
214+ StorageLocation storage_location = 10 ; // Storage location used for recording.
187215}
188216
189217// Interval type for time-lapse photos.
@@ -592,13 +620,22 @@ message DiveTime {
592620 int32 value = 1 ; // Number of seconds the drone has been submerged.
593621}
594622
595- // Which cameras are supposed to be recording.
623+ // Which cameras or multibeam are supposed to be recording.
596624message RecordOn {
597625 bool main = 1 ; // Record the main camera.
598626 bool guestport = 2 ; // Record external camera.
599627 bool multibeam = 3 ; // Record multibeam.
600628}
601629
630+ // Storage location.
631+ //
632+ // Used to specify which storage location to use for recording photos and videos.
633+ enum StorageLocation {
634+ STORAGE_LOCATION_UNSPECIFIED = 0 ; // Unspecified.
635+ STORAGE_LOCATION_INTERNAL = 1 ; // Internal storage of the drone.
636+ STORAGE_LOCATION_REMOVABLE = 2 ; // Removable storage device.
637+ }
638+
602639// Storage space.
603640message StorageSpace {
604641 int64 total_space = 1 ; // Total bytes of storage space (B).
@@ -787,16 +824,17 @@ message ErrorFlags {
787824// Available camera resolutions.
788825enum Resolution {
789826 RESOLUTION_UNSPECIFIED = 0 ; // Resolution not specified.
790- RESOLUTION_FULLHD_1080P = 1 ; // 1080p Full HD resolution.
791- RESOLUTION_HD_720P = 2 ; // 720p HD resolution.
792- RESOLUTION_UHD_4K = 3 ; // 4K Ultra HD resolution.
827+ RESOLUTION_VGA_480P = 4 ; // VGA (640x480).
828+ RESOLUTION_HD_720P = 2 ; // 720p HD (1280x720).
829+ RESOLUTION_FULLHD_1080P = 1 ; // 1080p Full HD (1920x1080).
830+ RESOLUTION_UHD_4K = 3 ; // 4K Ultra HD (3840x2160, Only supported on X3 Ultra).
793831}
794832
795833// Available camera frame rates.
796834enum Framerate {
797835 FRAMERATE_UNSPECIFIED = 0 ; // Framerate not specified.
798836 FRAMERATE_FPS_30 = 1 ; // 30 frames per second.
799- FRAMERATE_FPS_25 = 2 ; // 25 frames per second.
837+ FRAMERATE_FPS_25 = 2 ; // 25 frames per second. (Only supported on Pioneer/Pro/X1/X3)
800838}
801839
802840// Which camera to control.
@@ -806,20 +844,39 @@ enum Camera {
806844 CAMERA_GUESTPORT = 2 ; // Guest port camera.
807845}
808846
847+ enum StreamingProtocol {
848+ STREAMING_PROTOCOL_UNSPECIFIED = 0 ; // Streaming protocol not specified.
849+ STREAMING_PROTOCOL_RTSP_H264 = 1 ; // RTSP streaming protocol using H264 codec.
850+ STREAMING_PROTOCOL_RTSP_MJPEG = 2 ; // RTSP streaming protocol using MJPEG codec. No recording when activated.
851+ }
852+
809853// Camera parameters.
810854message CameraParameters {
855+ reserved 19 ;
811856 int32 h264_bitrate = 1 ; // Bitrate of the h264 stream (bit/sec).
812857 int32 mjpg_bitrate = 2 ; // Bitrate of the MJPG stream used for still pictures (bit/sec).
813858
814859 int32 exposure = 3 ; // Shutter speed (1/10000 * s), -1 for automatic exposure.
815- int32 white_balance = 4 ; // White balance temperature (2800..9300), -1 for automatic white balance.
816- int32 hue = 5 ; // Hue (-40..40), 0 as default.
817-
818- float gain = 9 ; // Iso gain (0..1).
860+ int32 white_balance = 4 ; // White balance temp (Pioneer/Pro/X1/X3: 2800..9300, Ultra: 2300..15000), -1 for auto.
861+ int32 hue = 5 ; // Hue (-40..40), 0 as default. Only available on Pioneer/Pro/X1/X3.
862+ float gain = 9 ; // Iso gain (0..1). Only available on Pioneer/Pro/X1/X3.
863+
864+ int32 brightness = 12 ; // Brightness (-10..10), 0 as default. Only available on Ultra
865+ int32 contrast = 13 ; // Contrast (-50..50), 0 as default. Only available on Ultra.
866+ int32 saturation = 14 ; // Saturation (0..50), 8 as default. Only available on Ultra.
867+ int32 gamma = 15 ; // Gamma (4..79), 22 as default. Only available on Ultra.
868+ int32 sharpness = 16 ; // Sharpness (-20..20), -20 as default. Only available on Ultra.
869+ int32 backlight_compensation = 17 ; // Backlight compensation (-150..150), 10 as default. Only available on Ultra.
870+ int32 denoise = 18 ; // Noise reduction (-20..20), -20 as default. Only available on Ultra.
871+ bool ehdr_enabled = 21 ; // Enable eHDR mode. Default true. Only available on Ultra.
872+ int32 ehdr_exposure_min_number = 22 ; // Minimum number of eHDR frames. (1..4), default 1. Only available on Ultra.
873+ // Maximum number of eHDR frames. (1..4), default 2. Only on Ultra. Setting larger than 2 can reduce the framerate.
874+ int32 ehdr_exposure_max_number = 23 ;
819875
820876 Resolution resolution = 6 ; // Stream, recording and image resolution (deprecated).
821877 Resolution stream_resolution = 10 ; // Stream resolution.
822878 Resolution recording_resolution = 11 ; // Recording and image resolution.
879+ StreamingProtocol streaming_protocol = 20 ; // Streaming protocol.
823880 Framerate framerate = 7 ; // Stream and recording framerate.
824881 Camera camera = 8 ; // Which camera the parameters belong to.
825882}
@@ -1236,7 +1293,7 @@ message SurfaceUnitBatteryInfo {
12361293 CHARGE_STATUS_CHARGE_ERROR = 3 ;
12371294 }
12381295 ChargeStatus status = 1 ; // Battery charge status.
1239- float level = 2 ; // Battery level (0..1).
1296+ float level = 2 ; // Battery level (0..1).
12401297}
12411298
12421299// Surface Unit version information.
0 commit comments