diff --git a/MAVSDK_SERVER_VERSION b/MAVSDK_SERVER_VERSION index 8721bbc4..8a965c11 100644 --- a/MAVSDK_SERVER_VERSION +++ b/MAVSDK_SERVER_VERSION @@ -1 +1 @@ -v2.4.0 +v2.6.0 diff --git a/mavsdk/camera.py b/mavsdk/camera.py index 65448c38..2c2949f2 100644 --- a/mavsdk/camera.py +++ b/mavsdk/camera.py @@ -2426,4 +2426,268 @@ async def reset_settings(self): if result.result != CameraResult.Result.SUCCESS: raise CameraError(result, "reset_settings()") + + + async def zoom_in_start(self): + """ + Start zooming in. + + Raises + ------ + CameraError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_pb2.ZoomInStartRequest() + response = await self._stub.ZoomInStart(request) + + + result = self._extract_result(response) + + if result.result != CameraResult.Result.SUCCESS: + raise CameraError(result, "zoom_in_start()") + + + async def zoom_out_start(self): + """ + Start zooming out. + + Raises + ------ + CameraError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_pb2.ZoomOutStartRequest() + response = await self._stub.ZoomOutStart(request) + + + result = self._extract_result(response) + + if result.result != CameraResult.Result.SUCCESS: + raise CameraError(result, "zoom_out_start()") + + + async def zoom_stop(self): + """ + Stop zooming. + + Raises + ------ + CameraError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_pb2.ZoomStopRequest() + response = await self._stub.ZoomStop(request) + + + result = self._extract_result(response) + + if result.result != CameraResult.Result.SUCCESS: + raise CameraError(result, "zoom_stop()") + + + async def zoom_range(self, range): + """ + Zoom to value as proportion of full camera range (percentage between 0.0 and 100.0). + + Parameters + ---------- + range : float + Range must be between 0.0 and 100.0 + + Raises + ------ + CameraError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_pb2.ZoomRangeRequest() + request.range = range + response = await self._stub.ZoomRange(request) + + + result = self._extract_result(response) + + if result.result != CameraResult.Result.SUCCESS: + raise CameraError(result, "zoom_range()", range) + + + async def track_point(self, point_x, point_y, radius): + """ + Track point. + + Parameters + ---------- + point_x : float + Point in X axis (0..1, 0 is left, 1 is right) + + point_y : float + Point in Y axis (0..1, 0 is top, 1 is bottom) + + radius : float + Radius (0 is one pixel, 1 is full image width) + + Raises + ------ + CameraError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_pb2.TrackPointRequest() + request.point_x = point_x + request.point_y = point_y + request.radius = radius + response = await self._stub.TrackPoint(request) + + + result = self._extract_result(response) + + if result.result != CameraResult.Result.SUCCESS: + raise CameraError(result, "track_point()", point_x, point_y, radius) + + + async def track_rectangle(self, top_left_x, top_left_y, bottom_right_x, bottom_right_y): + """ + Track rectangle. + + Parameters + ---------- + top_left_x : float + Top left corner of rectangle x value (normalized 0..1, 0 is left, 1 is right) + + top_left_y : float + Top left corner of rectangle y value (normalized 0..1, 0 is top, 1 is bottom) + + bottom_right_x : float + Bottom right corner of rectangle x value (normalized 0..1, 0 is left, 1 is right) + + bottom_right_y : float + Bottom right corner of rectangle y value (normalized 0..1, 0 is top, 1 is bottom) + + Raises + ------ + CameraError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_pb2.TrackRectangleRequest() + request.top_left_x = top_left_x + request.top_left_y = top_left_y + request.bottom_right_x = bottom_right_x + request.bottom_right_y = bottom_right_y + response = await self._stub.TrackRectangle(request) + + + result = self._extract_result(response) + + if result.result != CameraResult.Result.SUCCESS: + raise CameraError(result, "track_rectangle()", top_left_x, top_left_y, bottom_right_x, bottom_right_y) + + + async def track_stop(self): + """ + Stop tracking. + + Raises + ------ + CameraError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_pb2.TrackStopRequest() + response = await self._stub.TrackStop(request) + + + result = self._extract_result(response) + + if result.result != CameraResult.Result.SUCCESS: + raise CameraError(result, "track_stop()") + + + async def focus_in_start(self): + """ + Start focusing in. + + Raises + ------ + CameraError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_pb2.FocusInStartRequest() + response = await self._stub.FocusInStart(request) + + + result = self._extract_result(response) + + if result.result != CameraResult.Result.SUCCESS: + raise CameraError(result, "focus_in_start()") + + + async def focus_out_start(self): + """ + Start focusing out. + + Raises + ------ + CameraError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_pb2.FocusOutStartRequest() + response = await self._stub.FocusOutStart(request) + + + result = self._extract_result(response) + + if result.result != CameraResult.Result.SUCCESS: + raise CameraError(result, "focus_out_start()") + + + async def focus_stop(self): + """ + Stop focus. + + Raises + ------ + CameraError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_pb2.FocusStopRequest() + response = await self._stub.FocusStop(request) + + + result = self._extract_result(response) + + if result.result != CameraResult.Result.SUCCESS: + raise CameraError(result, "focus_stop()") + + + async def focus_range(self, range): + """ + Focus with range value of full range (value between 0.0 and 100.0). + + Parameters + ---------- + range : float + Range must be between 0.0 - 100.0 + + Raises + ------ + CameraError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_pb2.FocusRangeRequest() + request.range = range + response = await self._stub.FocusRange(request) + + + result = self._extract_result(response) + + if result.result != CameraResult.Result.SUCCESS: + raise CameraError(result, "focus_range()", range) \ No newline at end of file diff --git a/mavsdk/camera_pb2.py b/mavsdk/camera_pb2.py index 872f3934..b2f20d5e 100644 --- a/mavsdk/camera_pb2.py +++ b/mavsdk/camera_pb2.py @@ -16,7 +16,7 @@ from . import mavsdk_options_pb2 as mavsdk__options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13\x63\x61mera/camera.proto\x12\x11mavsdk.rpc.camera\x1a\x14mavsdk_options.proto\"\x10\n\x0ePrepareRequest\"I\n\x0fPrepareResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x12\n\x10TakePhotoRequest\"K\n\x11TakePhotoResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"/\n\x19StartPhotoIntervalRequest\x12\x12\n\ninterval_s\x18\x01 \x01(\x02\"T\n\x1aStartPhotoIntervalResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x1a\n\x18StopPhotoIntervalRequest\"S\n\x19StopPhotoIntervalResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x13\n\x11StartVideoRequest\"L\n\x12StartVideoResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x12\n\x10StopVideoRequest\"K\n\x11StopVideoResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"/\n\x1aStartVideoStreamingRequest\x12\x11\n\tstream_id\x18\x01 \x01(\x05\"U\n\x1bStartVideoStreamingResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\".\n\x19StopVideoStreamingRequest\x12\x11\n\tstream_id\x18\x01 \x01(\x05\"T\n\x1aStopVideoStreamingResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"7\n\x0eSetModeRequest\x12%\n\x04mode\x18\x01 \x01(\x0e\x32\x17.mavsdk.rpc.camera.Mode\"I\n\x0fSetModeResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"I\n\x11ListPhotosRequest\x12\x34\n\x0cphotos_range\x18\x01 \x01(\x0e\x32\x1e.mavsdk.rpc.camera.PhotosRange\"\x83\x01\n\x12ListPhotosResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\x12\x35\n\rcapture_infos\x18\x02 \x03(\x0b\x32\x1e.mavsdk.rpc.camera.CaptureInfo\"\x1d\n\x1bSubscribeInformationRequest\"J\n\x13InformationResponse\x12\x33\n\x0binformation\x18\x01 \x01(\x0b\x32\x1e.mavsdk.rpc.camera.Information\"\x16\n\x14SubscribeModeRequest\"5\n\x0cModeResponse\x12%\n\x04mode\x18\x01 \x01(\x0e\x32\x17.mavsdk.rpc.camera.Mode\"!\n\x1fSubscribeVideoStreamInfoRequest\"X\n\x17VideoStreamInfoResponse\x12=\n\x11video_stream_info\x18\x01 \x01(\x0b\x32\".mavsdk.rpc.camera.VideoStreamInfo\"\x1d\n\x1bSubscribeCaptureInfoRequest\"K\n\x13\x43\x61ptureInfoResponse\x12\x34\n\x0c\x63\x61pture_info\x18\x01 \x01(\x0b\x32\x1e.mavsdk.rpc.camera.CaptureInfo\"\x18\n\x16SubscribeStatusRequest\"B\n\x0eStatusResponse\x12\x30\n\rcamera_status\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.camera.Status\"!\n\x1fSubscribeCurrentSettingsRequest\"O\n\x17\x43urrentSettingsResponse\x12\x34\n\x10\x63urrent_settings\x18\x01 \x03(\x0b\x32\x1a.mavsdk.rpc.camera.Setting\"(\n&SubscribePossibleSettingOptionsRequest\"\\\n\x1ePossibleSettingOptionsResponse\x12:\n\x0fsetting_options\x18\x01 \x03(\x0b\x32!.mavsdk.rpc.camera.SettingOptions\"@\n\x11SetSettingRequest\x12+\n\x07setting\x18\x01 \x01(\x0b\x32\x1a.mavsdk.rpc.camera.Setting\"L\n\x12SetSettingResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"@\n\x11GetSettingRequest\x12+\n\x07setting\x18\x01 \x01(\x0b\x32\x1a.mavsdk.rpc.camera.Setting\"y\n\x12GetSettingResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\x12+\n\x07setting\x18\x02 \x01(\x0b\x32\x1a.mavsdk.rpc.camera.Setting\"*\n\x14\x46ormatStorageRequest\x12\x12\n\nstorage_id\x18\x01 \x01(\x05\"O\n\x15\x46ormatStorageResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"N\n\x14SelectCameraResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"(\n\x13SelectCameraRequest\x12\x11\n\tcamera_id\x18\x01 \x01(\x05\"\x16\n\x14ResetSettingsRequest\"O\n\x15ResetSettingsResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\xc1\x02\n\x0c\x43\x61meraResult\x12\x36\n\x06result\x18\x01 \x01(\x0e\x32&.mavsdk.rpc.camera.CameraResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xe4\x01\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x16\n\x12RESULT_IN_PROGRESS\x10\x02\x12\x0f\n\x0bRESULT_BUSY\x10\x03\x12\x11\n\rRESULT_DENIED\x10\x04\x12\x10\n\x0cRESULT_ERROR\x10\x05\x12\x12\n\x0eRESULT_TIMEOUT\x10\x06\x12\x19\n\x15RESULT_WRONG_ARGUMENT\x10\x07\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x08\x12\x1f\n\x1bRESULT_PROTOCOL_UNSUPPORTED\x10\t\"q\n\x08Position\x12\x14\n\x0clatitude_deg\x18\x01 \x01(\x01\x12\x15\n\rlongitude_deg\x18\x02 \x01(\x01\x12\x1b\n\x13\x61\x62solute_altitude_m\x18\x03 \x01(\x02\x12\x1b\n\x13relative_altitude_m\x18\x04 \x01(\x02\"8\n\nQuaternion\x12\t\n\x01w\x18\x01 \x01(\x02\x12\t\n\x01x\x18\x02 \x01(\x02\x12\t\n\x01y\x18\x03 \x01(\x02\x12\t\n\x01z\x18\x04 \x01(\x02\"B\n\nEulerAngle\x12\x10\n\x08roll_deg\x18\x01 \x01(\x02\x12\x11\n\tpitch_deg\x18\x02 \x01(\x02\x12\x0f\n\x07yaw_deg\x18\x03 \x01(\x02\"\xff\x01\n\x0b\x43\x61ptureInfo\x12-\n\x08position\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.camera.Position\x12:\n\x13\x61ttitude_quaternion\x18\x02 \x01(\x0b\x32\x1d.mavsdk.rpc.camera.Quaternion\x12;\n\x14\x61ttitude_euler_angle\x18\x03 \x01(\x0b\x32\x1d.mavsdk.rpc.camera.EulerAngle\x12\x13\n\x0btime_utc_us\x18\x04 \x01(\x04\x12\x12\n\nis_success\x18\x05 \x01(\x08\x12\r\n\x05index\x18\x06 \x01(\x05\x12\x10\n\x08\x66ile_url\x18\x07 \x01(\t\"\xc5\x01\n\x13VideoStreamSettings\x12\x15\n\rframe_rate_hz\x18\x01 \x01(\x02\x12!\n\x19horizontal_resolution_pix\x18\x02 \x01(\r\x12\x1f\n\x17vertical_resolution_pix\x18\x03 \x01(\r\x12\x14\n\x0c\x62it_rate_b_s\x18\x04 \x01(\r\x12\x14\n\x0crotation_deg\x18\x05 \x01(\r\x12\x0b\n\x03uri\x18\x06 \x01(\t\x12\x1a\n\x12horizontal_fov_deg\x18\x07 \x01(\x02\"\xc2\x03\n\x0fVideoStreamInfo\x12\x38\n\x08settings\x18\x01 \x01(\x0b\x32&.mavsdk.rpc.camera.VideoStreamSettings\x12\x44\n\x06status\x18\x02 \x01(\x0e\x32\x34.mavsdk.rpc.camera.VideoStreamInfo.VideoStreamStatus\x12H\n\x08spectrum\x18\x03 \x01(\x0e\x32\x36.mavsdk.rpc.camera.VideoStreamInfo.VideoStreamSpectrum\"]\n\x11VideoStreamStatus\x12#\n\x1fVIDEO_STREAM_STATUS_NOT_RUNNING\x10\x00\x12#\n\x1fVIDEO_STREAM_STATUS_IN_PROGRESS\x10\x01\"\x85\x01\n\x13VideoStreamSpectrum\x12!\n\x1dVIDEO_STREAM_SPECTRUM_UNKNOWN\x10\x00\x12\'\n#VIDEO_STREAM_SPECTRUM_VISIBLE_LIGHT\x10\x01\x12\"\n\x1eVIDEO_STREAM_SPECTRUM_INFRARED\x10\x02\"\x87\x05\n\x06Status\x12\x10\n\x08video_on\x18\x01 \x01(\x08\x12\x19\n\x11photo_interval_on\x18\x02 \x01(\x08\x12\x18\n\x10used_storage_mib\x18\x03 \x01(\x02\x12\x1d\n\x15\x61vailable_storage_mib\x18\x04 \x01(\x02\x12\x19\n\x11total_storage_mib\x18\x05 \x01(\x02\x12\x18\n\x10recording_time_s\x18\x06 \x01(\x02\x12\x19\n\x11media_folder_name\x18\x07 \x01(\t\x12?\n\x0estorage_status\x18\x08 \x01(\x0e\x32\'.mavsdk.rpc.camera.Status.StorageStatus\x12\x12\n\nstorage_id\x18\t \x01(\r\x12;\n\x0cstorage_type\x18\n \x01(\x0e\x32%.mavsdk.rpc.camera.Status.StorageType\"\x91\x01\n\rStorageStatus\x12 \n\x1cSTORAGE_STATUS_NOT_AVAILABLE\x10\x00\x12\x1e\n\x1aSTORAGE_STATUS_UNFORMATTED\x10\x01\x12\x1c\n\x18STORAGE_STATUS_FORMATTED\x10\x02\x12 \n\x1cSTORAGE_STATUS_NOT_SUPPORTED\x10\x03\"\xa0\x01\n\x0bStorageType\x12\x18\n\x14STORAGE_TYPE_UNKNOWN\x10\x00\x12\x1a\n\x16STORAGE_TYPE_USB_STICK\x10\x01\x12\x13\n\x0fSTORAGE_TYPE_SD\x10\x02\x12\x18\n\x14STORAGE_TYPE_MICROSD\x10\x03\x12\x13\n\x0fSTORAGE_TYPE_HD\x10\x07\x12\x17\n\x12STORAGE_TYPE_OTHER\x10\xfe\x01\"7\n\x06Option\x12\x11\n\toption_id\x18\x01 \x01(\t\x12\x1a\n\x12option_description\x18\x02 \x01(\t\"w\n\x07Setting\x12\x12\n\nsetting_id\x18\x01 \x01(\t\x12\x1b\n\x13setting_description\x18\x02 \x01(\t\x12)\n\x06option\x18\x03 \x01(\x0b\x32\x19.mavsdk.rpc.camera.Option\x12\x10\n\x08is_range\x18\x04 \x01(\x08\"\x7f\n\x0eSettingOptions\x12\x12\n\nsetting_id\x18\x01 \x01(\t\x12\x1b\n\x13setting_description\x18\x02 \x01(\t\x12*\n\x07options\x18\x03 \x03(\x0b\x32\x19.mavsdk.rpc.camera.Option\x12\x10\n\x08is_range\x18\x04 \x01(\x08\"\xd5\x01\n\x0bInformation\x12\x13\n\x0bvendor_name\x18\x01 \x01(\t\x12\x12\n\nmodel_name\x18\x02 \x01(\t\x12\x17\n\x0f\x66ocal_length_mm\x18\x03 \x01(\x02\x12!\n\x19horizontal_sensor_size_mm\x18\x04 \x01(\x02\x12\x1f\n\x17vertical_sensor_size_mm\x18\x05 \x01(\x02\x12 \n\x18horizontal_resolution_px\x18\x06 \x01(\r\x12\x1e\n\x16vertical_resolution_px\x18\x07 \x01(\r*8\n\x04Mode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0e\n\nMODE_PHOTO\x10\x01\x12\x0e\n\nMODE_VIDEO\x10\x02*F\n\x0bPhotosRange\x12\x14\n\x10PHOTOS_RANGE_ALL\x10\x00\x12!\n\x1dPHOTOS_RANGE_SINCE_CONNECTION\x10\x01\x32\xb9\x12\n\rCameraService\x12R\n\x07Prepare\x12!.mavsdk.rpc.camera.PrepareRequest\x1a\".mavsdk.rpc.camera.PrepareResponse\"\x00\x12X\n\tTakePhoto\x12#.mavsdk.rpc.camera.TakePhotoRequest\x1a$.mavsdk.rpc.camera.TakePhotoResponse\"\x00\x12s\n\x12StartPhotoInterval\x12,.mavsdk.rpc.camera.StartPhotoIntervalRequest\x1a-.mavsdk.rpc.camera.StartPhotoIntervalResponse\"\x00\x12p\n\x11StopPhotoInterval\x12+.mavsdk.rpc.camera.StopPhotoIntervalRequest\x1a,.mavsdk.rpc.camera.StopPhotoIntervalResponse\"\x00\x12[\n\nStartVideo\x12$.mavsdk.rpc.camera.StartVideoRequest\x1a%.mavsdk.rpc.camera.StartVideoResponse\"\x00\x12X\n\tStopVideo\x12#.mavsdk.rpc.camera.StopVideoRequest\x1a$.mavsdk.rpc.camera.StopVideoResponse\"\x00\x12z\n\x13StartVideoStreaming\x12-.mavsdk.rpc.camera.StartVideoStreamingRequest\x1a..mavsdk.rpc.camera.StartVideoStreamingResponse\"\x04\x80\xb5\x18\x01\x12w\n\x12StopVideoStreaming\x12,.mavsdk.rpc.camera.StopVideoStreamingRequest\x1a-.mavsdk.rpc.camera.StopVideoStreamingResponse\"\x04\x80\xb5\x18\x01\x12R\n\x07SetMode\x12!.mavsdk.rpc.camera.SetModeRequest\x1a\".mavsdk.rpc.camera.SetModeResponse\"\x00\x12[\n\nListPhotos\x12$.mavsdk.rpc.camera.ListPhotosRequest\x1a%.mavsdk.rpc.camera.ListPhotosResponse\"\x00\x12]\n\rSubscribeMode\x12\'.mavsdk.rpc.camera.SubscribeModeRequest\x1a\x1f.mavsdk.rpc.camera.ModeResponse\"\x00\x30\x01\x12r\n\x14SubscribeInformation\x12..mavsdk.rpc.camera.SubscribeInformationRequest\x1a&.mavsdk.rpc.camera.InformationResponse\"\x00\x30\x01\x12~\n\x18SubscribeVideoStreamInfo\x12\x32.mavsdk.rpc.camera.SubscribeVideoStreamInfoRequest\x1a*.mavsdk.rpc.camera.VideoStreamInfoResponse\"\x00\x30\x01\x12v\n\x14SubscribeCaptureInfo\x12..mavsdk.rpc.camera.SubscribeCaptureInfoRequest\x1a&.mavsdk.rpc.camera.CaptureInfoResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x63\n\x0fSubscribeStatus\x12).mavsdk.rpc.camera.SubscribeStatusRequest\x1a!.mavsdk.rpc.camera.StatusResponse\"\x00\x30\x01\x12\x82\x01\n\x18SubscribeCurrentSettings\x12\x32.mavsdk.rpc.camera.SubscribeCurrentSettingsRequest\x1a*.mavsdk.rpc.camera.CurrentSettingsResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x93\x01\n\x1fSubscribePossibleSettingOptions\x12\x39.mavsdk.rpc.camera.SubscribePossibleSettingOptionsRequest\x1a\x31.mavsdk.rpc.camera.PossibleSettingOptionsResponse\"\x00\x30\x01\x12[\n\nSetSetting\x12$.mavsdk.rpc.camera.SetSettingRequest\x1a%.mavsdk.rpc.camera.SetSettingResponse\"\x00\x12[\n\nGetSetting\x12$.mavsdk.rpc.camera.GetSettingRequest\x1a%.mavsdk.rpc.camera.GetSettingResponse\"\x00\x12\x64\n\rFormatStorage\x12\'.mavsdk.rpc.camera.FormatStorageRequest\x1a(.mavsdk.rpc.camera.FormatStorageResponse\"\x00\x12\x65\n\x0cSelectCamera\x12&.mavsdk.rpc.camera.SelectCameraRequest\x1a\'.mavsdk.rpc.camera.SelectCameraResponse\"\x04\x80\xb5\x18\x01\x12\x64\n\rResetSettings\x12\'.mavsdk.rpc.camera.ResetSettingsRequest\x1a(.mavsdk.rpc.camera.ResetSettingsResponse\"\x00\x42\x1f\n\x10io.mavsdk.cameraB\x0b\x43\x61meraProtob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13\x63\x61mera/camera.proto\x12\x11mavsdk.rpc.camera\x1a\x14mavsdk_options.proto\"\x10\n\x0ePrepareRequest\"I\n\x0fPrepareResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x12\n\x10TakePhotoRequest\"K\n\x11TakePhotoResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"/\n\x19StartPhotoIntervalRequest\x12\x12\n\ninterval_s\x18\x01 \x01(\x02\"T\n\x1aStartPhotoIntervalResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x1a\n\x18StopPhotoIntervalRequest\"S\n\x19StopPhotoIntervalResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x13\n\x11StartVideoRequest\"L\n\x12StartVideoResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x12\n\x10StopVideoRequest\"K\n\x11StopVideoResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"/\n\x1aStartVideoStreamingRequest\x12\x11\n\tstream_id\x18\x01 \x01(\x05\"U\n\x1bStartVideoStreamingResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\".\n\x19StopVideoStreamingRequest\x12\x11\n\tstream_id\x18\x01 \x01(\x05\"T\n\x1aStopVideoStreamingResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"7\n\x0eSetModeRequest\x12%\n\x04mode\x18\x01 \x01(\x0e\x32\x17.mavsdk.rpc.camera.Mode\"I\n\x0fSetModeResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"I\n\x11ListPhotosRequest\x12\x34\n\x0cphotos_range\x18\x01 \x01(\x0e\x32\x1e.mavsdk.rpc.camera.PhotosRange\"\x83\x01\n\x12ListPhotosResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\x12\x35\n\rcapture_infos\x18\x02 \x03(\x0b\x32\x1e.mavsdk.rpc.camera.CaptureInfo\"\x1d\n\x1bSubscribeInformationRequest\"J\n\x13InformationResponse\x12\x33\n\x0binformation\x18\x01 \x01(\x0b\x32\x1e.mavsdk.rpc.camera.Information\"\x16\n\x14SubscribeModeRequest\"5\n\x0cModeResponse\x12%\n\x04mode\x18\x01 \x01(\x0e\x32\x17.mavsdk.rpc.camera.Mode\"!\n\x1fSubscribeVideoStreamInfoRequest\"X\n\x17VideoStreamInfoResponse\x12=\n\x11video_stream_info\x18\x01 \x01(\x0b\x32\".mavsdk.rpc.camera.VideoStreamInfo\"\x1d\n\x1bSubscribeCaptureInfoRequest\"K\n\x13\x43\x61ptureInfoResponse\x12\x34\n\x0c\x63\x61pture_info\x18\x01 \x01(\x0b\x32\x1e.mavsdk.rpc.camera.CaptureInfo\"\x18\n\x16SubscribeStatusRequest\"B\n\x0eStatusResponse\x12\x30\n\rcamera_status\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.camera.Status\"!\n\x1fSubscribeCurrentSettingsRequest\"O\n\x17\x43urrentSettingsResponse\x12\x34\n\x10\x63urrent_settings\x18\x01 \x03(\x0b\x32\x1a.mavsdk.rpc.camera.Setting\"(\n&SubscribePossibleSettingOptionsRequest\"\\\n\x1ePossibleSettingOptionsResponse\x12:\n\x0fsetting_options\x18\x01 \x03(\x0b\x32!.mavsdk.rpc.camera.SettingOptions\"@\n\x11SetSettingRequest\x12+\n\x07setting\x18\x01 \x01(\x0b\x32\x1a.mavsdk.rpc.camera.Setting\"L\n\x12SetSettingResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"@\n\x11GetSettingRequest\x12+\n\x07setting\x18\x01 \x01(\x0b\x32\x1a.mavsdk.rpc.camera.Setting\"y\n\x12GetSettingResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\x12+\n\x07setting\x18\x02 \x01(\x0b\x32\x1a.mavsdk.rpc.camera.Setting\"*\n\x14\x46ormatStorageRequest\x12\x12\n\nstorage_id\x18\x01 \x01(\x05\"O\n\x15\x46ormatStorageResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"N\n\x14SelectCameraResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"(\n\x13SelectCameraRequest\x12\x11\n\tcamera_id\x18\x01 \x01(\x05\"\x16\n\x14ResetSettingsRequest\"O\n\x15ResetSettingsResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x14\n\x12ZoomInStartRequest\"M\n\x13ZoomInStartResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x15\n\x13ZoomOutStartRequest\"N\n\x14ZoomOutStartResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x11\n\x0fZoomStopRequest\"J\n\x10ZoomStopResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"!\n\x10ZoomRangeRequest\x12\r\n\x05range\x18\x01 \x01(\x02\"K\n\x11ZoomRangeResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"E\n\x11TrackPointRequest\x12\x0f\n\x07point_x\x18\x01 \x01(\x02\x12\x0f\n\x07point_y\x18\x02 \x01(\x02\x12\x0e\n\x06radius\x18\x03 \x01(\x02\"L\n\x12TrackPointResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"o\n\x15TrackRectangleRequest\x12\x12\n\ntop_left_x\x18\x01 \x01(\x02\x12\x12\n\ntop_left_y\x18\x02 \x01(\x02\x12\x16\n\x0e\x62ottom_right_x\x18\x03 \x01(\x02\x12\x16\n\x0e\x62ottom_right_y\x18\x04 \x01(\x02\"P\n\x16TrackRectangleResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x12\n\x10TrackStopRequest\"K\n\x11TrackStopResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x15\n\x13\x46ocusInStartRequest\"N\n\x14\x46ocusInStartResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x16\n\x14\x46ocusOutStartRequest\"O\n\x15\x46ocusOutStartResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x12\n\x10\x46ocusStopRequest\"K\n\x11\x46ocusStopResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\"\n\x11\x46ocusRangeRequest\x12\r\n\x05range\x18\x01 \x01(\x02\"L\n\x12\x46ocusRangeResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\xc1\x02\n\x0c\x43\x61meraResult\x12\x36\n\x06result\x18\x01 \x01(\x0e\x32&.mavsdk.rpc.camera.CameraResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xe4\x01\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x16\n\x12RESULT_IN_PROGRESS\x10\x02\x12\x0f\n\x0bRESULT_BUSY\x10\x03\x12\x11\n\rRESULT_DENIED\x10\x04\x12\x10\n\x0cRESULT_ERROR\x10\x05\x12\x12\n\x0eRESULT_TIMEOUT\x10\x06\x12\x19\n\x15RESULT_WRONG_ARGUMENT\x10\x07\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x08\x12\x1f\n\x1bRESULT_PROTOCOL_UNSUPPORTED\x10\t\"q\n\x08Position\x12\x14\n\x0clatitude_deg\x18\x01 \x01(\x01\x12\x15\n\rlongitude_deg\x18\x02 \x01(\x01\x12\x1b\n\x13\x61\x62solute_altitude_m\x18\x03 \x01(\x02\x12\x1b\n\x13relative_altitude_m\x18\x04 \x01(\x02\"8\n\nQuaternion\x12\t\n\x01w\x18\x01 \x01(\x02\x12\t\n\x01x\x18\x02 \x01(\x02\x12\t\n\x01y\x18\x03 \x01(\x02\x12\t\n\x01z\x18\x04 \x01(\x02\"B\n\nEulerAngle\x12\x10\n\x08roll_deg\x18\x01 \x01(\x02\x12\x11\n\tpitch_deg\x18\x02 \x01(\x02\x12\x0f\n\x07yaw_deg\x18\x03 \x01(\x02\"\xff\x01\n\x0b\x43\x61ptureInfo\x12-\n\x08position\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.camera.Position\x12:\n\x13\x61ttitude_quaternion\x18\x02 \x01(\x0b\x32\x1d.mavsdk.rpc.camera.Quaternion\x12;\n\x14\x61ttitude_euler_angle\x18\x03 \x01(\x0b\x32\x1d.mavsdk.rpc.camera.EulerAngle\x12\x13\n\x0btime_utc_us\x18\x04 \x01(\x04\x12\x12\n\nis_success\x18\x05 \x01(\x08\x12\r\n\x05index\x18\x06 \x01(\x05\x12\x10\n\x08\x66ile_url\x18\x07 \x01(\t\"\xc5\x01\n\x13VideoStreamSettings\x12\x15\n\rframe_rate_hz\x18\x01 \x01(\x02\x12!\n\x19horizontal_resolution_pix\x18\x02 \x01(\r\x12\x1f\n\x17vertical_resolution_pix\x18\x03 \x01(\r\x12\x14\n\x0c\x62it_rate_b_s\x18\x04 \x01(\r\x12\x14\n\x0crotation_deg\x18\x05 \x01(\r\x12\x0b\n\x03uri\x18\x06 \x01(\t\x12\x1a\n\x12horizontal_fov_deg\x18\x07 \x01(\x02\"\xc2\x03\n\x0fVideoStreamInfo\x12\x38\n\x08settings\x18\x01 \x01(\x0b\x32&.mavsdk.rpc.camera.VideoStreamSettings\x12\x44\n\x06status\x18\x02 \x01(\x0e\x32\x34.mavsdk.rpc.camera.VideoStreamInfo.VideoStreamStatus\x12H\n\x08spectrum\x18\x03 \x01(\x0e\x32\x36.mavsdk.rpc.camera.VideoStreamInfo.VideoStreamSpectrum\"]\n\x11VideoStreamStatus\x12#\n\x1fVIDEO_STREAM_STATUS_NOT_RUNNING\x10\x00\x12#\n\x1fVIDEO_STREAM_STATUS_IN_PROGRESS\x10\x01\"\x85\x01\n\x13VideoStreamSpectrum\x12!\n\x1dVIDEO_STREAM_SPECTRUM_UNKNOWN\x10\x00\x12\'\n#VIDEO_STREAM_SPECTRUM_VISIBLE_LIGHT\x10\x01\x12\"\n\x1eVIDEO_STREAM_SPECTRUM_INFRARED\x10\x02\"\x87\x05\n\x06Status\x12\x10\n\x08video_on\x18\x01 \x01(\x08\x12\x19\n\x11photo_interval_on\x18\x02 \x01(\x08\x12\x18\n\x10used_storage_mib\x18\x03 \x01(\x02\x12\x1d\n\x15\x61vailable_storage_mib\x18\x04 \x01(\x02\x12\x19\n\x11total_storage_mib\x18\x05 \x01(\x02\x12\x18\n\x10recording_time_s\x18\x06 \x01(\x02\x12\x19\n\x11media_folder_name\x18\x07 \x01(\t\x12?\n\x0estorage_status\x18\x08 \x01(\x0e\x32\'.mavsdk.rpc.camera.Status.StorageStatus\x12\x12\n\nstorage_id\x18\t \x01(\r\x12;\n\x0cstorage_type\x18\n \x01(\x0e\x32%.mavsdk.rpc.camera.Status.StorageType\"\x91\x01\n\rStorageStatus\x12 \n\x1cSTORAGE_STATUS_NOT_AVAILABLE\x10\x00\x12\x1e\n\x1aSTORAGE_STATUS_UNFORMATTED\x10\x01\x12\x1c\n\x18STORAGE_STATUS_FORMATTED\x10\x02\x12 \n\x1cSTORAGE_STATUS_NOT_SUPPORTED\x10\x03\"\xa0\x01\n\x0bStorageType\x12\x18\n\x14STORAGE_TYPE_UNKNOWN\x10\x00\x12\x1a\n\x16STORAGE_TYPE_USB_STICK\x10\x01\x12\x13\n\x0fSTORAGE_TYPE_SD\x10\x02\x12\x18\n\x14STORAGE_TYPE_MICROSD\x10\x03\x12\x13\n\x0fSTORAGE_TYPE_HD\x10\x07\x12\x17\n\x12STORAGE_TYPE_OTHER\x10\xfe\x01\"7\n\x06Option\x12\x11\n\toption_id\x18\x01 \x01(\t\x12\x1a\n\x12option_description\x18\x02 \x01(\t\"w\n\x07Setting\x12\x12\n\nsetting_id\x18\x01 \x01(\t\x12\x1b\n\x13setting_description\x18\x02 \x01(\t\x12)\n\x06option\x18\x03 \x01(\x0b\x32\x19.mavsdk.rpc.camera.Option\x12\x10\n\x08is_range\x18\x04 \x01(\x08\"\x7f\n\x0eSettingOptions\x12\x12\n\nsetting_id\x18\x01 \x01(\t\x12\x1b\n\x13setting_description\x18\x02 \x01(\t\x12*\n\x07options\x18\x03 \x03(\x0b\x32\x19.mavsdk.rpc.camera.Option\x12\x10\n\x08is_range\x18\x04 \x01(\x08\"\xd5\x01\n\x0bInformation\x12\x13\n\x0bvendor_name\x18\x01 \x01(\t\x12\x12\n\nmodel_name\x18\x02 \x01(\t\x12\x17\n\x0f\x66ocal_length_mm\x18\x03 \x01(\x02\x12!\n\x19horizontal_sensor_size_mm\x18\x04 \x01(\x02\x12\x1f\n\x17vertical_sensor_size_mm\x18\x05 \x01(\x02\x12 \n\x18horizontal_resolution_px\x18\x06 \x01(\r\x12\x1e\n\x16vertical_resolution_px\x18\x07 \x01(\r*8\n\x04Mode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0e\n\nMODE_PHOTO\x10\x01\x12\x0e\n\nMODE_VIDEO\x10\x02*F\n\x0bPhotosRange\x12\x14\n\x10PHOTOS_RANGE_ALL\x10\x00\x12!\n\x1dPHOTOS_RANGE_SINCE_CONNECTION\x10\x01\x32\xcd\x1a\n\rCameraService\x12R\n\x07Prepare\x12!.mavsdk.rpc.camera.PrepareRequest\x1a\".mavsdk.rpc.camera.PrepareResponse\"\x00\x12X\n\tTakePhoto\x12#.mavsdk.rpc.camera.TakePhotoRequest\x1a$.mavsdk.rpc.camera.TakePhotoResponse\"\x00\x12s\n\x12StartPhotoInterval\x12,.mavsdk.rpc.camera.StartPhotoIntervalRequest\x1a-.mavsdk.rpc.camera.StartPhotoIntervalResponse\"\x00\x12p\n\x11StopPhotoInterval\x12+.mavsdk.rpc.camera.StopPhotoIntervalRequest\x1a,.mavsdk.rpc.camera.StopPhotoIntervalResponse\"\x00\x12[\n\nStartVideo\x12$.mavsdk.rpc.camera.StartVideoRequest\x1a%.mavsdk.rpc.camera.StartVideoResponse\"\x00\x12X\n\tStopVideo\x12#.mavsdk.rpc.camera.StopVideoRequest\x1a$.mavsdk.rpc.camera.StopVideoResponse\"\x00\x12z\n\x13StartVideoStreaming\x12-.mavsdk.rpc.camera.StartVideoStreamingRequest\x1a..mavsdk.rpc.camera.StartVideoStreamingResponse\"\x04\x80\xb5\x18\x01\x12w\n\x12StopVideoStreaming\x12,.mavsdk.rpc.camera.StopVideoStreamingRequest\x1a-.mavsdk.rpc.camera.StopVideoStreamingResponse\"\x04\x80\xb5\x18\x01\x12R\n\x07SetMode\x12!.mavsdk.rpc.camera.SetModeRequest\x1a\".mavsdk.rpc.camera.SetModeResponse\"\x00\x12[\n\nListPhotos\x12$.mavsdk.rpc.camera.ListPhotosRequest\x1a%.mavsdk.rpc.camera.ListPhotosResponse\"\x00\x12]\n\rSubscribeMode\x12\'.mavsdk.rpc.camera.SubscribeModeRequest\x1a\x1f.mavsdk.rpc.camera.ModeResponse\"\x00\x30\x01\x12r\n\x14SubscribeInformation\x12..mavsdk.rpc.camera.SubscribeInformationRequest\x1a&.mavsdk.rpc.camera.InformationResponse\"\x00\x30\x01\x12~\n\x18SubscribeVideoStreamInfo\x12\x32.mavsdk.rpc.camera.SubscribeVideoStreamInfoRequest\x1a*.mavsdk.rpc.camera.VideoStreamInfoResponse\"\x00\x30\x01\x12v\n\x14SubscribeCaptureInfo\x12..mavsdk.rpc.camera.SubscribeCaptureInfoRequest\x1a&.mavsdk.rpc.camera.CaptureInfoResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x63\n\x0fSubscribeStatus\x12).mavsdk.rpc.camera.SubscribeStatusRequest\x1a!.mavsdk.rpc.camera.StatusResponse\"\x00\x30\x01\x12\x82\x01\n\x18SubscribeCurrentSettings\x12\x32.mavsdk.rpc.camera.SubscribeCurrentSettingsRequest\x1a*.mavsdk.rpc.camera.CurrentSettingsResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x93\x01\n\x1fSubscribePossibleSettingOptions\x12\x39.mavsdk.rpc.camera.SubscribePossibleSettingOptionsRequest\x1a\x31.mavsdk.rpc.camera.PossibleSettingOptionsResponse\"\x00\x30\x01\x12[\n\nSetSetting\x12$.mavsdk.rpc.camera.SetSettingRequest\x1a%.mavsdk.rpc.camera.SetSettingResponse\"\x00\x12[\n\nGetSetting\x12$.mavsdk.rpc.camera.GetSettingRequest\x1a%.mavsdk.rpc.camera.GetSettingResponse\"\x00\x12\x64\n\rFormatStorage\x12\'.mavsdk.rpc.camera.FormatStorageRequest\x1a(.mavsdk.rpc.camera.FormatStorageResponse\"\x00\x12\x65\n\x0cSelectCamera\x12&.mavsdk.rpc.camera.SelectCameraRequest\x1a\'.mavsdk.rpc.camera.SelectCameraResponse\"\x04\x80\xb5\x18\x01\x12\x64\n\rResetSettings\x12\'.mavsdk.rpc.camera.ResetSettingsRequest\x1a(.mavsdk.rpc.camera.ResetSettingsResponse\"\x00\x12^\n\x0bZoomInStart\x12%.mavsdk.rpc.camera.ZoomInStartRequest\x1a&.mavsdk.rpc.camera.ZoomInStartResponse\"\x00\x12\x61\n\x0cZoomOutStart\x12&.mavsdk.rpc.camera.ZoomOutStartRequest\x1a\'.mavsdk.rpc.camera.ZoomOutStartResponse\"\x00\x12U\n\x08ZoomStop\x12\".mavsdk.rpc.camera.ZoomStopRequest\x1a#.mavsdk.rpc.camera.ZoomStopResponse\"\x00\x12X\n\tZoomRange\x12#.mavsdk.rpc.camera.ZoomRangeRequest\x1a$.mavsdk.rpc.camera.ZoomRangeResponse\"\x00\x12[\n\nTrackPoint\x12$.mavsdk.rpc.camera.TrackPointRequest\x1a%.mavsdk.rpc.camera.TrackPointResponse\"\x00\x12g\n\x0eTrackRectangle\x12(.mavsdk.rpc.camera.TrackRectangleRequest\x1a).mavsdk.rpc.camera.TrackRectangleResponse\"\x00\x12X\n\tTrackStop\x12#.mavsdk.rpc.camera.TrackStopRequest\x1a$.mavsdk.rpc.camera.TrackStopResponse\"\x00\x12\x61\n\x0c\x46ocusInStart\x12&.mavsdk.rpc.camera.FocusInStartRequest\x1a\'.mavsdk.rpc.camera.FocusInStartResponse\"\x00\x12\x64\n\rFocusOutStart\x12\'.mavsdk.rpc.camera.FocusOutStartRequest\x1a(.mavsdk.rpc.camera.FocusOutStartResponse\"\x00\x12X\n\tFocusStop\x12#.mavsdk.rpc.camera.FocusStopRequest\x1a$.mavsdk.rpc.camera.FocusStopResponse\"\x00\x12[\n\nFocusRange\x12$.mavsdk.rpc.camera.FocusRangeRequest\x1a%.mavsdk.rpc.camera.FocusRangeResponse\"\x00\x42\x1f\n\x10io.mavsdk.cameraB\x0b\x43\x61meraProtob\x06proto3') _MODE = DESCRIPTOR.enum_types_by_name['Mode'] Mode = enum_type_wrapper.EnumTypeWrapper(_MODE) @@ -73,6 +73,28 @@ _SELECTCAMERAREQUEST = DESCRIPTOR.message_types_by_name['SelectCameraRequest'] _RESETSETTINGSREQUEST = DESCRIPTOR.message_types_by_name['ResetSettingsRequest'] _RESETSETTINGSRESPONSE = DESCRIPTOR.message_types_by_name['ResetSettingsResponse'] +_ZOOMINSTARTREQUEST = DESCRIPTOR.message_types_by_name['ZoomInStartRequest'] +_ZOOMINSTARTRESPONSE = DESCRIPTOR.message_types_by_name['ZoomInStartResponse'] +_ZOOMOUTSTARTREQUEST = DESCRIPTOR.message_types_by_name['ZoomOutStartRequest'] +_ZOOMOUTSTARTRESPONSE = DESCRIPTOR.message_types_by_name['ZoomOutStartResponse'] +_ZOOMSTOPREQUEST = DESCRIPTOR.message_types_by_name['ZoomStopRequest'] +_ZOOMSTOPRESPONSE = DESCRIPTOR.message_types_by_name['ZoomStopResponse'] +_ZOOMRANGEREQUEST = DESCRIPTOR.message_types_by_name['ZoomRangeRequest'] +_ZOOMRANGERESPONSE = DESCRIPTOR.message_types_by_name['ZoomRangeResponse'] +_TRACKPOINTREQUEST = DESCRIPTOR.message_types_by_name['TrackPointRequest'] +_TRACKPOINTRESPONSE = DESCRIPTOR.message_types_by_name['TrackPointResponse'] +_TRACKRECTANGLEREQUEST = DESCRIPTOR.message_types_by_name['TrackRectangleRequest'] +_TRACKRECTANGLERESPONSE = DESCRIPTOR.message_types_by_name['TrackRectangleResponse'] +_TRACKSTOPREQUEST = DESCRIPTOR.message_types_by_name['TrackStopRequest'] +_TRACKSTOPRESPONSE = DESCRIPTOR.message_types_by_name['TrackStopResponse'] +_FOCUSINSTARTREQUEST = DESCRIPTOR.message_types_by_name['FocusInStartRequest'] +_FOCUSINSTARTRESPONSE = DESCRIPTOR.message_types_by_name['FocusInStartResponse'] +_FOCUSOUTSTARTREQUEST = DESCRIPTOR.message_types_by_name['FocusOutStartRequest'] +_FOCUSOUTSTARTRESPONSE = DESCRIPTOR.message_types_by_name['FocusOutStartResponse'] +_FOCUSSTOPREQUEST = DESCRIPTOR.message_types_by_name['FocusStopRequest'] +_FOCUSSTOPRESPONSE = DESCRIPTOR.message_types_by_name['FocusStopResponse'] +_FOCUSRANGEREQUEST = DESCRIPTOR.message_types_by_name['FocusRangeRequest'] +_FOCUSRANGERESPONSE = DESCRIPTOR.message_types_by_name['FocusRangeResponse'] _CAMERARESULT = DESCRIPTOR.message_types_by_name['CameraResult'] _POSITION = DESCRIPTOR.message_types_by_name['Position'] _QUATERNION = DESCRIPTOR.message_types_by_name['Quaternion'] @@ -398,6 +420,160 @@ }) _sym_db.RegisterMessage(ResetSettingsResponse) +ZoomInStartRequest = _reflection.GeneratedProtocolMessageType('ZoomInStartRequest', (_message.Message,), { + 'DESCRIPTOR' : _ZOOMINSTARTREQUEST, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.ZoomInStartRequest) + }) +_sym_db.RegisterMessage(ZoomInStartRequest) + +ZoomInStartResponse = _reflection.GeneratedProtocolMessageType('ZoomInStartResponse', (_message.Message,), { + 'DESCRIPTOR' : _ZOOMINSTARTRESPONSE, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.ZoomInStartResponse) + }) +_sym_db.RegisterMessage(ZoomInStartResponse) + +ZoomOutStartRequest = _reflection.GeneratedProtocolMessageType('ZoomOutStartRequest', (_message.Message,), { + 'DESCRIPTOR' : _ZOOMOUTSTARTREQUEST, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.ZoomOutStartRequest) + }) +_sym_db.RegisterMessage(ZoomOutStartRequest) + +ZoomOutStartResponse = _reflection.GeneratedProtocolMessageType('ZoomOutStartResponse', (_message.Message,), { + 'DESCRIPTOR' : _ZOOMOUTSTARTRESPONSE, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.ZoomOutStartResponse) + }) +_sym_db.RegisterMessage(ZoomOutStartResponse) + +ZoomStopRequest = _reflection.GeneratedProtocolMessageType('ZoomStopRequest', (_message.Message,), { + 'DESCRIPTOR' : _ZOOMSTOPREQUEST, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.ZoomStopRequest) + }) +_sym_db.RegisterMessage(ZoomStopRequest) + +ZoomStopResponse = _reflection.GeneratedProtocolMessageType('ZoomStopResponse', (_message.Message,), { + 'DESCRIPTOR' : _ZOOMSTOPRESPONSE, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.ZoomStopResponse) + }) +_sym_db.RegisterMessage(ZoomStopResponse) + +ZoomRangeRequest = _reflection.GeneratedProtocolMessageType('ZoomRangeRequest', (_message.Message,), { + 'DESCRIPTOR' : _ZOOMRANGEREQUEST, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.ZoomRangeRequest) + }) +_sym_db.RegisterMessage(ZoomRangeRequest) + +ZoomRangeResponse = _reflection.GeneratedProtocolMessageType('ZoomRangeResponse', (_message.Message,), { + 'DESCRIPTOR' : _ZOOMRANGERESPONSE, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.ZoomRangeResponse) + }) +_sym_db.RegisterMessage(ZoomRangeResponse) + +TrackPointRequest = _reflection.GeneratedProtocolMessageType('TrackPointRequest', (_message.Message,), { + 'DESCRIPTOR' : _TRACKPOINTREQUEST, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.TrackPointRequest) + }) +_sym_db.RegisterMessage(TrackPointRequest) + +TrackPointResponse = _reflection.GeneratedProtocolMessageType('TrackPointResponse', (_message.Message,), { + 'DESCRIPTOR' : _TRACKPOINTRESPONSE, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.TrackPointResponse) + }) +_sym_db.RegisterMessage(TrackPointResponse) + +TrackRectangleRequest = _reflection.GeneratedProtocolMessageType('TrackRectangleRequest', (_message.Message,), { + 'DESCRIPTOR' : _TRACKRECTANGLEREQUEST, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.TrackRectangleRequest) + }) +_sym_db.RegisterMessage(TrackRectangleRequest) + +TrackRectangleResponse = _reflection.GeneratedProtocolMessageType('TrackRectangleResponse', (_message.Message,), { + 'DESCRIPTOR' : _TRACKRECTANGLERESPONSE, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.TrackRectangleResponse) + }) +_sym_db.RegisterMessage(TrackRectangleResponse) + +TrackStopRequest = _reflection.GeneratedProtocolMessageType('TrackStopRequest', (_message.Message,), { + 'DESCRIPTOR' : _TRACKSTOPREQUEST, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.TrackStopRequest) + }) +_sym_db.RegisterMessage(TrackStopRequest) + +TrackStopResponse = _reflection.GeneratedProtocolMessageType('TrackStopResponse', (_message.Message,), { + 'DESCRIPTOR' : _TRACKSTOPRESPONSE, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.TrackStopResponse) + }) +_sym_db.RegisterMessage(TrackStopResponse) + +FocusInStartRequest = _reflection.GeneratedProtocolMessageType('FocusInStartRequest', (_message.Message,), { + 'DESCRIPTOR' : _FOCUSINSTARTREQUEST, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.FocusInStartRequest) + }) +_sym_db.RegisterMessage(FocusInStartRequest) + +FocusInStartResponse = _reflection.GeneratedProtocolMessageType('FocusInStartResponse', (_message.Message,), { + 'DESCRIPTOR' : _FOCUSINSTARTRESPONSE, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.FocusInStartResponse) + }) +_sym_db.RegisterMessage(FocusInStartResponse) + +FocusOutStartRequest = _reflection.GeneratedProtocolMessageType('FocusOutStartRequest', (_message.Message,), { + 'DESCRIPTOR' : _FOCUSOUTSTARTREQUEST, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.FocusOutStartRequest) + }) +_sym_db.RegisterMessage(FocusOutStartRequest) + +FocusOutStartResponse = _reflection.GeneratedProtocolMessageType('FocusOutStartResponse', (_message.Message,), { + 'DESCRIPTOR' : _FOCUSOUTSTARTRESPONSE, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.FocusOutStartResponse) + }) +_sym_db.RegisterMessage(FocusOutStartResponse) + +FocusStopRequest = _reflection.GeneratedProtocolMessageType('FocusStopRequest', (_message.Message,), { + 'DESCRIPTOR' : _FOCUSSTOPREQUEST, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.FocusStopRequest) + }) +_sym_db.RegisterMessage(FocusStopRequest) + +FocusStopResponse = _reflection.GeneratedProtocolMessageType('FocusStopResponse', (_message.Message,), { + 'DESCRIPTOR' : _FOCUSSTOPRESPONSE, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.FocusStopResponse) + }) +_sym_db.RegisterMessage(FocusStopResponse) + +FocusRangeRequest = _reflection.GeneratedProtocolMessageType('FocusRangeRequest', (_message.Message,), { + 'DESCRIPTOR' : _FOCUSRANGEREQUEST, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.FocusRangeRequest) + }) +_sym_db.RegisterMessage(FocusRangeRequest) + +FocusRangeResponse = _reflection.GeneratedProtocolMessageType('FocusRangeResponse', (_message.Message,), { + 'DESCRIPTOR' : _FOCUSRANGERESPONSE, + '__module__' : 'camera.camera_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera.FocusRangeResponse) + }) +_sym_db.RegisterMessage(FocusRangeResponse) + CameraResult = _reflection.GeneratedProtocolMessageType('CameraResult', (_message.Message,), { 'DESCRIPTOR' : _CAMERARESULT, '__module__' : 'camera.camera_pb2' @@ -497,10 +673,10 @@ _CAMERASERVICE.methods_by_name['SubscribeCurrentSettings']._serialized_options = b'\200\265\030\000' _CAMERASERVICE.methods_by_name['SelectCamera']._options = None _CAMERASERVICE.methods_by_name['SelectCamera']._serialized_options = b'\200\265\030\001' - _MODE._serialized_start=5408 - _MODE._serialized_end=5464 - _PHOTOSRANGE._serialized_start=5466 - _PHOTOSRANGE._serialized_end=5536 + _MODE._serialized_start=6679 + _MODE._serialized_end=6735 + _PHOTOSRANGE._serialized_start=6737 + _PHOTOSRANGE._serialized_end=6807 _PREPAREREQUEST._serialized_start=64 _PREPAREREQUEST._serialized_end=80 _PREPARERESPONSE._serialized_start=82 @@ -589,40 +765,84 @@ _RESETSETTINGSREQUEST._serialized_end=2676 _RESETSETTINGSRESPONSE._serialized_start=2678 _RESETSETTINGSRESPONSE._serialized_end=2757 - _CAMERARESULT._serialized_start=2760 - _CAMERARESULT._serialized_end=3081 - _CAMERARESULT_RESULT._serialized_start=2853 - _CAMERARESULT_RESULT._serialized_end=3081 - _POSITION._serialized_start=3083 - _POSITION._serialized_end=3196 - _QUATERNION._serialized_start=3198 - _QUATERNION._serialized_end=3254 - _EULERANGLE._serialized_start=3256 - _EULERANGLE._serialized_end=3322 - _CAPTUREINFO._serialized_start=3325 - _CAPTUREINFO._serialized_end=3580 - _VIDEOSTREAMSETTINGS._serialized_start=3583 - _VIDEOSTREAMSETTINGS._serialized_end=3780 - _VIDEOSTREAMINFO._serialized_start=3783 - _VIDEOSTREAMINFO._serialized_end=4233 - _VIDEOSTREAMINFO_VIDEOSTREAMSTATUS._serialized_start=4004 - _VIDEOSTREAMINFO_VIDEOSTREAMSTATUS._serialized_end=4097 - _VIDEOSTREAMINFO_VIDEOSTREAMSPECTRUM._serialized_start=4100 - _VIDEOSTREAMINFO_VIDEOSTREAMSPECTRUM._serialized_end=4233 - _STATUS._serialized_start=4236 - _STATUS._serialized_end=4883 - _STATUS_STORAGESTATUS._serialized_start=4575 - _STATUS_STORAGESTATUS._serialized_end=4720 - _STATUS_STORAGETYPE._serialized_start=4723 - _STATUS_STORAGETYPE._serialized_end=4883 - _OPTION._serialized_start=4885 - _OPTION._serialized_end=4940 - _SETTING._serialized_start=4942 - _SETTING._serialized_end=5061 - _SETTINGOPTIONS._serialized_start=5063 - _SETTINGOPTIONS._serialized_end=5190 - _INFORMATION._serialized_start=5193 - _INFORMATION._serialized_end=5406 - _CAMERASERVICE._serialized_start=5539 - _CAMERASERVICE._serialized_end=7900 + _ZOOMINSTARTREQUEST._serialized_start=2759 + _ZOOMINSTARTREQUEST._serialized_end=2779 + _ZOOMINSTARTRESPONSE._serialized_start=2781 + _ZOOMINSTARTRESPONSE._serialized_end=2858 + _ZOOMOUTSTARTREQUEST._serialized_start=2860 + _ZOOMOUTSTARTREQUEST._serialized_end=2881 + _ZOOMOUTSTARTRESPONSE._serialized_start=2883 + _ZOOMOUTSTARTRESPONSE._serialized_end=2961 + _ZOOMSTOPREQUEST._serialized_start=2963 + _ZOOMSTOPREQUEST._serialized_end=2980 + _ZOOMSTOPRESPONSE._serialized_start=2982 + _ZOOMSTOPRESPONSE._serialized_end=3056 + _ZOOMRANGEREQUEST._serialized_start=3058 + _ZOOMRANGEREQUEST._serialized_end=3091 + _ZOOMRANGERESPONSE._serialized_start=3093 + _ZOOMRANGERESPONSE._serialized_end=3168 + _TRACKPOINTREQUEST._serialized_start=3170 + _TRACKPOINTREQUEST._serialized_end=3239 + _TRACKPOINTRESPONSE._serialized_start=3241 + _TRACKPOINTRESPONSE._serialized_end=3317 + _TRACKRECTANGLEREQUEST._serialized_start=3319 + _TRACKRECTANGLEREQUEST._serialized_end=3430 + _TRACKRECTANGLERESPONSE._serialized_start=3432 + _TRACKRECTANGLERESPONSE._serialized_end=3512 + _TRACKSTOPREQUEST._serialized_start=3514 + _TRACKSTOPREQUEST._serialized_end=3532 + _TRACKSTOPRESPONSE._serialized_start=3534 + _TRACKSTOPRESPONSE._serialized_end=3609 + _FOCUSINSTARTREQUEST._serialized_start=3611 + _FOCUSINSTARTREQUEST._serialized_end=3632 + _FOCUSINSTARTRESPONSE._serialized_start=3634 + _FOCUSINSTARTRESPONSE._serialized_end=3712 + _FOCUSOUTSTARTREQUEST._serialized_start=3714 + _FOCUSOUTSTARTREQUEST._serialized_end=3736 + _FOCUSOUTSTARTRESPONSE._serialized_start=3738 + _FOCUSOUTSTARTRESPONSE._serialized_end=3817 + _FOCUSSTOPREQUEST._serialized_start=3819 + _FOCUSSTOPREQUEST._serialized_end=3837 + _FOCUSSTOPRESPONSE._serialized_start=3839 + _FOCUSSTOPRESPONSE._serialized_end=3914 + _FOCUSRANGEREQUEST._serialized_start=3916 + _FOCUSRANGEREQUEST._serialized_end=3950 + _FOCUSRANGERESPONSE._serialized_start=3952 + _FOCUSRANGERESPONSE._serialized_end=4028 + _CAMERARESULT._serialized_start=4031 + _CAMERARESULT._serialized_end=4352 + _CAMERARESULT_RESULT._serialized_start=4124 + _CAMERARESULT_RESULT._serialized_end=4352 + _POSITION._serialized_start=4354 + _POSITION._serialized_end=4467 + _QUATERNION._serialized_start=4469 + _QUATERNION._serialized_end=4525 + _EULERANGLE._serialized_start=4527 + _EULERANGLE._serialized_end=4593 + _CAPTUREINFO._serialized_start=4596 + _CAPTUREINFO._serialized_end=4851 + _VIDEOSTREAMSETTINGS._serialized_start=4854 + _VIDEOSTREAMSETTINGS._serialized_end=5051 + _VIDEOSTREAMINFO._serialized_start=5054 + _VIDEOSTREAMINFO._serialized_end=5504 + _VIDEOSTREAMINFO_VIDEOSTREAMSTATUS._serialized_start=5275 + _VIDEOSTREAMINFO_VIDEOSTREAMSTATUS._serialized_end=5368 + _VIDEOSTREAMINFO_VIDEOSTREAMSPECTRUM._serialized_start=5371 + _VIDEOSTREAMINFO_VIDEOSTREAMSPECTRUM._serialized_end=5504 + _STATUS._serialized_start=5507 + _STATUS._serialized_end=6154 + _STATUS_STORAGESTATUS._serialized_start=5846 + _STATUS_STORAGESTATUS._serialized_end=5991 + _STATUS_STORAGETYPE._serialized_start=5994 + _STATUS_STORAGETYPE._serialized_end=6154 + _OPTION._serialized_start=6156 + _OPTION._serialized_end=6211 + _SETTING._serialized_start=6213 + _SETTING._serialized_end=6332 + _SETTINGOPTIONS._serialized_start=6334 + _SETTINGOPTIONS._serialized_end=6461 + _INFORMATION._serialized_start=6464 + _INFORMATION._serialized_end=6677 + _CAMERASERVICE._serialized_start=6810 + _CAMERASERVICE._serialized_end=10215 # @@protoc_insertion_point(module_scope) diff --git a/mavsdk/camera_pb2_grpc.py b/mavsdk/camera_pb2_grpc.py index ff4f474a..cf3c714f 100644 --- a/mavsdk/camera_pb2_grpc.py +++ b/mavsdk/camera_pb2_grpc.py @@ -132,6 +132,61 @@ def __init__(self, channel): request_serializer=camera_dot_camera__pb2.ResetSettingsRequest.SerializeToString, response_deserializer=camera_dot_camera__pb2.ResetSettingsResponse.FromString, ) + self.ZoomInStart = channel.unary_unary( + '/mavsdk.rpc.camera.CameraService/ZoomInStart', + request_serializer=camera_dot_camera__pb2.ZoomInStartRequest.SerializeToString, + response_deserializer=camera_dot_camera__pb2.ZoomInStartResponse.FromString, + ) + self.ZoomOutStart = channel.unary_unary( + '/mavsdk.rpc.camera.CameraService/ZoomOutStart', + request_serializer=camera_dot_camera__pb2.ZoomOutStartRequest.SerializeToString, + response_deserializer=camera_dot_camera__pb2.ZoomOutStartResponse.FromString, + ) + self.ZoomStop = channel.unary_unary( + '/mavsdk.rpc.camera.CameraService/ZoomStop', + request_serializer=camera_dot_camera__pb2.ZoomStopRequest.SerializeToString, + response_deserializer=camera_dot_camera__pb2.ZoomStopResponse.FromString, + ) + self.ZoomRange = channel.unary_unary( + '/mavsdk.rpc.camera.CameraService/ZoomRange', + request_serializer=camera_dot_camera__pb2.ZoomRangeRequest.SerializeToString, + response_deserializer=camera_dot_camera__pb2.ZoomRangeResponse.FromString, + ) + self.TrackPoint = channel.unary_unary( + '/mavsdk.rpc.camera.CameraService/TrackPoint', + request_serializer=camera_dot_camera__pb2.TrackPointRequest.SerializeToString, + response_deserializer=camera_dot_camera__pb2.TrackPointResponse.FromString, + ) + self.TrackRectangle = channel.unary_unary( + '/mavsdk.rpc.camera.CameraService/TrackRectangle', + request_serializer=camera_dot_camera__pb2.TrackRectangleRequest.SerializeToString, + response_deserializer=camera_dot_camera__pb2.TrackRectangleResponse.FromString, + ) + self.TrackStop = channel.unary_unary( + '/mavsdk.rpc.camera.CameraService/TrackStop', + request_serializer=camera_dot_camera__pb2.TrackStopRequest.SerializeToString, + response_deserializer=camera_dot_camera__pb2.TrackStopResponse.FromString, + ) + self.FocusInStart = channel.unary_unary( + '/mavsdk.rpc.camera.CameraService/FocusInStart', + request_serializer=camera_dot_camera__pb2.FocusInStartRequest.SerializeToString, + response_deserializer=camera_dot_camera__pb2.FocusInStartResponse.FromString, + ) + self.FocusOutStart = channel.unary_unary( + '/mavsdk.rpc.camera.CameraService/FocusOutStart', + request_serializer=camera_dot_camera__pb2.FocusOutStartRequest.SerializeToString, + response_deserializer=camera_dot_camera__pb2.FocusOutStartResponse.FromString, + ) + self.FocusStop = channel.unary_unary( + '/mavsdk.rpc.camera.CameraService/FocusStop', + request_serializer=camera_dot_camera__pb2.FocusStopRequest.SerializeToString, + response_deserializer=camera_dot_camera__pb2.FocusStopResponse.FromString, + ) + self.FocusRange = channel.unary_unary( + '/mavsdk.rpc.camera.CameraService/FocusRange', + request_serializer=camera_dot_camera__pb2.FocusRangeRequest.SerializeToString, + response_deserializer=camera_dot_camera__pb2.FocusRangeResponse.FromString, + ) class CameraServiceServicer(object): @@ -315,7 +370,7 @@ def SelectCamera(self, request, context): """ Select current camera . - Bind the plugin instance to a specific camera_id + Bind the plugin instance to a specific camera_id """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -331,6 +386,94 @@ def ResetSettings(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def ZoomInStart(self, request, context): + """ + Start zooming in. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ZoomOutStart(self, request, context): + """ + Start zooming out. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ZoomStop(self, request, context): + """ + Stop zooming. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ZoomRange(self, request, context): + """ + Zoom to value as proportion of full camera range (percentage between 0.0 and 100.0). + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TrackPoint(self, request, context): + """ + Track point. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TrackRectangle(self, request, context): + """ + Track rectangle. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TrackStop(self, request, context): + """ + Stop tracking. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FocusInStart(self, request, context): + """ + Start focusing in. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FocusOutStart(self, request, context): + """ + Start focusing out. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FocusStop(self, request, context): + """ + Stop focus. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FocusRange(self, request, context): + """ + Focus with range value of full range (value between 0.0 and 100.0). + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_CameraServiceServicer_to_server(servicer, server): rpc_method_handlers = { @@ -444,6 +587,61 @@ def add_CameraServiceServicer_to_server(servicer, server): request_deserializer=camera_dot_camera__pb2.ResetSettingsRequest.FromString, response_serializer=camera_dot_camera__pb2.ResetSettingsResponse.SerializeToString, ), + 'ZoomInStart': grpc.unary_unary_rpc_method_handler( + servicer.ZoomInStart, + request_deserializer=camera_dot_camera__pb2.ZoomInStartRequest.FromString, + response_serializer=camera_dot_camera__pb2.ZoomInStartResponse.SerializeToString, + ), + 'ZoomOutStart': grpc.unary_unary_rpc_method_handler( + servicer.ZoomOutStart, + request_deserializer=camera_dot_camera__pb2.ZoomOutStartRequest.FromString, + response_serializer=camera_dot_camera__pb2.ZoomOutStartResponse.SerializeToString, + ), + 'ZoomStop': grpc.unary_unary_rpc_method_handler( + servicer.ZoomStop, + request_deserializer=camera_dot_camera__pb2.ZoomStopRequest.FromString, + response_serializer=camera_dot_camera__pb2.ZoomStopResponse.SerializeToString, + ), + 'ZoomRange': grpc.unary_unary_rpc_method_handler( + servicer.ZoomRange, + request_deserializer=camera_dot_camera__pb2.ZoomRangeRequest.FromString, + response_serializer=camera_dot_camera__pb2.ZoomRangeResponse.SerializeToString, + ), + 'TrackPoint': grpc.unary_unary_rpc_method_handler( + servicer.TrackPoint, + request_deserializer=camera_dot_camera__pb2.TrackPointRequest.FromString, + response_serializer=camera_dot_camera__pb2.TrackPointResponse.SerializeToString, + ), + 'TrackRectangle': grpc.unary_unary_rpc_method_handler( + servicer.TrackRectangle, + request_deserializer=camera_dot_camera__pb2.TrackRectangleRequest.FromString, + response_serializer=camera_dot_camera__pb2.TrackRectangleResponse.SerializeToString, + ), + 'TrackStop': grpc.unary_unary_rpc_method_handler( + servicer.TrackStop, + request_deserializer=camera_dot_camera__pb2.TrackStopRequest.FromString, + response_serializer=camera_dot_camera__pb2.TrackStopResponse.SerializeToString, + ), + 'FocusInStart': grpc.unary_unary_rpc_method_handler( + servicer.FocusInStart, + request_deserializer=camera_dot_camera__pb2.FocusInStartRequest.FromString, + response_serializer=camera_dot_camera__pb2.FocusInStartResponse.SerializeToString, + ), + 'FocusOutStart': grpc.unary_unary_rpc_method_handler( + servicer.FocusOutStart, + request_deserializer=camera_dot_camera__pb2.FocusOutStartRequest.FromString, + response_serializer=camera_dot_camera__pb2.FocusOutStartResponse.SerializeToString, + ), + 'FocusStop': grpc.unary_unary_rpc_method_handler( + servicer.FocusStop, + request_deserializer=camera_dot_camera__pb2.FocusStopRequest.FromString, + response_serializer=camera_dot_camera__pb2.FocusStopResponse.SerializeToString, + ), + 'FocusRange': grpc.unary_unary_rpc_method_handler( + servicer.FocusRange, + request_deserializer=camera_dot_camera__pb2.FocusRangeRequest.FromString, + response_serializer=camera_dot_camera__pb2.FocusRangeResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'mavsdk.rpc.camera.CameraService', rpc_method_handlers) @@ -835,3 +1033,190 @@ def ResetSettings(request, camera_dot_camera__pb2.ResetSettingsResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ZoomInStart(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera.CameraService/ZoomInStart', + camera_dot_camera__pb2.ZoomInStartRequest.SerializeToString, + camera_dot_camera__pb2.ZoomInStartResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ZoomOutStart(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera.CameraService/ZoomOutStart', + camera_dot_camera__pb2.ZoomOutStartRequest.SerializeToString, + camera_dot_camera__pb2.ZoomOutStartResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ZoomStop(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera.CameraService/ZoomStop', + camera_dot_camera__pb2.ZoomStopRequest.SerializeToString, + camera_dot_camera__pb2.ZoomStopResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ZoomRange(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera.CameraService/ZoomRange', + camera_dot_camera__pb2.ZoomRangeRequest.SerializeToString, + camera_dot_camera__pb2.ZoomRangeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def TrackPoint(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera.CameraService/TrackPoint', + camera_dot_camera__pb2.TrackPointRequest.SerializeToString, + camera_dot_camera__pb2.TrackPointResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def TrackRectangle(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera.CameraService/TrackRectangle', + camera_dot_camera__pb2.TrackRectangleRequest.SerializeToString, + camera_dot_camera__pb2.TrackRectangleResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def TrackStop(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera.CameraService/TrackStop', + camera_dot_camera__pb2.TrackStopRequest.SerializeToString, + camera_dot_camera__pb2.TrackStopResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FocusInStart(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera.CameraService/FocusInStart', + camera_dot_camera__pb2.FocusInStartRequest.SerializeToString, + camera_dot_camera__pb2.FocusInStartResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FocusOutStart(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera.CameraService/FocusOutStart', + camera_dot_camera__pb2.FocusOutStartRequest.SerializeToString, + camera_dot_camera__pb2.FocusOutStartResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FocusStop(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera.CameraService/FocusStop', + camera_dot_camera__pb2.FocusStopRequest.SerializeToString, + camera_dot_camera__pb2.FocusStopResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FocusRange(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera.CameraService/FocusRange', + camera_dot_camera__pb2.FocusRangeRequest.SerializeToString, + camera_dot_camera__pb2.FocusRangeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/mavsdk/camera_server.py b/mavsdk/camera_server.py index cc868979..999680d2 100644 --- a/mavsdk/camera_server.py +++ b/mavsdk/camera_server.py @@ -2096,4 +2096,216 @@ async def respond_reset_settings(self, reset_settings_feedback): if result.result != CameraServerResult.Result.SUCCESS: raise CameraServerError(result, "respond_reset_settings()", reset_settings_feedback) + + + async def zoom_in_start(self): + """ + Subscribe to zoom in start command + + Yields + ------- + reserved : int32_t + reserved, just make protoc-gen-mavsdk working + + + """ + + request = camera_server_pb2.SubscribeZoomInStartRequest() + zoom_in_start_stream = self._stub.SubscribeZoomInStart(request) + + try: + async for response in zoom_in_start_stream: + + + + yield response.reserved + finally: + zoom_in_start_stream.cancel() + + async def respond_zoom_in_start(self, zoom_in_start_feedback): + """ + Respond to zoom in start. + + Parameters + ---------- + zoom_in_start_feedback : CameraFeedback + the feedback + + Raises + ------ + CameraServerError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_server_pb2.RespondZoomInStartRequest() + + request.zoom_in_start_feedback = zoom_in_start_feedback.translate_to_rpc() + + + response = await self._stub.RespondZoomInStart(request) + + + result = self._extract_result(response) + + if result.result != CameraServerResult.Result.SUCCESS: + raise CameraServerError(result, "respond_zoom_in_start()", zoom_in_start_feedback) + + + async def zoom_out_start(self): + """ + Subscribe to zoom out start command + + Yields + ------- + reserved : int32_t + reserved, just make protoc-gen-mavsdk working + + + """ + + request = camera_server_pb2.SubscribeZoomOutStartRequest() + zoom_out_start_stream = self._stub.SubscribeZoomOutStart(request) + + try: + async for response in zoom_out_start_stream: + + + + yield response.reserved + finally: + zoom_out_start_stream.cancel() + + async def respond_zoom_out_start(self, zoom_out_start_feedback): + """ + Respond to zoom out start. + + Parameters + ---------- + zoom_out_start_feedback : CameraFeedback + the feedback + + Raises + ------ + CameraServerError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_server_pb2.RespondZoomOutStartRequest() + + request.zoom_out_start_feedback = zoom_out_start_feedback.translate_to_rpc() + + + response = await self._stub.RespondZoomOutStart(request) + + + result = self._extract_result(response) + + if result.result != CameraServerResult.Result.SUCCESS: + raise CameraServerError(result, "respond_zoom_out_start()", zoom_out_start_feedback) + + + async def zoom_stop(self): + """ + Subscribe to zoom stop command + + Yields + ------- + reserved : int32_t + reserved, just make protoc-gen-mavsdk working + + + """ + + request = camera_server_pb2.SubscribeZoomStopRequest() + zoom_stop_stream = self._stub.SubscribeZoomStop(request) + + try: + async for response in zoom_stop_stream: + + + + yield response.reserved + finally: + zoom_stop_stream.cancel() + + async def respond_zoom_stop(self, zoom_stop_feedback): + """ + Respond to zoom stop. + + Parameters + ---------- + zoom_stop_feedback : CameraFeedback + the feedback + + Raises + ------ + CameraServerError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_server_pb2.RespondZoomStopRequest() + + request.zoom_stop_feedback = zoom_stop_feedback.translate_to_rpc() + + + response = await self._stub.RespondZoomStop(request) + + + result = self._extract_result(response) + + if result.result != CameraServerResult.Result.SUCCESS: + raise CameraServerError(result, "respond_zoom_stop()", zoom_stop_feedback) + + + async def zoom_range(self): + """ + Subscribe to zoom range command + + Yields + ------- + factor : float + The zoom factor, starting at 1x. + + + """ + + request = camera_server_pb2.SubscribeZoomRangeRequest() + zoom_range_stream = self._stub.SubscribeZoomRange(request) + + try: + async for response in zoom_range_stream: + + + + yield response.factor + finally: + zoom_range_stream.cancel() + + async def respond_zoom_range(self, zoom_range_feedback): + """ + Respond to zoom range. + + Parameters + ---------- + zoom_range_feedback : CameraFeedback + the feedback + + Raises + ------ + CameraServerError + If the request fails. The error contains the reason for the failure. + """ + + request = camera_server_pb2.RespondZoomRangeRequest() + + request.zoom_range_feedback = zoom_range_feedback.translate_to_rpc() + + + response = await self._stub.RespondZoomRange(request) + + + result = self._extract_result(response) + + if result.result != CameraServerResult.Result.SUCCESS: + raise CameraServerError(result, "respond_zoom_range()", zoom_range_feedback) \ No newline at end of file diff --git a/mavsdk/camera_server_pb2.py b/mavsdk/camera_server_pb2.py index 3fbda45f..e304b504 100644 --- a/mavsdk/camera_server_pb2.py +++ b/mavsdk/camera_server_pb2.py @@ -16,7 +16,7 @@ from . import mavsdk_options_pb2 as mavsdk__options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!camera_server/camera_server.proto\x12\x18mavsdk.rpc.camera_server\x1a\x14mavsdk_options.proto\"S\n\x15SetInformationRequest\x12:\n\x0binformation\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.camera_server.Information\"d\n\x16SetInformationResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"]\n\x18SetVideoStreamingRequest\x12\x41\n\x0fvideo_streaming\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.camera_server.VideoStreaming\"g\n\x19SetVideoStreamingResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"+\n\x14SetInProgressRequest\x12\x13\n\x0bin_progress\x18\x01 \x01(\x08\"c\n\x15SetInProgressResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1b\n\x19SubscribeTakePhotoRequest\"\"\n\x11TakePhotoResponse\x12\r\n\x05index\x18\x01 \x01(\x05\"\x9d\x01\n\x17RespondTakePhotoRequest\x12\x45\n\x13take_photo_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\x12;\n\x0c\x63\x61pture_info\x18\x02 \x01(\x0b\x32%.mavsdk.rpc.camera_server.CaptureInfo\"f\n\x18RespondTakePhotoResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1c\n\x1aSubscribeStartVideoRequest\"\'\n\x12StartVideoResponse\x12\x11\n\tstream_id\x18\x01 \x01(\x05\"b\n\x18RespondStartVideoRequest\x12\x46\n\x14start_video_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"g\n\x19RespondStartVideoResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1b\n\x19SubscribeStopVideoRequest\"&\n\x11StopVideoResponse\x12\x11\n\tstream_id\x18\x01 \x01(\x05\"`\n\x17RespondStopVideoRequest\x12\x45\n\x13stop_video_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"f\n\x18RespondStopVideoResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"%\n#SubscribeStartVideoStreamingRequest\"0\n\x1bStartVideoStreamingResponse\x12\x11\n\tstream_id\x18\x01 \x01(\x05\"u\n!RespondStartVideoStreamingRequest\x12P\n\x1estart_video_streaming_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"p\n\"RespondStartVideoStreamingResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"$\n\"SubscribeStopVideoStreamingRequest\"/\n\x1aStopVideoStreamingResponse\x12\x11\n\tstream_id\x18\x01 \x01(\x05\"s\n RespondStopVideoStreamingRequest\x12O\n\x1dstop_video_streaming_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"o\n!RespondStopVideoStreamingResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x19\n\x17SubscribeSetModeRequest\"?\n\x0fSetModeResponse\x12,\n\x04mode\x18\x01 \x01(\x0e\x32\x1e.mavsdk.rpc.camera_server.Mode\"\\\n\x15RespondSetModeRequest\x12\x43\n\x11set_mode_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"d\n\x16RespondSetModeResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"$\n\"SubscribeStorageInformationRequest\"0\n\x1aStorageInformationResponse\x12\x12\n\nstorage_id\x18\x01 \x01(\x05\"\xbd\x01\n RespondStorageInformationRequest\x12N\n\x1cstorage_information_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\x12I\n\x13storage_information\x18\x02 \x01(\x0b\x32,.mavsdk.rpc.camera_server.StorageInformation\"o\n!RespondStorageInformationResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1f\n\x1dSubscribeCaptureStatusRequest\")\n\x15\x43\x61ptureStatusResponse\x12\x10\n\x08reserved\x18\x01 \x01(\x05\"\xa9\x01\n\x1bRespondCaptureStatusRequest\x12I\n\x17\x63\x61pture_status_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\x12?\n\x0e\x63\x61pture_status\x18\x02 \x01(\x0b\x32\'.mavsdk.rpc.camera_server.CaptureStatus\"j\n\x1cRespondCaptureStatusResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1f\n\x1dSubscribeFormatStorageRequest\"+\n\x15\x46ormatStorageResponse\x12\x12\n\nstorage_id\x18\x01 \x01(\x05\"h\n\x1bRespondFormatStorageRequest\x12I\n\x17\x66ormat_storage_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"j\n\x1cRespondFormatStorageResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1f\n\x1dSubscribeResetSettingsRequest\")\n\x15ResetSettingsResponse\x12\x10\n\x08reserved\x18\x01 \x01(\x05\"h\n\x1bRespondResetSettingsRequest\x12I\n\x17reset_settings_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"j\n\x1cRespondResetSettingsResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\xbe\x02\n\x0bInformation\x12\x13\n\x0bvendor_name\x18\x01 \x01(\t\x12\x12\n\nmodel_name\x18\x02 \x01(\t\x12\x18\n\x10\x66irmware_version\x18\x03 \x01(\t\x12\x17\n\x0f\x66ocal_length_mm\x18\x04 \x01(\x02\x12!\n\x19horizontal_sensor_size_mm\x18\x05 \x01(\x02\x12\x1f\n\x17vertical_sensor_size_mm\x18\x06 \x01(\x02\x12 \n\x18horizontal_resolution_px\x18\x07 \x01(\r\x12\x1e\n\x16vertical_resolution_px\x18\x08 \x01(\r\x12\x0f\n\x07lens_id\x18\t \x01(\r\x12\x1f\n\x17\x64\x65\x66inition_file_version\x18\n \x01(\r\x12\x1b\n\x13\x64\x65\x66inition_file_uri\x18\x0b \x01(\t\";\n\x0eVideoStreaming\x12\x17\n\x0fhas_rtsp_server\x18\x01 \x01(\x08\x12\x10\n\x08rtsp_uri\x18\x02 \x01(\t\"q\n\x08Position\x12\x14\n\x0clatitude_deg\x18\x01 \x01(\x01\x12\x15\n\rlongitude_deg\x18\x02 \x01(\x01\x12\x1b\n\x13\x61\x62solute_altitude_m\x18\x03 \x01(\x02\x12\x1b\n\x13relative_altitude_m\x18\x04 \x01(\x02\"8\n\nQuaternion\x12\t\n\x01w\x18\x01 \x01(\x02\x12\t\n\x01x\x18\x02 \x01(\x02\x12\t\n\x01y\x18\x03 \x01(\x02\x12\t\n\x01z\x18\x04 \x01(\x02\"\xd0\x01\n\x0b\x43\x61ptureInfo\x12\x34\n\x08position\x18\x01 \x01(\x0b\x32\".mavsdk.rpc.camera_server.Position\x12\x41\n\x13\x61ttitude_quaternion\x18\x02 \x01(\x0b\x32$.mavsdk.rpc.camera_server.Quaternion\x12\x13\n\x0btime_utc_us\x18\x03 \x01(\x04\x12\x12\n\nis_success\x18\x04 \x01(\x08\x12\r\n\x05index\x18\x05 \x01(\x05\x12\x10\n\x08\x66ile_url\x18\x06 \x01(\t\"\xb3\x02\n\x12\x43\x61meraServerResult\x12\x43\n\x06result\x18\x01 \x01(\x0e\x32\x33.mavsdk.rpc.camera_server.CameraServerResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xc3\x01\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x16\n\x12RESULT_IN_PROGRESS\x10\x02\x12\x0f\n\x0bRESULT_BUSY\x10\x03\x12\x11\n\rRESULT_DENIED\x10\x04\x12\x10\n\x0cRESULT_ERROR\x10\x05\x12\x12\n\x0eRESULT_TIMEOUT\x10\x06\x12\x19\n\x15RESULT_WRONG_ARGUMENT\x10\x07\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x08\"\x8c\x05\n\x12StorageInformation\x12\x18\n\x10used_storage_mib\x18\x01 \x01(\x02\x12\x1d\n\x15\x61vailable_storage_mib\x18\x02 \x01(\x02\x12\x19\n\x11total_storage_mib\x18\x03 \x01(\x02\x12R\n\x0estorage_status\x18\x04 \x01(\x0e\x32:.mavsdk.rpc.camera_server.StorageInformation.StorageStatus\x12\x12\n\nstorage_id\x18\x05 \x01(\r\x12N\n\x0cstorage_type\x18\x06 \x01(\x0e\x32\x38.mavsdk.rpc.camera_server.StorageInformation.StorageType\x12\x18\n\x10read_speed_mib_s\x18\x07 \x01(\x02\x12\x19\n\x11write_speed_mib_s\x18\x08 \x01(\x02\"\x91\x01\n\rStorageStatus\x12 \n\x1cSTORAGE_STATUS_NOT_AVAILABLE\x10\x00\x12\x1e\n\x1aSTORAGE_STATUS_UNFORMATTED\x10\x01\x12\x1c\n\x18STORAGE_STATUS_FORMATTED\x10\x02\x12 \n\x1cSTORAGE_STATUS_NOT_SUPPORTED\x10\x03\"\xa0\x01\n\x0bStorageType\x12\x18\n\x14STORAGE_TYPE_UNKNOWN\x10\x00\x12\x1a\n\x16STORAGE_TYPE_USB_STICK\x10\x01\x12\x13\n\x0fSTORAGE_TYPE_SD\x10\x02\x12\x18\n\x14STORAGE_TYPE_MICROSD\x10\x03\x12\x13\n\x0fSTORAGE_TYPE_HD\x10\x07\x12\x17\n\x12STORAGE_TYPE_OTHER\x10\xfe\x01\"\xee\x03\n\rCaptureStatus\x12\x18\n\x10image_interval_s\x18\x01 \x01(\x02\x12\x18\n\x10recording_time_s\x18\x02 \x01(\x02\x12\x1e\n\x16\x61vailable_capacity_mib\x18\x03 \x01(\x02\x12I\n\x0cimage_status\x18\x04 \x01(\x0e\x32\x33.mavsdk.rpc.camera_server.CaptureStatus.ImageStatus\x12I\n\x0cvideo_status\x18\x05 \x01(\x0e\x32\x33.mavsdk.rpc.camera_server.CaptureStatus.VideoStatus\x12\x13\n\x0bimage_count\x18\x06 \x01(\x05\"\x91\x01\n\x0bImageStatus\x12\x15\n\x11IMAGE_STATUS_IDLE\x10\x00\x12$\n IMAGE_STATUS_CAPTURE_IN_PROGRESS\x10\x01\x12\x1e\n\x1aIMAGE_STATUS_INTERVAL_IDLE\x10\x02\x12%\n!IMAGE_STATUS_INTERVAL_IN_PROGRESS\x10\x03\"J\n\x0bVideoStatus\x12\x15\n\x11VIDEO_STATUS_IDLE\x10\x00\x12$\n VIDEO_STATUS_CAPTURE_IN_PROGRESS\x10\x01*{\n\x0e\x43\x61meraFeedback\x12\x1b\n\x17\x43\x41MERA_FEEDBACK_UNKNOWN\x10\x00\x12\x16\n\x12\x43\x41MERA_FEEDBACK_OK\x10\x01\x12\x18\n\x14\x43\x41MERA_FEEDBACK_BUSY\x10\x02\x12\x1a\n\x16\x43\x41MERA_FEEDBACK_FAILED\x10\x03*8\n\x04Mode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0e\n\nMODE_PHOTO\x10\x01\x12\x0e\n\nMODE_VIDEO\x10\x02\x32\x8f\x19\n\x13\x43\x61meraServerService\x12y\n\x0eSetInformation\x12/.mavsdk.rpc.camera_server.SetInformationRequest\x1a\x30.mavsdk.rpc.camera_server.SetInformationResponse\"\x04\x80\xb5\x18\x01\x12\x82\x01\n\x11SetVideoStreaming\x12\x32.mavsdk.rpc.camera_server.SetVideoStreamingRequest\x1a\x33.mavsdk.rpc.camera_server.SetVideoStreamingResponse\"\x04\x80\xb5\x18\x01\x12v\n\rSetInProgress\x12..mavsdk.rpc.camera_server.SetInProgressRequest\x1a/.mavsdk.rpc.camera_server.SetInProgressResponse\"\x04\x80\xb5\x18\x01\x12~\n\x12SubscribeTakePhoto\x12\x33.mavsdk.rpc.camera_server.SubscribeTakePhotoRequest\x1a+.mavsdk.rpc.camera_server.TakePhotoResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x7f\n\x10RespondTakePhoto\x12\x31.mavsdk.rpc.camera_server.RespondTakePhotoRequest\x1a\x32.mavsdk.rpc.camera_server.RespondTakePhotoResponse\"\x04\x80\xb5\x18\x01\x12\x81\x01\n\x13SubscribeStartVideo\x12\x34.mavsdk.rpc.camera_server.SubscribeStartVideoRequest\x1a,.mavsdk.rpc.camera_server.StartVideoResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x82\x01\n\x11RespondStartVideo\x12\x32.mavsdk.rpc.camera_server.RespondStartVideoRequest\x1a\x33.mavsdk.rpc.camera_server.RespondStartVideoResponse\"\x04\x80\xb5\x18\x01\x12~\n\x12SubscribeStopVideo\x12\x33.mavsdk.rpc.camera_server.SubscribeStopVideoRequest\x1a+.mavsdk.rpc.camera_server.StopVideoResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x7f\n\x10RespondStopVideo\x12\x31.mavsdk.rpc.camera_server.RespondStopVideoRequest\x1a\x32.mavsdk.rpc.camera_server.RespondStopVideoResponse\"\x04\x80\xb5\x18\x01\x12\x9c\x01\n\x1cSubscribeStartVideoStreaming\x12=.mavsdk.rpc.camera_server.SubscribeStartVideoStreamingRequest\x1a\x35.mavsdk.rpc.camera_server.StartVideoStreamingResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x9d\x01\n\x1aRespondStartVideoStreaming\x12;.mavsdk.rpc.camera_server.RespondStartVideoStreamingRequest\x1a<.mavsdk.rpc.camera_server.RespondStartVideoStreamingResponse\"\x04\x80\xb5\x18\x01\x12\x99\x01\n\x1bSubscribeStopVideoStreaming\x12<.mavsdk.rpc.camera_server.SubscribeStopVideoStreamingRequest\x1a\x34.mavsdk.rpc.camera_server.StopVideoStreamingResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x9a\x01\n\x19RespondStopVideoStreaming\x12:.mavsdk.rpc.camera_server.RespondStopVideoStreamingRequest\x1a;.mavsdk.rpc.camera_server.RespondStopVideoStreamingResponse\"\x04\x80\xb5\x18\x01\x12x\n\x10SubscribeSetMode\x12\x31.mavsdk.rpc.camera_server.SubscribeSetModeRequest\x1a).mavsdk.rpc.camera_server.SetModeResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12y\n\x0eRespondSetMode\x12/.mavsdk.rpc.camera_server.RespondSetModeRequest\x1a\x30.mavsdk.rpc.camera_server.RespondSetModeResponse\"\x04\x80\xb5\x18\x01\x12\x99\x01\n\x1bSubscribeStorageInformation\x12<.mavsdk.rpc.camera_server.SubscribeStorageInformationRequest\x1a\x34.mavsdk.rpc.camera_server.StorageInformationResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x9a\x01\n\x19RespondStorageInformation\x12:.mavsdk.rpc.camera_server.RespondStorageInformationRequest\x1a;.mavsdk.rpc.camera_server.RespondStorageInformationResponse\"\x04\x80\xb5\x18\x01\x12\x8a\x01\n\x16SubscribeCaptureStatus\x12\x37.mavsdk.rpc.camera_server.SubscribeCaptureStatusRequest\x1a/.mavsdk.rpc.camera_server.CaptureStatusResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x8b\x01\n\x14RespondCaptureStatus\x12\x35.mavsdk.rpc.camera_server.RespondCaptureStatusRequest\x1a\x36.mavsdk.rpc.camera_server.RespondCaptureStatusResponse\"\x04\x80\xb5\x18\x01\x12\x8a\x01\n\x16SubscribeFormatStorage\x12\x37.mavsdk.rpc.camera_server.SubscribeFormatStorageRequest\x1a/.mavsdk.rpc.camera_server.FormatStorageResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x8b\x01\n\x14RespondFormatStorage\x12\x35.mavsdk.rpc.camera_server.RespondFormatStorageRequest\x1a\x36.mavsdk.rpc.camera_server.RespondFormatStorageResponse\"\x04\x80\xb5\x18\x01\x12\x8a\x01\n\x16SubscribeResetSettings\x12\x37.mavsdk.rpc.camera_server.SubscribeResetSettingsRequest\x1a/.mavsdk.rpc.camera_server.ResetSettingsResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x8b\x01\n\x14RespondResetSettings\x12\x35.mavsdk.rpc.camera_server.RespondResetSettingsRequest\x1a\x36.mavsdk.rpc.camera_server.RespondResetSettingsResponse\"\x04\x80\xb5\x18\x01\x42,\n\x17io.mavsdk.camera_serverB\x11\x43\x61meraServerProtob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!camera_server/camera_server.proto\x12\x18mavsdk.rpc.camera_server\x1a\x14mavsdk_options.proto\"S\n\x15SetInformationRequest\x12:\n\x0binformation\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.camera_server.Information\"d\n\x16SetInformationResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"]\n\x18SetVideoStreamingRequest\x12\x41\n\x0fvideo_streaming\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.camera_server.VideoStreaming\"g\n\x19SetVideoStreamingResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"+\n\x14SetInProgressRequest\x12\x13\n\x0bin_progress\x18\x01 \x01(\x08\"c\n\x15SetInProgressResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1b\n\x19SubscribeTakePhotoRequest\"\"\n\x11TakePhotoResponse\x12\r\n\x05index\x18\x01 \x01(\x05\"\x9d\x01\n\x17RespondTakePhotoRequest\x12\x45\n\x13take_photo_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\x12;\n\x0c\x63\x61pture_info\x18\x02 \x01(\x0b\x32%.mavsdk.rpc.camera_server.CaptureInfo\"f\n\x18RespondTakePhotoResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1c\n\x1aSubscribeStartVideoRequest\"\'\n\x12StartVideoResponse\x12\x11\n\tstream_id\x18\x01 \x01(\x05\"b\n\x18RespondStartVideoRequest\x12\x46\n\x14start_video_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"g\n\x19RespondStartVideoResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1b\n\x19SubscribeStopVideoRequest\"&\n\x11StopVideoResponse\x12\x11\n\tstream_id\x18\x01 \x01(\x05\"`\n\x17RespondStopVideoRequest\x12\x45\n\x13stop_video_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"f\n\x18RespondStopVideoResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"%\n#SubscribeStartVideoStreamingRequest\"0\n\x1bStartVideoStreamingResponse\x12\x11\n\tstream_id\x18\x01 \x01(\x05\"u\n!RespondStartVideoStreamingRequest\x12P\n\x1estart_video_streaming_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"p\n\"RespondStartVideoStreamingResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"$\n\"SubscribeStopVideoStreamingRequest\"/\n\x1aStopVideoStreamingResponse\x12\x11\n\tstream_id\x18\x01 \x01(\x05\"s\n RespondStopVideoStreamingRequest\x12O\n\x1dstop_video_streaming_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"o\n!RespondStopVideoStreamingResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x19\n\x17SubscribeSetModeRequest\"?\n\x0fSetModeResponse\x12,\n\x04mode\x18\x01 \x01(\x0e\x32\x1e.mavsdk.rpc.camera_server.Mode\"\\\n\x15RespondSetModeRequest\x12\x43\n\x11set_mode_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"d\n\x16RespondSetModeResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"$\n\"SubscribeStorageInformationRequest\"0\n\x1aStorageInformationResponse\x12\x12\n\nstorage_id\x18\x01 \x01(\x05\"\xbd\x01\n RespondStorageInformationRequest\x12N\n\x1cstorage_information_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\x12I\n\x13storage_information\x18\x02 \x01(\x0b\x32,.mavsdk.rpc.camera_server.StorageInformation\"o\n!RespondStorageInformationResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1f\n\x1dSubscribeCaptureStatusRequest\")\n\x15\x43\x61ptureStatusResponse\x12\x10\n\x08reserved\x18\x01 \x01(\x05\"\xa9\x01\n\x1bRespondCaptureStatusRequest\x12I\n\x17\x63\x61pture_status_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\x12?\n\x0e\x63\x61pture_status\x18\x02 \x01(\x0b\x32\'.mavsdk.rpc.camera_server.CaptureStatus\"j\n\x1cRespondCaptureStatusResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1f\n\x1dSubscribeFormatStorageRequest\"+\n\x15\x46ormatStorageResponse\x12\x12\n\nstorage_id\x18\x01 \x01(\x05\"h\n\x1bRespondFormatStorageRequest\x12I\n\x17\x66ormat_storage_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"j\n\x1cRespondFormatStorageResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1f\n\x1dSubscribeResetSettingsRequest\")\n\x15ResetSettingsResponse\x12\x10\n\x08reserved\x18\x01 \x01(\x05\"h\n\x1bRespondResetSettingsRequest\x12I\n\x17reset_settings_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"j\n\x1cRespondResetSettingsResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1d\n\x1bSubscribeZoomInStartRequest\"\'\n\x13ZoomInStartResponse\x12\x10\n\x08reserved\x18\x01 \x01(\x05\"e\n\x19RespondZoomInStartRequest\x12H\n\x16zoom_in_start_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"h\n\x1aRespondZoomInStartResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1e\n\x1cSubscribeZoomOutStartRequest\"(\n\x14ZoomOutStartResponse\x12\x10\n\x08reserved\x18\x01 \x01(\x05\"g\n\x1aRespondZoomOutStartRequest\x12I\n\x17zoom_out_start_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"i\n\x1bRespondZoomOutStartResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1a\n\x18SubscribeZoomStopRequest\"$\n\x10ZoomStopResponse\x12\x10\n\x08reserved\x18\x01 \x01(\x05\"^\n\x16RespondZoomStopRequest\x12\x44\n\x12zoom_stop_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"e\n\x17RespondZoomStopResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\x1b\n\x19SubscribeZoomRangeRequest\"#\n\x11ZoomRangeResponse\x12\x0e\n\x06\x66\x61\x63tor\x18\x01 \x01(\x02\"`\n\x17RespondZoomRangeRequest\x12\x45\n\x13zoom_range_feedback\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.camera_server.CameraFeedback\"f\n\x18RespondZoomRangeResponse\x12J\n\x14\x63\x61mera_server_result\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.camera_server.CameraServerResult\"\xbe\x02\n\x0bInformation\x12\x13\n\x0bvendor_name\x18\x01 \x01(\t\x12\x12\n\nmodel_name\x18\x02 \x01(\t\x12\x18\n\x10\x66irmware_version\x18\x03 \x01(\t\x12\x17\n\x0f\x66ocal_length_mm\x18\x04 \x01(\x02\x12!\n\x19horizontal_sensor_size_mm\x18\x05 \x01(\x02\x12\x1f\n\x17vertical_sensor_size_mm\x18\x06 \x01(\x02\x12 \n\x18horizontal_resolution_px\x18\x07 \x01(\r\x12\x1e\n\x16vertical_resolution_px\x18\x08 \x01(\r\x12\x0f\n\x07lens_id\x18\t \x01(\r\x12\x1f\n\x17\x64\x65\x66inition_file_version\x18\n \x01(\r\x12\x1b\n\x13\x64\x65\x66inition_file_uri\x18\x0b \x01(\t\";\n\x0eVideoStreaming\x12\x17\n\x0fhas_rtsp_server\x18\x01 \x01(\x08\x12\x10\n\x08rtsp_uri\x18\x02 \x01(\t\"q\n\x08Position\x12\x14\n\x0clatitude_deg\x18\x01 \x01(\x01\x12\x15\n\rlongitude_deg\x18\x02 \x01(\x01\x12\x1b\n\x13\x61\x62solute_altitude_m\x18\x03 \x01(\x02\x12\x1b\n\x13relative_altitude_m\x18\x04 \x01(\x02\"8\n\nQuaternion\x12\t\n\x01w\x18\x01 \x01(\x02\x12\t\n\x01x\x18\x02 \x01(\x02\x12\t\n\x01y\x18\x03 \x01(\x02\x12\t\n\x01z\x18\x04 \x01(\x02\"\xd0\x01\n\x0b\x43\x61ptureInfo\x12\x34\n\x08position\x18\x01 \x01(\x0b\x32\".mavsdk.rpc.camera_server.Position\x12\x41\n\x13\x61ttitude_quaternion\x18\x02 \x01(\x0b\x32$.mavsdk.rpc.camera_server.Quaternion\x12\x13\n\x0btime_utc_us\x18\x03 \x01(\x04\x12\x12\n\nis_success\x18\x04 \x01(\x08\x12\r\n\x05index\x18\x05 \x01(\x05\x12\x10\n\x08\x66ile_url\x18\x06 \x01(\t\"\xb3\x02\n\x12\x43\x61meraServerResult\x12\x43\n\x06result\x18\x01 \x01(\x0e\x32\x33.mavsdk.rpc.camera_server.CameraServerResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xc3\x01\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x16\n\x12RESULT_IN_PROGRESS\x10\x02\x12\x0f\n\x0bRESULT_BUSY\x10\x03\x12\x11\n\rRESULT_DENIED\x10\x04\x12\x10\n\x0cRESULT_ERROR\x10\x05\x12\x12\n\x0eRESULT_TIMEOUT\x10\x06\x12\x19\n\x15RESULT_WRONG_ARGUMENT\x10\x07\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x08\"\x8c\x05\n\x12StorageInformation\x12\x18\n\x10used_storage_mib\x18\x01 \x01(\x02\x12\x1d\n\x15\x61vailable_storage_mib\x18\x02 \x01(\x02\x12\x19\n\x11total_storage_mib\x18\x03 \x01(\x02\x12R\n\x0estorage_status\x18\x04 \x01(\x0e\x32:.mavsdk.rpc.camera_server.StorageInformation.StorageStatus\x12\x12\n\nstorage_id\x18\x05 \x01(\r\x12N\n\x0cstorage_type\x18\x06 \x01(\x0e\x32\x38.mavsdk.rpc.camera_server.StorageInformation.StorageType\x12\x18\n\x10read_speed_mib_s\x18\x07 \x01(\x02\x12\x19\n\x11write_speed_mib_s\x18\x08 \x01(\x02\"\x91\x01\n\rStorageStatus\x12 \n\x1cSTORAGE_STATUS_NOT_AVAILABLE\x10\x00\x12\x1e\n\x1aSTORAGE_STATUS_UNFORMATTED\x10\x01\x12\x1c\n\x18STORAGE_STATUS_FORMATTED\x10\x02\x12 \n\x1cSTORAGE_STATUS_NOT_SUPPORTED\x10\x03\"\xa0\x01\n\x0bStorageType\x12\x18\n\x14STORAGE_TYPE_UNKNOWN\x10\x00\x12\x1a\n\x16STORAGE_TYPE_USB_STICK\x10\x01\x12\x13\n\x0fSTORAGE_TYPE_SD\x10\x02\x12\x18\n\x14STORAGE_TYPE_MICROSD\x10\x03\x12\x13\n\x0fSTORAGE_TYPE_HD\x10\x07\x12\x17\n\x12STORAGE_TYPE_OTHER\x10\xfe\x01\"\xee\x03\n\rCaptureStatus\x12\x18\n\x10image_interval_s\x18\x01 \x01(\x02\x12\x18\n\x10recording_time_s\x18\x02 \x01(\x02\x12\x1e\n\x16\x61vailable_capacity_mib\x18\x03 \x01(\x02\x12I\n\x0cimage_status\x18\x04 \x01(\x0e\x32\x33.mavsdk.rpc.camera_server.CaptureStatus.ImageStatus\x12I\n\x0cvideo_status\x18\x05 \x01(\x0e\x32\x33.mavsdk.rpc.camera_server.CaptureStatus.VideoStatus\x12\x13\n\x0bimage_count\x18\x06 \x01(\x05\"\x91\x01\n\x0bImageStatus\x12\x15\n\x11IMAGE_STATUS_IDLE\x10\x00\x12$\n IMAGE_STATUS_CAPTURE_IN_PROGRESS\x10\x01\x12\x1e\n\x1aIMAGE_STATUS_INTERVAL_IDLE\x10\x02\x12%\n!IMAGE_STATUS_INTERVAL_IN_PROGRESS\x10\x03\"J\n\x0bVideoStatus\x12\x15\n\x11VIDEO_STATUS_IDLE\x10\x00\x12$\n VIDEO_STATUS_CAPTURE_IN_PROGRESS\x10\x01*{\n\x0e\x43\x61meraFeedback\x12\x1b\n\x17\x43\x41MERA_FEEDBACK_UNKNOWN\x10\x00\x12\x16\n\x12\x43\x41MERA_FEEDBACK_OK\x10\x01\x12\x18\n\x14\x43\x41MERA_FEEDBACK_BUSY\x10\x02\x12\x1a\n\x16\x43\x41MERA_FEEDBACK_FAILED\x10\x03*8\n\x04Mode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0e\n\nMODE_PHOTO\x10\x01\x12\x0e\n\nMODE_VIDEO\x10\x02\x32\xaf!\n\x13\x43\x61meraServerService\x12y\n\x0eSetInformation\x12/.mavsdk.rpc.camera_server.SetInformationRequest\x1a\x30.mavsdk.rpc.camera_server.SetInformationResponse\"\x04\x80\xb5\x18\x01\x12\x82\x01\n\x11SetVideoStreaming\x12\x32.mavsdk.rpc.camera_server.SetVideoStreamingRequest\x1a\x33.mavsdk.rpc.camera_server.SetVideoStreamingResponse\"\x04\x80\xb5\x18\x01\x12v\n\rSetInProgress\x12..mavsdk.rpc.camera_server.SetInProgressRequest\x1a/.mavsdk.rpc.camera_server.SetInProgressResponse\"\x04\x80\xb5\x18\x01\x12~\n\x12SubscribeTakePhoto\x12\x33.mavsdk.rpc.camera_server.SubscribeTakePhotoRequest\x1a+.mavsdk.rpc.camera_server.TakePhotoResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x7f\n\x10RespondTakePhoto\x12\x31.mavsdk.rpc.camera_server.RespondTakePhotoRequest\x1a\x32.mavsdk.rpc.camera_server.RespondTakePhotoResponse\"\x04\x80\xb5\x18\x01\x12\x81\x01\n\x13SubscribeStartVideo\x12\x34.mavsdk.rpc.camera_server.SubscribeStartVideoRequest\x1a,.mavsdk.rpc.camera_server.StartVideoResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x82\x01\n\x11RespondStartVideo\x12\x32.mavsdk.rpc.camera_server.RespondStartVideoRequest\x1a\x33.mavsdk.rpc.camera_server.RespondStartVideoResponse\"\x04\x80\xb5\x18\x01\x12~\n\x12SubscribeStopVideo\x12\x33.mavsdk.rpc.camera_server.SubscribeStopVideoRequest\x1a+.mavsdk.rpc.camera_server.StopVideoResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x7f\n\x10RespondStopVideo\x12\x31.mavsdk.rpc.camera_server.RespondStopVideoRequest\x1a\x32.mavsdk.rpc.camera_server.RespondStopVideoResponse\"\x04\x80\xb5\x18\x01\x12\x9c\x01\n\x1cSubscribeStartVideoStreaming\x12=.mavsdk.rpc.camera_server.SubscribeStartVideoStreamingRequest\x1a\x35.mavsdk.rpc.camera_server.StartVideoStreamingResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x9d\x01\n\x1aRespondStartVideoStreaming\x12;.mavsdk.rpc.camera_server.RespondStartVideoStreamingRequest\x1a<.mavsdk.rpc.camera_server.RespondStartVideoStreamingResponse\"\x04\x80\xb5\x18\x01\x12\x99\x01\n\x1bSubscribeStopVideoStreaming\x12<.mavsdk.rpc.camera_server.SubscribeStopVideoStreamingRequest\x1a\x34.mavsdk.rpc.camera_server.StopVideoStreamingResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x9a\x01\n\x19RespondStopVideoStreaming\x12:.mavsdk.rpc.camera_server.RespondStopVideoStreamingRequest\x1a;.mavsdk.rpc.camera_server.RespondStopVideoStreamingResponse\"\x04\x80\xb5\x18\x01\x12x\n\x10SubscribeSetMode\x12\x31.mavsdk.rpc.camera_server.SubscribeSetModeRequest\x1a).mavsdk.rpc.camera_server.SetModeResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12y\n\x0eRespondSetMode\x12/.mavsdk.rpc.camera_server.RespondSetModeRequest\x1a\x30.mavsdk.rpc.camera_server.RespondSetModeResponse\"\x04\x80\xb5\x18\x01\x12\x99\x01\n\x1bSubscribeStorageInformation\x12<.mavsdk.rpc.camera_server.SubscribeStorageInformationRequest\x1a\x34.mavsdk.rpc.camera_server.StorageInformationResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x9a\x01\n\x19RespondStorageInformation\x12:.mavsdk.rpc.camera_server.RespondStorageInformationRequest\x1a;.mavsdk.rpc.camera_server.RespondStorageInformationResponse\"\x04\x80\xb5\x18\x01\x12\x8a\x01\n\x16SubscribeCaptureStatus\x12\x37.mavsdk.rpc.camera_server.SubscribeCaptureStatusRequest\x1a/.mavsdk.rpc.camera_server.CaptureStatusResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x8b\x01\n\x14RespondCaptureStatus\x12\x35.mavsdk.rpc.camera_server.RespondCaptureStatusRequest\x1a\x36.mavsdk.rpc.camera_server.RespondCaptureStatusResponse\"\x04\x80\xb5\x18\x01\x12\x8a\x01\n\x16SubscribeFormatStorage\x12\x37.mavsdk.rpc.camera_server.SubscribeFormatStorageRequest\x1a/.mavsdk.rpc.camera_server.FormatStorageResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x8b\x01\n\x14RespondFormatStorage\x12\x35.mavsdk.rpc.camera_server.RespondFormatStorageRequest\x1a\x36.mavsdk.rpc.camera_server.RespondFormatStorageResponse\"\x04\x80\xb5\x18\x01\x12\x8a\x01\n\x16SubscribeResetSettings\x12\x37.mavsdk.rpc.camera_server.SubscribeResetSettingsRequest\x1a/.mavsdk.rpc.camera_server.ResetSettingsResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x8b\x01\n\x14RespondResetSettings\x12\x35.mavsdk.rpc.camera_server.RespondResetSettingsRequest\x1a\x36.mavsdk.rpc.camera_server.RespondResetSettingsResponse\"\x04\x80\xb5\x18\x01\x12\x84\x01\n\x14SubscribeZoomInStart\x12\x35.mavsdk.rpc.camera_server.SubscribeZoomInStartRequest\x1a-.mavsdk.rpc.camera_server.ZoomInStartResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x85\x01\n\x12RespondZoomInStart\x12\x33.mavsdk.rpc.camera_server.RespondZoomInStartRequest\x1a\x34.mavsdk.rpc.camera_server.RespondZoomInStartResponse\"\x04\x80\xb5\x18\x01\x12\x87\x01\n\x15SubscribeZoomOutStart\x12\x36.mavsdk.rpc.camera_server.SubscribeZoomOutStartRequest\x1a..mavsdk.rpc.camera_server.ZoomOutStartResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x88\x01\n\x13RespondZoomOutStart\x12\x34.mavsdk.rpc.camera_server.RespondZoomOutStartRequest\x1a\x35.mavsdk.rpc.camera_server.RespondZoomOutStartResponse\"\x04\x80\xb5\x18\x01\x12{\n\x11SubscribeZoomStop\x12\x32.mavsdk.rpc.camera_server.SubscribeZoomStopRequest\x1a*.mavsdk.rpc.camera_server.ZoomStopResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12|\n\x0fRespondZoomStop\x12\x30.mavsdk.rpc.camera_server.RespondZoomStopRequest\x1a\x31.mavsdk.rpc.camera_server.RespondZoomStopResponse\"\x04\x80\xb5\x18\x01\x12~\n\x12SubscribeZoomRange\x12\x33.mavsdk.rpc.camera_server.SubscribeZoomRangeRequest\x1a+.mavsdk.rpc.camera_server.ZoomRangeResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x7f\n\x10RespondZoomRange\x12\x31.mavsdk.rpc.camera_server.RespondZoomRangeRequest\x1a\x32.mavsdk.rpc.camera_server.RespondZoomRangeResponse\"\x04\x80\xb5\x18\x01\x42,\n\x17io.mavsdk.camera_serverB\x11\x43\x61meraServerProtob\x06proto3') _CAMERAFEEDBACK = DESCRIPTOR.enum_types_by_name['CameraFeedback'] CameraFeedback = enum_type_wrapper.EnumTypeWrapper(_CAMERAFEEDBACK) @@ -77,6 +77,22 @@ _RESETSETTINGSRESPONSE = DESCRIPTOR.message_types_by_name['ResetSettingsResponse'] _RESPONDRESETSETTINGSREQUEST = DESCRIPTOR.message_types_by_name['RespondResetSettingsRequest'] _RESPONDRESETSETTINGSRESPONSE = DESCRIPTOR.message_types_by_name['RespondResetSettingsResponse'] +_SUBSCRIBEZOOMINSTARTREQUEST = DESCRIPTOR.message_types_by_name['SubscribeZoomInStartRequest'] +_ZOOMINSTARTRESPONSE = DESCRIPTOR.message_types_by_name['ZoomInStartResponse'] +_RESPONDZOOMINSTARTREQUEST = DESCRIPTOR.message_types_by_name['RespondZoomInStartRequest'] +_RESPONDZOOMINSTARTRESPONSE = DESCRIPTOR.message_types_by_name['RespondZoomInStartResponse'] +_SUBSCRIBEZOOMOUTSTARTREQUEST = DESCRIPTOR.message_types_by_name['SubscribeZoomOutStartRequest'] +_ZOOMOUTSTARTRESPONSE = DESCRIPTOR.message_types_by_name['ZoomOutStartResponse'] +_RESPONDZOOMOUTSTARTREQUEST = DESCRIPTOR.message_types_by_name['RespondZoomOutStartRequest'] +_RESPONDZOOMOUTSTARTRESPONSE = DESCRIPTOR.message_types_by_name['RespondZoomOutStartResponse'] +_SUBSCRIBEZOOMSTOPREQUEST = DESCRIPTOR.message_types_by_name['SubscribeZoomStopRequest'] +_ZOOMSTOPRESPONSE = DESCRIPTOR.message_types_by_name['ZoomStopResponse'] +_RESPONDZOOMSTOPREQUEST = DESCRIPTOR.message_types_by_name['RespondZoomStopRequest'] +_RESPONDZOOMSTOPRESPONSE = DESCRIPTOR.message_types_by_name['RespondZoomStopResponse'] +_SUBSCRIBEZOOMRANGEREQUEST = DESCRIPTOR.message_types_by_name['SubscribeZoomRangeRequest'] +_ZOOMRANGERESPONSE = DESCRIPTOR.message_types_by_name['ZoomRangeResponse'] +_RESPONDZOOMRANGEREQUEST = DESCRIPTOR.message_types_by_name['RespondZoomRangeRequest'] +_RESPONDZOOMRANGERESPONSE = DESCRIPTOR.message_types_by_name['RespondZoomRangeResponse'] _INFORMATION = DESCRIPTOR.message_types_by_name['Information'] _VIDEOSTREAMING = DESCRIPTOR.message_types_by_name['VideoStreaming'] _POSITION = DESCRIPTOR.message_types_by_name['Position'] @@ -412,6 +428,118 @@ }) _sym_db.RegisterMessage(RespondResetSettingsResponse) +SubscribeZoomInStartRequest = _reflection.GeneratedProtocolMessageType('SubscribeZoomInStartRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBEZOOMINSTARTREQUEST, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.SubscribeZoomInStartRequest) + }) +_sym_db.RegisterMessage(SubscribeZoomInStartRequest) + +ZoomInStartResponse = _reflection.GeneratedProtocolMessageType('ZoomInStartResponse', (_message.Message,), { + 'DESCRIPTOR' : _ZOOMINSTARTRESPONSE, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.ZoomInStartResponse) + }) +_sym_db.RegisterMessage(ZoomInStartResponse) + +RespondZoomInStartRequest = _reflection.GeneratedProtocolMessageType('RespondZoomInStartRequest', (_message.Message,), { + 'DESCRIPTOR' : _RESPONDZOOMINSTARTREQUEST, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.RespondZoomInStartRequest) + }) +_sym_db.RegisterMessage(RespondZoomInStartRequest) + +RespondZoomInStartResponse = _reflection.GeneratedProtocolMessageType('RespondZoomInStartResponse', (_message.Message,), { + 'DESCRIPTOR' : _RESPONDZOOMINSTARTRESPONSE, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.RespondZoomInStartResponse) + }) +_sym_db.RegisterMessage(RespondZoomInStartResponse) + +SubscribeZoomOutStartRequest = _reflection.GeneratedProtocolMessageType('SubscribeZoomOutStartRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBEZOOMOUTSTARTREQUEST, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.SubscribeZoomOutStartRequest) + }) +_sym_db.RegisterMessage(SubscribeZoomOutStartRequest) + +ZoomOutStartResponse = _reflection.GeneratedProtocolMessageType('ZoomOutStartResponse', (_message.Message,), { + 'DESCRIPTOR' : _ZOOMOUTSTARTRESPONSE, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.ZoomOutStartResponse) + }) +_sym_db.RegisterMessage(ZoomOutStartResponse) + +RespondZoomOutStartRequest = _reflection.GeneratedProtocolMessageType('RespondZoomOutStartRequest', (_message.Message,), { + 'DESCRIPTOR' : _RESPONDZOOMOUTSTARTREQUEST, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.RespondZoomOutStartRequest) + }) +_sym_db.RegisterMessage(RespondZoomOutStartRequest) + +RespondZoomOutStartResponse = _reflection.GeneratedProtocolMessageType('RespondZoomOutStartResponse', (_message.Message,), { + 'DESCRIPTOR' : _RESPONDZOOMOUTSTARTRESPONSE, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.RespondZoomOutStartResponse) + }) +_sym_db.RegisterMessage(RespondZoomOutStartResponse) + +SubscribeZoomStopRequest = _reflection.GeneratedProtocolMessageType('SubscribeZoomStopRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBEZOOMSTOPREQUEST, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.SubscribeZoomStopRequest) + }) +_sym_db.RegisterMessage(SubscribeZoomStopRequest) + +ZoomStopResponse = _reflection.GeneratedProtocolMessageType('ZoomStopResponse', (_message.Message,), { + 'DESCRIPTOR' : _ZOOMSTOPRESPONSE, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.ZoomStopResponse) + }) +_sym_db.RegisterMessage(ZoomStopResponse) + +RespondZoomStopRequest = _reflection.GeneratedProtocolMessageType('RespondZoomStopRequest', (_message.Message,), { + 'DESCRIPTOR' : _RESPONDZOOMSTOPREQUEST, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.RespondZoomStopRequest) + }) +_sym_db.RegisterMessage(RespondZoomStopRequest) + +RespondZoomStopResponse = _reflection.GeneratedProtocolMessageType('RespondZoomStopResponse', (_message.Message,), { + 'DESCRIPTOR' : _RESPONDZOOMSTOPRESPONSE, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.RespondZoomStopResponse) + }) +_sym_db.RegisterMessage(RespondZoomStopResponse) + +SubscribeZoomRangeRequest = _reflection.GeneratedProtocolMessageType('SubscribeZoomRangeRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBEZOOMRANGEREQUEST, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.SubscribeZoomRangeRequest) + }) +_sym_db.RegisterMessage(SubscribeZoomRangeRequest) + +ZoomRangeResponse = _reflection.GeneratedProtocolMessageType('ZoomRangeResponse', (_message.Message,), { + 'DESCRIPTOR' : _ZOOMRANGERESPONSE, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.ZoomRangeResponse) + }) +_sym_db.RegisterMessage(ZoomRangeResponse) + +RespondZoomRangeRequest = _reflection.GeneratedProtocolMessageType('RespondZoomRangeRequest', (_message.Message,), { + 'DESCRIPTOR' : _RESPONDZOOMRANGEREQUEST, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.RespondZoomRangeRequest) + }) +_sym_db.RegisterMessage(RespondZoomRangeRequest) + +RespondZoomRangeResponse = _reflection.GeneratedProtocolMessageType('RespondZoomRangeResponse', (_message.Message,), { + 'DESCRIPTOR' : _RESPONDZOOMRANGERESPONSE, + '__module__' : 'camera_server.camera_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.camera_server.RespondZoomRangeResponse) + }) +_sym_db.RegisterMessage(RespondZoomRangeResponse) + Information = _reflection.GeneratedProtocolMessageType('Information', (_message.Message,), { 'DESCRIPTOR' : _INFORMATION, '__module__' : 'camera_server.camera_server_pb2' @@ -519,10 +647,26 @@ _CAMERASERVERSERVICE.methods_by_name['SubscribeResetSettings']._serialized_options = b'\200\265\030\000' _CAMERASERVERSERVICE.methods_by_name['RespondResetSettings']._options = None _CAMERASERVERSERVICE.methods_by_name['RespondResetSettings']._serialized_options = b'\200\265\030\001' - _CAMERAFEEDBACK._serialized_start=5980 - _CAMERAFEEDBACK._serialized_end=6103 - _MODE._serialized_start=6105 - _MODE._serialized_end=6161 + _CAMERASERVERSERVICE.methods_by_name['SubscribeZoomInStart']._options = None + _CAMERASERVERSERVICE.methods_by_name['SubscribeZoomInStart']._serialized_options = b'\200\265\030\000' + _CAMERASERVERSERVICE.methods_by_name['RespondZoomInStart']._options = None + _CAMERASERVERSERVICE.methods_by_name['RespondZoomInStart']._serialized_options = b'\200\265\030\001' + _CAMERASERVERSERVICE.methods_by_name['SubscribeZoomOutStart']._options = None + _CAMERASERVERSERVICE.methods_by_name['SubscribeZoomOutStart']._serialized_options = b'\200\265\030\000' + _CAMERASERVERSERVICE.methods_by_name['RespondZoomOutStart']._options = None + _CAMERASERVERSERVICE.methods_by_name['RespondZoomOutStart']._serialized_options = b'\200\265\030\001' + _CAMERASERVERSERVICE.methods_by_name['SubscribeZoomStop']._options = None + _CAMERASERVERSERVICE.methods_by_name['SubscribeZoomStop']._serialized_options = b'\200\265\030\000' + _CAMERASERVERSERVICE.methods_by_name['RespondZoomStop']._options = None + _CAMERASERVERSERVICE.methods_by_name['RespondZoomStop']._serialized_options = b'\200\265\030\001' + _CAMERASERVERSERVICE.methods_by_name['SubscribeZoomRange']._options = None + _CAMERASERVERSERVICE.methods_by_name['SubscribeZoomRange']._serialized_options = b'\200\265\030\000' + _CAMERASERVERSERVICE.methods_by_name['RespondZoomRange']._options = None + _CAMERASERVERSERVICE.methods_by_name['RespondZoomRange']._serialized_options = b'\200\265\030\001' + _CAMERAFEEDBACK._serialized_start=7080 + _CAMERAFEEDBACK._serialized_end=7203 + _MODE._serialized_start=7205 + _MODE._serialized_end=7261 _SETINFORMATIONREQUEST._serialized_start=85 _SETINFORMATIONREQUEST._serialized_end=168 _SETINFORMATIONRESPONSE._serialized_start=170 @@ -615,32 +759,64 @@ _RESPONDRESETSETTINGSREQUEST._serialized_end=3642 _RESPONDRESETSETTINGSRESPONSE._serialized_start=3644 _RESPONDRESETSETTINGSRESPONSE._serialized_end=3750 - _INFORMATION._serialized_start=3753 - _INFORMATION._serialized_end=4071 - _VIDEOSTREAMING._serialized_start=4073 - _VIDEOSTREAMING._serialized_end=4132 - _POSITION._serialized_start=4134 - _POSITION._serialized_end=4247 - _QUATERNION._serialized_start=4249 - _QUATERNION._serialized_end=4305 - _CAPTUREINFO._serialized_start=4308 - _CAPTUREINFO._serialized_end=4516 - _CAMERASERVERRESULT._serialized_start=4519 - _CAMERASERVERRESULT._serialized_end=4826 - _CAMERASERVERRESULT_RESULT._serialized_start=4631 - _CAMERASERVERRESULT_RESULT._serialized_end=4826 - _STORAGEINFORMATION._serialized_start=4829 - _STORAGEINFORMATION._serialized_end=5481 - _STORAGEINFORMATION_STORAGESTATUS._serialized_start=5173 - _STORAGEINFORMATION_STORAGESTATUS._serialized_end=5318 - _STORAGEINFORMATION_STORAGETYPE._serialized_start=5321 - _STORAGEINFORMATION_STORAGETYPE._serialized_end=5481 - _CAPTURESTATUS._serialized_start=5484 - _CAPTURESTATUS._serialized_end=5978 - _CAPTURESTATUS_IMAGESTATUS._serialized_start=5757 - _CAPTURESTATUS_IMAGESTATUS._serialized_end=5902 - _CAPTURESTATUS_VIDEOSTATUS._serialized_start=5904 - _CAPTURESTATUS_VIDEOSTATUS._serialized_end=5978 - _CAMERASERVERSERVICE._serialized_start=6164 - _CAMERASERVERSERVICE._serialized_end=9379 + _SUBSCRIBEZOOMINSTARTREQUEST._serialized_start=3752 + _SUBSCRIBEZOOMINSTARTREQUEST._serialized_end=3781 + _ZOOMINSTARTRESPONSE._serialized_start=3783 + _ZOOMINSTARTRESPONSE._serialized_end=3822 + _RESPONDZOOMINSTARTREQUEST._serialized_start=3824 + _RESPONDZOOMINSTARTREQUEST._serialized_end=3925 + _RESPONDZOOMINSTARTRESPONSE._serialized_start=3927 + _RESPONDZOOMINSTARTRESPONSE._serialized_end=4031 + _SUBSCRIBEZOOMOUTSTARTREQUEST._serialized_start=4033 + _SUBSCRIBEZOOMOUTSTARTREQUEST._serialized_end=4063 + _ZOOMOUTSTARTRESPONSE._serialized_start=4065 + _ZOOMOUTSTARTRESPONSE._serialized_end=4105 + _RESPONDZOOMOUTSTARTREQUEST._serialized_start=4107 + _RESPONDZOOMOUTSTARTREQUEST._serialized_end=4210 + _RESPONDZOOMOUTSTARTRESPONSE._serialized_start=4212 + _RESPONDZOOMOUTSTARTRESPONSE._serialized_end=4317 + _SUBSCRIBEZOOMSTOPREQUEST._serialized_start=4319 + _SUBSCRIBEZOOMSTOPREQUEST._serialized_end=4345 + _ZOOMSTOPRESPONSE._serialized_start=4347 + _ZOOMSTOPRESPONSE._serialized_end=4383 + _RESPONDZOOMSTOPREQUEST._serialized_start=4385 + _RESPONDZOOMSTOPREQUEST._serialized_end=4479 + _RESPONDZOOMSTOPRESPONSE._serialized_start=4481 + _RESPONDZOOMSTOPRESPONSE._serialized_end=4582 + _SUBSCRIBEZOOMRANGEREQUEST._serialized_start=4584 + _SUBSCRIBEZOOMRANGEREQUEST._serialized_end=4611 + _ZOOMRANGERESPONSE._serialized_start=4613 + _ZOOMRANGERESPONSE._serialized_end=4648 + _RESPONDZOOMRANGEREQUEST._serialized_start=4650 + _RESPONDZOOMRANGEREQUEST._serialized_end=4746 + _RESPONDZOOMRANGERESPONSE._serialized_start=4748 + _RESPONDZOOMRANGERESPONSE._serialized_end=4850 + _INFORMATION._serialized_start=4853 + _INFORMATION._serialized_end=5171 + _VIDEOSTREAMING._serialized_start=5173 + _VIDEOSTREAMING._serialized_end=5232 + _POSITION._serialized_start=5234 + _POSITION._serialized_end=5347 + _QUATERNION._serialized_start=5349 + _QUATERNION._serialized_end=5405 + _CAPTUREINFO._serialized_start=5408 + _CAPTUREINFO._serialized_end=5616 + _CAMERASERVERRESULT._serialized_start=5619 + _CAMERASERVERRESULT._serialized_end=5926 + _CAMERASERVERRESULT_RESULT._serialized_start=5731 + _CAMERASERVERRESULT_RESULT._serialized_end=5926 + _STORAGEINFORMATION._serialized_start=5929 + _STORAGEINFORMATION._serialized_end=6581 + _STORAGEINFORMATION_STORAGESTATUS._serialized_start=6273 + _STORAGEINFORMATION_STORAGESTATUS._serialized_end=6418 + _STORAGEINFORMATION_STORAGETYPE._serialized_start=6421 + _STORAGEINFORMATION_STORAGETYPE._serialized_end=6581 + _CAPTURESTATUS._serialized_start=6584 + _CAPTURESTATUS._serialized_end=7078 + _CAPTURESTATUS_IMAGESTATUS._serialized_start=6857 + _CAPTURESTATUS_IMAGESTATUS._serialized_end=7002 + _CAPTURESTATUS_VIDEOSTATUS._serialized_start=7004 + _CAPTURESTATUS_VIDEOSTATUS._serialized_end=7078 + _CAMERASERVERSERVICE._serialized_start=7264 + _CAMERASERVERSERVICE._serialized_end=11535 # @@protoc_insertion_point(module_scope) diff --git a/mavsdk/camera_server_pb2_grpc.py b/mavsdk/camera_server_pb2_grpc.py index 2a3ebe76..e56af489 100644 --- a/mavsdk/camera_server_pb2_grpc.py +++ b/mavsdk/camera_server_pb2_grpc.py @@ -130,6 +130,46 @@ def __init__(self, channel): request_serializer=camera__server_dot_camera__server__pb2.RespondResetSettingsRequest.SerializeToString, response_deserializer=camera__server_dot_camera__server__pb2.RespondResetSettingsResponse.FromString, ) + self.SubscribeZoomInStart = channel.unary_stream( + '/mavsdk.rpc.camera_server.CameraServerService/SubscribeZoomInStart', + request_serializer=camera__server_dot_camera__server__pb2.SubscribeZoomInStartRequest.SerializeToString, + response_deserializer=camera__server_dot_camera__server__pb2.ZoomInStartResponse.FromString, + ) + self.RespondZoomInStart = channel.unary_unary( + '/mavsdk.rpc.camera_server.CameraServerService/RespondZoomInStart', + request_serializer=camera__server_dot_camera__server__pb2.RespondZoomInStartRequest.SerializeToString, + response_deserializer=camera__server_dot_camera__server__pb2.RespondZoomInStartResponse.FromString, + ) + self.SubscribeZoomOutStart = channel.unary_stream( + '/mavsdk.rpc.camera_server.CameraServerService/SubscribeZoomOutStart', + request_serializer=camera__server_dot_camera__server__pb2.SubscribeZoomOutStartRequest.SerializeToString, + response_deserializer=camera__server_dot_camera__server__pb2.ZoomOutStartResponse.FromString, + ) + self.RespondZoomOutStart = channel.unary_unary( + '/mavsdk.rpc.camera_server.CameraServerService/RespondZoomOutStart', + request_serializer=camera__server_dot_camera__server__pb2.RespondZoomOutStartRequest.SerializeToString, + response_deserializer=camera__server_dot_camera__server__pb2.RespondZoomOutStartResponse.FromString, + ) + self.SubscribeZoomStop = channel.unary_stream( + '/mavsdk.rpc.camera_server.CameraServerService/SubscribeZoomStop', + request_serializer=camera__server_dot_camera__server__pb2.SubscribeZoomStopRequest.SerializeToString, + response_deserializer=camera__server_dot_camera__server__pb2.ZoomStopResponse.FromString, + ) + self.RespondZoomStop = channel.unary_unary( + '/mavsdk.rpc.camera_server.CameraServerService/RespondZoomStop', + request_serializer=camera__server_dot_camera__server__pb2.RespondZoomStopRequest.SerializeToString, + response_deserializer=camera__server_dot_camera__server__pb2.RespondZoomStopResponse.FromString, + ) + self.SubscribeZoomRange = channel.unary_stream( + '/mavsdk.rpc.camera_server.CameraServerService/SubscribeZoomRange', + request_serializer=camera__server_dot_camera__server__pb2.SubscribeZoomRangeRequest.SerializeToString, + response_deserializer=camera__server_dot_camera__server__pb2.ZoomRangeResponse.FromString, + ) + self.RespondZoomRange = channel.unary_unary( + '/mavsdk.rpc.camera_server.CameraServerService/RespondZoomRange', + request_serializer=camera__server_dot_camera__server__pb2.RespondZoomRangeRequest.SerializeToString, + response_deserializer=camera__server_dot_camera__server__pb2.RespondZoomRangeResponse.FromString, + ) class CameraServerServiceServicer(object): @@ -297,6 +337,62 @@ def RespondResetSettings(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def SubscribeZoomInStart(self, request, context): + """Subscribe to zoom in start command + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RespondZoomInStart(self, request, context): + """Respond to zoom in start. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubscribeZoomOutStart(self, request, context): + """Subscribe to zoom out start command + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RespondZoomOutStart(self, request, context): + """Respond to zoom out start. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubscribeZoomStop(self, request, context): + """Subscribe to zoom stop command + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RespondZoomStop(self, request, context): + """Respond to zoom stop. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubscribeZoomRange(self, request, context): + """Subscribe to zoom range command + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RespondZoomRange(self, request, context): + """Respond to zoom range. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_CameraServerServiceServicer_to_server(servicer, server): rpc_method_handlers = { @@ -415,6 +511,46 @@ def add_CameraServerServiceServicer_to_server(servicer, server): request_deserializer=camera__server_dot_camera__server__pb2.RespondResetSettingsRequest.FromString, response_serializer=camera__server_dot_camera__server__pb2.RespondResetSettingsResponse.SerializeToString, ), + 'SubscribeZoomInStart': grpc.unary_stream_rpc_method_handler( + servicer.SubscribeZoomInStart, + request_deserializer=camera__server_dot_camera__server__pb2.SubscribeZoomInStartRequest.FromString, + response_serializer=camera__server_dot_camera__server__pb2.ZoomInStartResponse.SerializeToString, + ), + 'RespondZoomInStart': grpc.unary_unary_rpc_method_handler( + servicer.RespondZoomInStart, + request_deserializer=camera__server_dot_camera__server__pb2.RespondZoomInStartRequest.FromString, + response_serializer=camera__server_dot_camera__server__pb2.RespondZoomInStartResponse.SerializeToString, + ), + 'SubscribeZoomOutStart': grpc.unary_stream_rpc_method_handler( + servicer.SubscribeZoomOutStart, + request_deserializer=camera__server_dot_camera__server__pb2.SubscribeZoomOutStartRequest.FromString, + response_serializer=camera__server_dot_camera__server__pb2.ZoomOutStartResponse.SerializeToString, + ), + 'RespondZoomOutStart': grpc.unary_unary_rpc_method_handler( + servicer.RespondZoomOutStart, + request_deserializer=camera__server_dot_camera__server__pb2.RespondZoomOutStartRequest.FromString, + response_serializer=camera__server_dot_camera__server__pb2.RespondZoomOutStartResponse.SerializeToString, + ), + 'SubscribeZoomStop': grpc.unary_stream_rpc_method_handler( + servicer.SubscribeZoomStop, + request_deserializer=camera__server_dot_camera__server__pb2.SubscribeZoomStopRequest.FromString, + response_serializer=camera__server_dot_camera__server__pb2.ZoomStopResponse.SerializeToString, + ), + 'RespondZoomStop': grpc.unary_unary_rpc_method_handler( + servicer.RespondZoomStop, + request_deserializer=camera__server_dot_camera__server__pb2.RespondZoomStopRequest.FromString, + response_serializer=camera__server_dot_camera__server__pb2.RespondZoomStopResponse.SerializeToString, + ), + 'SubscribeZoomRange': grpc.unary_stream_rpc_method_handler( + servicer.SubscribeZoomRange, + request_deserializer=camera__server_dot_camera__server__pb2.SubscribeZoomRangeRequest.FromString, + response_serializer=camera__server_dot_camera__server__pb2.ZoomRangeResponse.SerializeToString, + ), + 'RespondZoomRange': grpc.unary_unary_rpc_method_handler( + servicer.RespondZoomRange, + request_deserializer=camera__server_dot_camera__server__pb2.RespondZoomRangeRequest.FromString, + response_serializer=camera__server_dot_camera__server__pb2.RespondZoomRangeResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'mavsdk.rpc.camera_server.CameraServerService', rpc_method_handlers) @@ -816,3 +952,139 @@ def RespondResetSettings(request, camera__server_dot_camera__server__pb2.RespondResetSettingsResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SubscribeZoomInStart(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/mavsdk.rpc.camera_server.CameraServerService/SubscribeZoomInStart', + camera__server_dot_camera__server__pb2.SubscribeZoomInStartRequest.SerializeToString, + camera__server_dot_camera__server__pb2.ZoomInStartResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RespondZoomInStart(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera_server.CameraServerService/RespondZoomInStart', + camera__server_dot_camera__server__pb2.RespondZoomInStartRequest.SerializeToString, + camera__server_dot_camera__server__pb2.RespondZoomInStartResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SubscribeZoomOutStart(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/mavsdk.rpc.camera_server.CameraServerService/SubscribeZoomOutStart', + camera__server_dot_camera__server__pb2.SubscribeZoomOutStartRequest.SerializeToString, + camera__server_dot_camera__server__pb2.ZoomOutStartResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RespondZoomOutStart(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera_server.CameraServerService/RespondZoomOutStart', + camera__server_dot_camera__server__pb2.RespondZoomOutStartRequest.SerializeToString, + camera__server_dot_camera__server__pb2.RespondZoomOutStartResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SubscribeZoomStop(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/mavsdk.rpc.camera_server.CameraServerService/SubscribeZoomStop', + camera__server_dot_camera__server__pb2.SubscribeZoomStopRequest.SerializeToString, + camera__server_dot_camera__server__pb2.ZoomStopResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RespondZoomStop(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera_server.CameraServerService/RespondZoomStop', + camera__server_dot_camera__server__pb2.RespondZoomStopRequest.SerializeToString, + camera__server_dot_camera__server__pb2.RespondZoomStopResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SubscribeZoomRange(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/mavsdk.rpc.camera_server.CameraServerService/SubscribeZoomRange', + camera__server_dot_camera__server__pb2.SubscribeZoomRangeRequest.SerializeToString, + camera__server_dot_camera__server__pb2.ZoomRangeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RespondZoomRange(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.camera_server.CameraServerService/RespondZoomRange', + camera__server_dot_camera__server__pb2.RespondZoomRangeRequest.SerializeToString, + camera__server_dot_camera__server__pb2.RespondZoomRangeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/mavsdk/gimbal.py b/mavsdk/gimbal.py index 20ab16cc..15cb3260 100644 --- a/mavsdk/gimbal.py +++ b/mavsdk/gimbal.py @@ -86,6 +86,443 @@ def __str__(self): return self.name +class Quaternion: + """ + Quaternion type. + + All rotations and axis systems follow the right-hand rule. + The Hamilton quaternion product definition is used. + A zero-rotation quaternion is represented by (1,0,0,0). + The quaternion could also be written as w + xi + yj + zk. + + For more info see: https://en.wikipedia.org/wiki/Quaternion + + Parameters + ---------- + w : float + Quaternion entry 0, also denoted as a + + x : float + Quaternion entry 1, also denoted as b + + y : float + Quaternion entry 2, also denoted as c + + z : float + Quaternion entry 3, also denoted as d + + """ + + + + def __init__( + self, + w, + x, + y, + z): + """ Initializes the Quaternion object """ + self.w = w + self.x = x + self.y = y + self.z = z + + def __eq__(self, to_compare): + """ Checks if two Quaternion are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # Quaternion object + return \ + (self.w == to_compare.w) and \ + (self.x == to_compare.x) and \ + (self.y == to_compare.y) and \ + (self.z == to_compare.z) + + except AttributeError: + return False + + def __str__(self): + """ Quaternion in string representation """ + struct_repr = ", ".join([ + "w: " + str(self.w), + "x: " + str(self.x), + "y: " + str(self.y), + "z: " + str(self.z) + ]) + + return f"Quaternion: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcQuaternion): + """ Translates a gRPC struct to the SDK equivalent """ + return Quaternion( + + rpcQuaternion.w, + + + rpcQuaternion.x, + + + rpcQuaternion.y, + + + rpcQuaternion.z + ) + + def translate_to_rpc(self, rpcQuaternion): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcQuaternion.w = self.w + + + + + + rpcQuaternion.x = self.x + + + + + + rpcQuaternion.y = self.y + + + + + + rpcQuaternion.z = self.z + + + + + +class EulerAngle: + """ + Euler angle type. + + All rotations and axis systems follow the right-hand rule. + The Euler angles are converted using the 3-1-2 sequence instead of standard 3-2-1 in order + to avoid the gimbal lock at 90 degrees down. + + For more info see https://en.wikipedia.org/wiki/Euler_angles + + Parameters + ---------- + roll_deg : float + Roll angle in degrees, positive is banking to the right + + pitch_deg : float + Pitch angle in degrees, positive is pitching nose up + + yaw_deg : float + Yaw angle in degrees, positive is clock-wise seen from above + + """ + + + + def __init__( + self, + roll_deg, + pitch_deg, + yaw_deg): + """ Initializes the EulerAngle object """ + self.roll_deg = roll_deg + self.pitch_deg = pitch_deg + self.yaw_deg = yaw_deg + + def __eq__(self, to_compare): + """ Checks if two EulerAngle are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # EulerAngle object + return \ + (self.roll_deg == to_compare.roll_deg) and \ + (self.pitch_deg == to_compare.pitch_deg) and \ + (self.yaw_deg == to_compare.yaw_deg) + + except AttributeError: + return False + + def __str__(self): + """ EulerAngle in string representation """ + struct_repr = ", ".join([ + "roll_deg: " + str(self.roll_deg), + "pitch_deg: " + str(self.pitch_deg), + "yaw_deg: " + str(self.yaw_deg) + ]) + + return f"EulerAngle: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcEulerAngle): + """ Translates a gRPC struct to the SDK equivalent """ + return EulerAngle( + + rpcEulerAngle.roll_deg, + + + rpcEulerAngle.pitch_deg, + + + rpcEulerAngle.yaw_deg + ) + + def translate_to_rpc(self, rpcEulerAngle): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcEulerAngle.roll_deg = self.roll_deg + + + + + + rpcEulerAngle.pitch_deg = self.pitch_deg + + + + + + rpcEulerAngle.yaw_deg = self.yaw_deg + + + + + +class AngularVelocityBody: + """ + Gimbal angular rate type + + Parameters + ---------- + roll_rad_s : float + Roll angular velocity + + pitch_rad_s : float + Pitch angular velocity + + yaw_rad_s : float + Yaw angular velocity + + """ + + + + def __init__( + self, + roll_rad_s, + pitch_rad_s, + yaw_rad_s): + """ Initializes the AngularVelocityBody object """ + self.roll_rad_s = roll_rad_s + self.pitch_rad_s = pitch_rad_s + self.yaw_rad_s = yaw_rad_s + + def __eq__(self, to_compare): + """ Checks if two AngularVelocityBody are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # AngularVelocityBody object + return \ + (self.roll_rad_s == to_compare.roll_rad_s) and \ + (self.pitch_rad_s == to_compare.pitch_rad_s) and \ + (self.yaw_rad_s == to_compare.yaw_rad_s) + + except AttributeError: + return False + + def __str__(self): + """ AngularVelocityBody in string representation """ + struct_repr = ", ".join([ + "roll_rad_s: " + str(self.roll_rad_s), + "pitch_rad_s: " + str(self.pitch_rad_s), + "yaw_rad_s: " + str(self.yaw_rad_s) + ]) + + return f"AngularVelocityBody: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcAngularVelocityBody): + """ Translates a gRPC struct to the SDK equivalent """ + return AngularVelocityBody( + + rpcAngularVelocityBody.roll_rad_s, + + + rpcAngularVelocityBody.pitch_rad_s, + + + rpcAngularVelocityBody.yaw_rad_s + ) + + def translate_to_rpc(self, rpcAngularVelocityBody): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcAngularVelocityBody.roll_rad_s = self.roll_rad_s + + + + + + rpcAngularVelocityBody.pitch_rad_s = self.pitch_rad_s + + + + + + rpcAngularVelocityBody.yaw_rad_s = self.yaw_rad_s + + + + + +class Attitude: + """ + Gimbal attitude type + + Parameters + ---------- + euler_angle_forward : EulerAngle + Euler angle relative to forward + + quaternion_forward : Quaternion + Quaternion relative to forward + + euler_angle_north : EulerAngle + Euler angle relative to North + + quaternion_north : Quaternion + Quaternion relative to North + + angular_velocity : AngularVelocityBody + The angular rate + + timestamp_us : uint64_t + Timestamp in microseconds + + """ + + + + def __init__( + self, + euler_angle_forward, + quaternion_forward, + euler_angle_north, + quaternion_north, + angular_velocity, + timestamp_us): + """ Initializes the Attitude object """ + self.euler_angle_forward = euler_angle_forward + self.quaternion_forward = quaternion_forward + self.euler_angle_north = euler_angle_north + self.quaternion_north = quaternion_north + self.angular_velocity = angular_velocity + self.timestamp_us = timestamp_us + + def __eq__(self, to_compare): + """ Checks if two Attitude are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # Attitude object + return \ + (self.euler_angle_forward == to_compare.euler_angle_forward) and \ + (self.quaternion_forward == to_compare.quaternion_forward) and \ + (self.euler_angle_north == to_compare.euler_angle_north) and \ + (self.quaternion_north == to_compare.quaternion_north) and \ + (self.angular_velocity == to_compare.angular_velocity) and \ + (self.timestamp_us == to_compare.timestamp_us) + + except AttributeError: + return False + + def __str__(self): + """ Attitude in string representation """ + struct_repr = ", ".join([ + "euler_angle_forward: " + str(self.euler_angle_forward), + "quaternion_forward: " + str(self.quaternion_forward), + "euler_angle_north: " + str(self.euler_angle_north), + "quaternion_north: " + str(self.quaternion_north), + "angular_velocity: " + str(self.angular_velocity), + "timestamp_us: " + str(self.timestamp_us) + ]) + + return f"Attitude: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcAttitude): + """ Translates a gRPC struct to the SDK equivalent """ + return Attitude( + + EulerAngle.translate_from_rpc(rpcAttitude.euler_angle_forward), + + + Quaternion.translate_from_rpc(rpcAttitude.quaternion_forward), + + + EulerAngle.translate_from_rpc(rpcAttitude.euler_angle_north), + + + Quaternion.translate_from_rpc(rpcAttitude.quaternion_north), + + + AngularVelocityBody.translate_from_rpc(rpcAttitude.angular_velocity), + + + rpcAttitude.timestamp_us + ) + + def translate_to_rpc(self, rpcAttitude): + """ Translates this SDK object into its gRPC equivalent """ + + + + + self.euler_angle_forward.translate_to_rpc(rpcAttitude.euler_angle_forward) + + + + + + self.quaternion_forward.translate_to_rpc(rpcAttitude.quaternion_forward) + + + + + + self.euler_angle_north.translate_to_rpc(rpcAttitude.euler_angle_north) + + + + + + self.quaternion_north.translate_to_rpc(rpcAttitude.quaternion_north) + + + + + + self.angular_velocity.translate_to_rpc(rpcAttitude.angular_velocity) + + + + + + rpcAttitude.timestamp_us = self.timestamp_us + + + + + class ControlStatus: """ Control status @@ -647,4 +1084,30 @@ async def control(self): yield ControlStatus.translate_from_rpc(response.control_status) finally: - control_stream.cancel() \ No newline at end of file + control_stream.cancel() + + async def attitude(self): + """ + Subscribe to attitude updates. + + This gets you the gimbal's attitude and angular rate. + + Yields + ------- + attitude : Attitude + The attitude + + + """ + + request = gimbal_pb2.SubscribeAttitudeRequest() + attitude_stream = self._stub.SubscribeAttitude(request) + + try: + async for response in attitude_stream: + + + + yield Attitude.translate_from_rpc(response.attitude) + finally: + attitude_stream.cancel() \ No newline at end of file diff --git a/mavsdk/gimbal_pb2.py b/mavsdk/gimbal_pb2.py index a44d538a..bc8fe8e6 100644 --- a/mavsdk/gimbal_pb2.py +++ b/mavsdk/gimbal_pb2.py @@ -13,9 +13,10 @@ _sym_db = _symbol_database.Default() +from . import mavsdk_options_pb2 as mavsdk__options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13gimbal/gimbal.proto\x12\x11mavsdk.rpc.gimbal\"H\n\x10SetAnglesRequest\x12\x10\n\x08roll_deg\x18\x01 \x01(\x02\x12\x11\n\tpitch_deg\x18\x02 \x01(\x02\x12\x0f\n\x07yaw_deg\x18\x03 \x01(\x02\"K\n\x11SetAnglesResponse\x12\x36\n\rgimbal_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.gimbal.GimbalResult\";\n\x15SetPitchAndYawRequest\x12\x11\n\tpitch_deg\x18\x01 \x01(\x02\x12\x0f\n\x07yaw_deg\x18\x02 \x01(\x02\"P\n\x16SetPitchAndYawResponse\x12\x36\n\rgimbal_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.gimbal.GimbalResult\"Q\n\x1dSetPitchRateAndYawRateRequest\x12\x18\n\x10pitch_rate_deg_s\x18\x01 \x01(\x02\x12\x16\n\x0eyaw_rate_deg_s\x18\x02 \x01(\x02\"X\n\x1eSetPitchRateAndYawRateResponse\x12\x36\n\rgimbal_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.gimbal.GimbalResult\"D\n\x0eSetModeRequest\x12\x32\n\x0bgimbal_mode\x18\x01 \x01(\x0e\x32\x1d.mavsdk.rpc.gimbal.GimbalMode\"I\n\x0fSetModeResponse\x12\x36\n\rgimbal_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.gimbal.GimbalResult\"X\n\x15SetRoiLocationRequest\x12\x14\n\x0clatitude_deg\x18\x01 \x01(\x01\x12\x15\n\rlongitude_deg\x18\x02 \x01(\x01\x12\x12\n\naltitude_m\x18\x03 \x01(\x02\"P\n\x16SetRoiLocationResponse\x12\x36\n\rgimbal_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.gimbal.GimbalResult\"J\n\x12TakeControlRequest\x12\x34\n\x0c\x63ontrol_mode\x18\x01 \x01(\x0e\x32\x1e.mavsdk.rpc.gimbal.ControlMode\"M\n\x13TakeControlResponse\x12\x36\n\rgimbal_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.gimbal.GimbalResult\"\x17\n\x15ReleaseControlRequest\"P\n\x16ReleaseControlResponse\x12\x36\n\rgimbal_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.gimbal.GimbalResult\"\x19\n\x17SubscribeControlRequest\"K\n\x0f\x43ontrolResponse\x12\x38\n\x0e\x63ontrol_status\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.gimbal.ControlStatus\"\xc7\x01\n\rControlStatus\x12\x34\n\x0c\x63ontrol_mode\x18\x01 \x01(\x0e\x32\x1e.mavsdk.rpc.gimbal.ControlMode\x12\x1d\n\x15sysid_primary_control\x18\x02 \x01(\x05\x12\x1e\n\x16\x63ompid_primary_control\x18\x03 \x01(\x05\x12\x1f\n\x17sysid_secondary_control\x18\x04 \x01(\x05\x12 \n\x18\x63ompid_secondary_control\x18\x05 \x01(\x05\"\xe1\x01\n\x0cGimbalResult\x12\x36\n\x06result\x18\x01 \x01(\x0e\x32&.mavsdk.rpc.gimbal.GimbalResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\x84\x01\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x10\n\x0cRESULT_ERROR\x10\x02\x12\x12\n\x0eRESULT_TIMEOUT\x10\x03\x12\x16\n\x12RESULT_UNSUPPORTED\x10\x04\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x05*B\n\nGimbalMode\x12\x1a\n\x16GIMBAL_MODE_YAW_FOLLOW\x10\x00\x12\x18\n\x14GIMBAL_MODE_YAW_LOCK\x10\x01*Z\n\x0b\x43ontrolMode\x12\x15\n\x11\x43ONTROL_MODE_NONE\x10\x00\x12\x18\n\x14\x43ONTROL_MODE_PRIMARY\x10\x01\x12\x1a\n\x16\x43ONTROL_MODE_SECONDARY\x10\x02\x32\xc1\x06\n\rGimbalService\x12X\n\tSetAngles\x12#.mavsdk.rpc.gimbal.SetAnglesRequest\x1a$.mavsdk.rpc.gimbal.SetAnglesResponse\"\x00\x12g\n\x0eSetPitchAndYaw\x12(.mavsdk.rpc.gimbal.SetPitchAndYawRequest\x1a).mavsdk.rpc.gimbal.SetPitchAndYawResponse\"\x00\x12\x7f\n\x16SetPitchRateAndYawRate\x12\x30.mavsdk.rpc.gimbal.SetPitchRateAndYawRateRequest\x1a\x31.mavsdk.rpc.gimbal.SetPitchRateAndYawRateResponse\"\x00\x12R\n\x07SetMode\x12!.mavsdk.rpc.gimbal.SetModeRequest\x1a\".mavsdk.rpc.gimbal.SetModeResponse\"\x00\x12g\n\x0eSetRoiLocation\x12(.mavsdk.rpc.gimbal.SetRoiLocationRequest\x1a).mavsdk.rpc.gimbal.SetRoiLocationResponse\"\x00\x12^\n\x0bTakeControl\x12%.mavsdk.rpc.gimbal.TakeControlRequest\x1a&.mavsdk.rpc.gimbal.TakeControlResponse\"\x00\x12g\n\x0eReleaseControl\x12(.mavsdk.rpc.gimbal.ReleaseControlRequest\x1a).mavsdk.rpc.gimbal.ReleaseControlResponse\"\x00\x12\x66\n\x10SubscribeControl\x12*.mavsdk.rpc.gimbal.SubscribeControlRequest\x1a\".mavsdk.rpc.gimbal.ControlResponse\"\x00\x30\x01\x42\x1f\n\x10io.mavsdk.gimbalB\x0bGimbalProtob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13gimbal/gimbal.proto\x12\x11mavsdk.rpc.gimbal\x1a\x14mavsdk_options.proto\"H\n\x10SetAnglesRequest\x12\x10\n\x08roll_deg\x18\x01 \x01(\x02\x12\x11\n\tpitch_deg\x18\x02 \x01(\x02\x12\x0f\n\x07yaw_deg\x18\x03 \x01(\x02\"K\n\x11SetAnglesResponse\x12\x36\n\rgimbal_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.gimbal.GimbalResult\";\n\x15SetPitchAndYawRequest\x12\x11\n\tpitch_deg\x18\x01 \x01(\x02\x12\x0f\n\x07yaw_deg\x18\x02 \x01(\x02\"P\n\x16SetPitchAndYawResponse\x12\x36\n\rgimbal_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.gimbal.GimbalResult\"Q\n\x1dSetPitchRateAndYawRateRequest\x12\x18\n\x10pitch_rate_deg_s\x18\x01 \x01(\x02\x12\x16\n\x0eyaw_rate_deg_s\x18\x02 \x01(\x02\"X\n\x1eSetPitchRateAndYawRateResponse\x12\x36\n\rgimbal_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.gimbal.GimbalResult\"D\n\x0eSetModeRequest\x12\x32\n\x0bgimbal_mode\x18\x01 \x01(\x0e\x32\x1d.mavsdk.rpc.gimbal.GimbalMode\"I\n\x0fSetModeResponse\x12\x36\n\rgimbal_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.gimbal.GimbalResult\"X\n\x15SetRoiLocationRequest\x12\x14\n\x0clatitude_deg\x18\x01 \x01(\x01\x12\x15\n\rlongitude_deg\x18\x02 \x01(\x01\x12\x12\n\naltitude_m\x18\x03 \x01(\x02\"P\n\x16SetRoiLocationResponse\x12\x36\n\rgimbal_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.gimbal.GimbalResult\"J\n\x12TakeControlRequest\x12\x34\n\x0c\x63ontrol_mode\x18\x01 \x01(\x0e\x32\x1e.mavsdk.rpc.gimbal.ControlMode\"M\n\x13TakeControlResponse\x12\x36\n\rgimbal_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.gimbal.GimbalResult\"\x17\n\x15ReleaseControlRequest\"P\n\x16ReleaseControlResponse\x12\x36\n\rgimbal_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.gimbal.GimbalResult\"\x19\n\x17SubscribeControlRequest\"K\n\x0f\x43ontrolResponse\x12\x38\n\x0e\x63ontrol_status\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.gimbal.ControlStatus\"\\\n\nQuaternion\x12\x12\n\x01w\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x12\n\x01x\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x12\n\x01y\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x12\n\x01z\x18\x04 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"]\n\nEulerAngle\x12\x19\n\x08roll_deg\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1a\n\tpitch_deg\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x18\n\x07yaw_deg\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"l\n\x13\x41ngularVelocityBody\x12\x1b\n\nroll_rad_s\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1c\n\x0bpitch_rad_s\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1a\n\tyaw_rad_s\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"\xcc\x02\n\x08\x41ttitude\x12:\n\x13\x65uler_angle_forward\x18\x01 \x01(\x0b\x32\x1d.mavsdk.rpc.gimbal.EulerAngle\x12\x39\n\x12quaternion_forward\x18\x02 \x01(\x0b\x32\x1d.mavsdk.rpc.gimbal.Quaternion\x12\x38\n\x11\x65uler_angle_north\x18\x03 \x01(\x0b\x32\x1d.mavsdk.rpc.gimbal.EulerAngle\x12\x37\n\x10quaternion_north\x18\x04 \x01(\x0b\x32\x1d.mavsdk.rpc.gimbal.Quaternion\x12@\n\x10\x61ngular_velocity\x18\x05 \x01(\x0b\x32&.mavsdk.rpc.gimbal.AngularVelocityBody\x12\x14\n\x0ctimestamp_us\x18\x06 \x01(\x04\"\x1a\n\x18SubscribeAttitudeRequest\"A\n\x10\x41ttitudeResponse\x12-\n\x08\x61ttitude\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.gimbal.Attitude\"\xc7\x01\n\rControlStatus\x12\x34\n\x0c\x63ontrol_mode\x18\x01 \x01(\x0e\x32\x1e.mavsdk.rpc.gimbal.ControlMode\x12\x1d\n\x15sysid_primary_control\x18\x02 \x01(\x05\x12\x1e\n\x16\x63ompid_primary_control\x18\x03 \x01(\x05\x12\x1f\n\x17sysid_secondary_control\x18\x04 \x01(\x05\x12 \n\x18\x63ompid_secondary_control\x18\x05 \x01(\x05\"\xe1\x01\n\x0cGimbalResult\x12\x36\n\x06result\x18\x01 \x01(\x0e\x32&.mavsdk.rpc.gimbal.GimbalResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\x84\x01\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x10\n\x0cRESULT_ERROR\x10\x02\x12\x12\n\x0eRESULT_TIMEOUT\x10\x03\x12\x16\n\x12RESULT_UNSUPPORTED\x10\x04\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x05*B\n\nGimbalMode\x12\x1a\n\x16GIMBAL_MODE_YAW_FOLLOW\x10\x00\x12\x18\n\x14GIMBAL_MODE_YAW_LOCK\x10\x01*Z\n\x0b\x43ontrolMode\x12\x15\n\x11\x43ONTROL_MODE_NONE\x10\x00\x12\x18\n\x14\x43ONTROL_MODE_PRIMARY\x10\x01\x12\x1a\n\x16\x43ONTROL_MODE_SECONDARY\x10\x02\x32\xac\x07\n\rGimbalService\x12X\n\tSetAngles\x12#.mavsdk.rpc.gimbal.SetAnglesRequest\x1a$.mavsdk.rpc.gimbal.SetAnglesResponse\"\x00\x12g\n\x0eSetPitchAndYaw\x12(.mavsdk.rpc.gimbal.SetPitchAndYawRequest\x1a).mavsdk.rpc.gimbal.SetPitchAndYawResponse\"\x00\x12\x7f\n\x16SetPitchRateAndYawRate\x12\x30.mavsdk.rpc.gimbal.SetPitchRateAndYawRateRequest\x1a\x31.mavsdk.rpc.gimbal.SetPitchRateAndYawRateResponse\"\x00\x12R\n\x07SetMode\x12!.mavsdk.rpc.gimbal.SetModeRequest\x1a\".mavsdk.rpc.gimbal.SetModeResponse\"\x00\x12g\n\x0eSetRoiLocation\x12(.mavsdk.rpc.gimbal.SetRoiLocationRequest\x1a).mavsdk.rpc.gimbal.SetRoiLocationResponse\"\x00\x12^\n\x0bTakeControl\x12%.mavsdk.rpc.gimbal.TakeControlRequest\x1a&.mavsdk.rpc.gimbal.TakeControlResponse\"\x00\x12g\n\x0eReleaseControl\x12(.mavsdk.rpc.gimbal.ReleaseControlRequest\x1a).mavsdk.rpc.gimbal.ReleaseControlResponse\"\x00\x12\x66\n\x10SubscribeControl\x12*.mavsdk.rpc.gimbal.SubscribeControlRequest\x1a\".mavsdk.rpc.gimbal.ControlResponse\"\x00\x30\x01\x12i\n\x11SubscribeAttitude\x12+.mavsdk.rpc.gimbal.SubscribeAttitudeRequest\x1a#.mavsdk.rpc.gimbal.AttitudeResponse\"\x00\x30\x01\x42\x1f\n\x10io.mavsdk.gimbalB\x0bGimbalProtob\x06proto3') _GIMBALMODE = DESCRIPTOR.enum_types_by_name['GimbalMode'] GimbalMode = enum_type_wrapper.EnumTypeWrapper(_GIMBALMODE) @@ -44,6 +45,12 @@ _RELEASECONTROLRESPONSE = DESCRIPTOR.message_types_by_name['ReleaseControlResponse'] _SUBSCRIBECONTROLREQUEST = DESCRIPTOR.message_types_by_name['SubscribeControlRequest'] _CONTROLRESPONSE = DESCRIPTOR.message_types_by_name['ControlResponse'] +_QUATERNION = DESCRIPTOR.message_types_by_name['Quaternion'] +_EULERANGLE = DESCRIPTOR.message_types_by_name['EulerAngle'] +_ANGULARVELOCITYBODY = DESCRIPTOR.message_types_by_name['AngularVelocityBody'] +_ATTITUDE = DESCRIPTOR.message_types_by_name['Attitude'] +_SUBSCRIBEATTITUDEREQUEST = DESCRIPTOR.message_types_by_name['SubscribeAttitudeRequest'] +_ATTITUDERESPONSE = DESCRIPTOR.message_types_by_name['AttitudeResponse'] _CONTROLSTATUS = DESCRIPTOR.message_types_by_name['ControlStatus'] _GIMBALRESULT = DESCRIPTOR.message_types_by_name['GimbalResult'] _GIMBALRESULT_RESULT = _GIMBALRESULT.enum_types_by_name['Result'] @@ -159,6 +166,48 @@ }) _sym_db.RegisterMessage(ControlResponse) +Quaternion = _reflection.GeneratedProtocolMessageType('Quaternion', (_message.Message,), { + 'DESCRIPTOR' : _QUATERNION, + '__module__' : 'gimbal.gimbal_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.gimbal.Quaternion) + }) +_sym_db.RegisterMessage(Quaternion) + +EulerAngle = _reflection.GeneratedProtocolMessageType('EulerAngle', (_message.Message,), { + 'DESCRIPTOR' : _EULERANGLE, + '__module__' : 'gimbal.gimbal_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.gimbal.EulerAngle) + }) +_sym_db.RegisterMessage(EulerAngle) + +AngularVelocityBody = _reflection.GeneratedProtocolMessageType('AngularVelocityBody', (_message.Message,), { + 'DESCRIPTOR' : _ANGULARVELOCITYBODY, + '__module__' : 'gimbal.gimbal_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.gimbal.AngularVelocityBody) + }) +_sym_db.RegisterMessage(AngularVelocityBody) + +Attitude = _reflection.GeneratedProtocolMessageType('Attitude', (_message.Message,), { + 'DESCRIPTOR' : _ATTITUDE, + '__module__' : 'gimbal.gimbal_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.gimbal.Attitude) + }) +_sym_db.RegisterMessage(Attitude) + +SubscribeAttitudeRequest = _reflection.GeneratedProtocolMessageType('SubscribeAttitudeRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBEATTITUDEREQUEST, + '__module__' : 'gimbal.gimbal_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.gimbal.SubscribeAttitudeRequest) + }) +_sym_db.RegisterMessage(SubscribeAttitudeRequest) + +AttitudeResponse = _reflection.GeneratedProtocolMessageType('AttitudeResponse', (_message.Message,), { + 'DESCRIPTOR' : _ATTITUDERESPONSE, + '__module__' : 'gimbal.gimbal_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.gimbal.AttitudeResponse) + }) +_sym_db.RegisterMessage(AttitudeResponse) + ControlStatus = _reflection.GeneratedProtocolMessageType('ControlStatus', (_message.Message,), { 'DESCRIPTOR' : _CONTROLSTATUS, '__module__' : 'gimbal.gimbal_pb2' @@ -178,48 +227,80 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\020io.mavsdk.gimbalB\013GimbalProto' - _GIMBALMODE._serialized_start=1622 - _GIMBALMODE._serialized_end=1688 - _CONTROLMODE._serialized_start=1690 - _CONTROLMODE._serialized_end=1780 - _SETANGLESREQUEST._serialized_start=42 - _SETANGLESREQUEST._serialized_end=114 - _SETANGLESRESPONSE._serialized_start=116 - _SETANGLESRESPONSE._serialized_end=191 - _SETPITCHANDYAWREQUEST._serialized_start=193 - _SETPITCHANDYAWREQUEST._serialized_end=252 - _SETPITCHANDYAWRESPONSE._serialized_start=254 - _SETPITCHANDYAWRESPONSE._serialized_end=334 - _SETPITCHRATEANDYAWRATEREQUEST._serialized_start=336 - _SETPITCHRATEANDYAWRATEREQUEST._serialized_end=417 - _SETPITCHRATEANDYAWRATERESPONSE._serialized_start=419 - _SETPITCHRATEANDYAWRATERESPONSE._serialized_end=507 - _SETMODEREQUEST._serialized_start=509 - _SETMODEREQUEST._serialized_end=577 - _SETMODERESPONSE._serialized_start=579 - _SETMODERESPONSE._serialized_end=652 - _SETROILOCATIONREQUEST._serialized_start=654 - _SETROILOCATIONREQUEST._serialized_end=742 - _SETROILOCATIONRESPONSE._serialized_start=744 - _SETROILOCATIONRESPONSE._serialized_end=824 - _TAKECONTROLREQUEST._serialized_start=826 - _TAKECONTROLREQUEST._serialized_end=900 - _TAKECONTROLRESPONSE._serialized_start=902 - _TAKECONTROLRESPONSE._serialized_end=979 - _RELEASECONTROLREQUEST._serialized_start=981 - _RELEASECONTROLREQUEST._serialized_end=1004 - _RELEASECONTROLRESPONSE._serialized_start=1006 - _RELEASECONTROLRESPONSE._serialized_end=1086 - _SUBSCRIBECONTROLREQUEST._serialized_start=1088 - _SUBSCRIBECONTROLREQUEST._serialized_end=1113 - _CONTROLRESPONSE._serialized_start=1115 - _CONTROLRESPONSE._serialized_end=1190 - _CONTROLSTATUS._serialized_start=1193 - _CONTROLSTATUS._serialized_end=1392 - _GIMBALRESULT._serialized_start=1395 - _GIMBALRESULT._serialized_end=1620 - _GIMBALRESULT_RESULT._serialized_start=1488 - _GIMBALRESULT_RESULT._serialized_end=1620 - _GIMBALSERVICE._serialized_start=1783 - _GIMBALSERVICE._serialized_end=2616 + _QUATERNION.fields_by_name['w']._options = None + _QUATERNION.fields_by_name['w']._serialized_options = b'\202\265\030\003NaN' + _QUATERNION.fields_by_name['x']._options = None + _QUATERNION.fields_by_name['x']._serialized_options = b'\202\265\030\003NaN' + _QUATERNION.fields_by_name['y']._options = None + _QUATERNION.fields_by_name['y']._serialized_options = b'\202\265\030\003NaN' + _QUATERNION.fields_by_name['z']._options = None + _QUATERNION.fields_by_name['z']._serialized_options = b'\202\265\030\003NaN' + _EULERANGLE.fields_by_name['roll_deg']._options = None + _EULERANGLE.fields_by_name['roll_deg']._serialized_options = b'\202\265\030\003NaN' + _EULERANGLE.fields_by_name['pitch_deg']._options = None + _EULERANGLE.fields_by_name['pitch_deg']._serialized_options = b'\202\265\030\003NaN' + _EULERANGLE.fields_by_name['yaw_deg']._options = None + _EULERANGLE.fields_by_name['yaw_deg']._serialized_options = b'\202\265\030\003NaN' + _ANGULARVELOCITYBODY.fields_by_name['roll_rad_s']._options = None + _ANGULARVELOCITYBODY.fields_by_name['roll_rad_s']._serialized_options = b'\202\265\030\003NaN' + _ANGULARVELOCITYBODY.fields_by_name['pitch_rad_s']._options = None + _ANGULARVELOCITYBODY.fields_by_name['pitch_rad_s']._serialized_options = b'\202\265\030\003NaN' + _ANGULARVELOCITYBODY.fields_by_name['yaw_rad_s']._options = None + _ANGULARVELOCITYBODY.fields_by_name['yaw_rad_s']._serialized_options = b'\202\265\030\003NaN' + _GIMBALMODE._serialized_start=2373 + _GIMBALMODE._serialized_end=2439 + _CONTROLMODE._serialized_start=2441 + _CONTROLMODE._serialized_end=2531 + _SETANGLESREQUEST._serialized_start=64 + _SETANGLESREQUEST._serialized_end=136 + _SETANGLESRESPONSE._serialized_start=138 + _SETANGLESRESPONSE._serialized_end=213 + _SETPITCHANDYAWREQUEST._serialized_start=215 + _SETPITCHANDYAWREQUEST._serialized_end=274 + _SETPITCHANDYAWRESPONSE._serialized_start=276 + _SETPITCHANDYAWRESPONSE._serialized_end=356 + _SETPITCHRATEANDYAWRATEREQUEST._serialized_start=358 + _SETPITCHRATEANDYAWRATEREQUEST._serialized_end=439 + _SETPITCHRATEANDYAWRATERESPONSE._serialized_start=441 + _SETPITCHRATEANDYAWRATERESPONSE._serialized_end=529 + _SETMODEREQUEST._serialized_start=531 + _SETMODEREQUEST._serialized_end=599 + _SETMODERESPONSE._serialized_start=601 + _SETMODERESPONSE._serialized_end=674 + _SETROILOCATIONREQUEST._serialized_start=676 + _SETROILOCATIONREQUEST._serialized_end=764 + _SETROILOCATIONRESPONSE._serialized_start=766 + _SETROILOCATIONRESPONSE._serialized_end=846 + _TAKECONTROLREQUEST._serialized_start=848 + _TAKECONTROLREQUEST._serialized_end=922 + _TAKECONTROLRESPONSE._serialized_start=924 + _TAKECONTROLRESPONSE._serialized_end=1001 + _RELEASECONTROLREQUEST._serialized_start=1003 + _RELEASECONTROLREQUEST._serialized_end=1026 + _RELEASECONTROLRESPONSE._serialized_start=1028 + _RELEASECONTROLRESPONSE._serialized_end=1108 + _SUBSCRIBECONTROLREQUEST._serialized_start=1110 + _SUBSCRIBECONTROLREQUEST._serialized_end=1135 + _CONTROLRESPONSE._serialized_start=1137 + _CONTROLRESPONSE._serialized_end=1212 + _QUATERNION._serialized_start=1214 + _QUATERNION._serialized_end=1306 + _EULERANGLE._serialized_start=1308 + _EULERANGLE._serialized_end=1401 + _ANGULARVELOCITYBODY._serialized_start=1403 + _ANGULARVELOCITYBODY._serialized_end=1511 + _ATTITUDE._serialized_start=1514 + _ATTITUDE._serialized_end=1846 + _SUBSCRIBEATTITUDEREQUEST._serialized_start=1848 + _SUBSCRIBEATTITUDEREQUEST._serialized_end=1874 + _ATTITUDERESPONSE._serialized_start=1876 + _ATTITUDERESPONSE._serialized_end=1941 + _CONTROLSTATUS._serialized_start=1944 + _CONTROLSTATUS._serialized_end=2143 + _GIMBALRESULT._serialized_start=2146 + _GIMBALRESULT._serialized_end=2371 + _GIMBALRESULT_RESULT._serialized_start=2239 + _GIMBALRESULT_RESULT._serialized_end=2371 + _GIMBALSERVICE._serialized_start=2534 + _GIMBALSERVICE._serialized_end=3474 # @@protoc_insertion_point(module_scope) diff --git a/mavsdk/gimbal_pb2_grpc.py b/mavsdk/gimbal_pb2_grpc.py index dd9c54b1..108ddc7f 100644 --- a/mavsdk/gimbal_pb2_grpc.py +++ b/mavsdk/gimbal_pb2_grpc.py @@ -55,6 +55,11 @@ def __init__(self, channel): request_serializer=gimbal_dot_gimbal__pb2.SubscribeControlRequest.SerializeToString, response_deserializer=gimbal_dot_gimbal__pb2.ControlResponse.FromString, ) + self.SubscribeAttitude = channel.unary_stream( + '/mavsdk.rpc.gimbal.GimbalService/SubscribeAttitude', + request_serializer=gimbal_dot_gimbal__pb2.SubscribeAttitudeRequest.SerializeToString, + response_deserializer=gimbal_dot_gimbal__pb2.AttitudeResponse.FromString, + ) class GimbalServiceServicer(object): @@ -164,6 +169,16 @@ def SubscribeControl(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def SubscribeAttitude(self, request, context): + """ + Subscribe to attitude updates. + + This gets you the gimbal's attitude and angular rate. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_GimbalServiceServicer_to_server(servicer, server): rpc_method_handlers = { @@ -207,6 +222,11 @@ def add_GimbalServiceServicer_to_server(servicer, server): request_deserializer=gimbal_dot_gimbal__pb2.SubscribeControlRequest.FromString, response_serializer=gimbal_dot_gimbal__pb2.ControlResponse.SerializeToString, ), + 'SubscribeAttitude': grpc.unary_stream_rpc_method_handler( + servicer.SubscribeAttitude, + request_deserializer=gimbal_dot_gimbal__pb2.SubscribeAttitudeRequest.FromString, + response_serializer=gimbal_dot_gimbal__pb2.AttitudeResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'mavsdk.rpc.gimbal.GimbalService', rpc_method_handlers) @@ -353,3 +373,20 @@ def SubscribeControl(request, gimbal_dot_gimbal__pb2.ControlResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SubscribeAttitude(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/mavsdk.rpc.gimbal.GimbalService/SubscribeAttitude', + gimbal_dot_gimbal__pb2.SubscribeAttitudeRequest.SerializeToString, + gimbal_dot_gimbal__pb2.AttitudeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/proto b/proto index 736bc2af..c000fb50 160000 --- a/proto +++ b/proto @@ -1 +1 @@ -Subproject commit 736bc2af1b6eae5c255b5b68014597527bd78c8c +Subproject commit c000fb508ffa66b440ac746b2f594a6ee547afc2