diff --git a/MAVSDK_SERVER_VERSION b/MAVSDK_SERVER_VERSION index 707d5fac..9dedf1e9 100644 --- a/MAVSDK_SERVER_VERSION +++ b/MAVSDK_SERVER_VERSION @@ -1 +1 @@ -v0.40.0 +v0.41.0 diff --git a/mavsdk/camera.py b/mavsdk/camera.py index 37d73816..28f72a50 100644 --- a/mavsdk/camera.py +++ b/mavsdk/camera.py @@ -124,7 +124,7 @@ class Result(Enum): Camera denied the command ERROR - An error has occured while executing the command + An error has occurred while executing the command TIMEOUT Command timed out @@ -132,6 +132,9 @@ class Result(Enum): WRONG_ARGUMENT Command has wrong argument(s) + NO_SYSTEM + No system connected + """ @@ -143,6 +146,7 @@ class Result(Enum): ERROR = 5 TIMEOUT = 6 WRONG_ARGUMENT = 7 + NO_SYSTEM = 8 def translate_to_rpc(self): if self == CameraResult.Result.UNKNOWN: @@ -161,6 +165,8 @@ def translate_to_rpc(self): return camera_pb2.CameraResult.RESULT_TIMEOUT if self == CameraResult.Result.WRONG_ARGUMENT: return camera_pb2.CameraResult.RESULT_WRONG_ARGUMENT + if self == CameraResult.Result.NO_SYSTEM: + return camera_pb2.CameraResult.RESULT_NO_SYSTEM @staticmethod def translate_from_rpc(rpc_enum_value): @@ -181,6 +187,8 @@ def translate_from_rpc(rpc_enum_value): return CameraResult.Result.TIMEOUT if rpc_enum_value == camera_pb2.CameraResult.RESULT_WRONG_ARGUMENT: return CameraResult.Result.WRONG_ARGUMENT + if rpc_enum_value == camera_pb2.CameraResult.RESULT_NO_SYSTEM: + return CameraResult.Result.NO_SYSTEM def __str__(self): return self.name diff --git a/mavsdk/camera_pb2.py b/mavsdk/camera_pb2.py index b5805305..78d77034 100644 --- a/mavsdk/camera_pb2.py +++ b/mavsdk/camera_pb2.py @@ -21,7 +21,7 @@ syntax='proto3', serialized_options=b'\n\020io.mavsdk.cameraB\013CameraProto', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x13\x63\x61mera/camera.proto\x12\x11mavsdk.rpc.camera\x1a\x14mavsdk_options.proto\"\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\"\x1c\n\x1aStartVideoStreamingRequest\"U\n\x1bStartVideoStreamingResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x1b\n\x19StopVideoStreamingRequest\"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\"\x16\n\x14\x46ormatStorageRequest\"O\n\x15\x46ormatStorageResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x8a\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\"\xad\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\"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\"\x93\x03\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\"\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\"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\x98\x10\n\rCameraService\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\x42\x1f\n\x10io.mavsdk.cameraB\x0b\x43\x61meraProtob\x06proto3' + serialized_pb=b'\n\x13\x63\x61mera/camera.proto\x12\x11mavsdk.rpc.camera\x1a\x14mavsdk_options.proto\"\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\"\x1c\n\x1aStartVideoStreamingRequest\"U\n\x1bStartVideoStreamingResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\x1b\n\x19StopVideoStreamingRequest\"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\"\x16\n\x14\x46ormatStorageRequest\"O\n\x15\x46ormatStorageResponse\x12\x36\n\rcamera_result\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.camera.CameraResult\"\xa0\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\"\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\"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\"\x93\x03\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\"\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\"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\x98\x10\n\rCameraService\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\x42\x1f\n\x10io.mavsdk.cameraB\x0b\x43\x61meraProtob\x06proto3' , dependencies=[mavsdk__options__pb2.DESCRIPTOR,]) @@ -50,8 +50,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=4731, - serialized_end=4787, + serialized_start=4753, + serialized_end=4809, ) _sym_db.RegisterEnumDescriptor(_MODE) @@ -76,8 +76,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=4789, - serialized_end=4859, + serialized_start=4811, + serialized_end=4881, ) _sym_db.RegisterEnumDescriptor(_PHOTOSRANGE) @@ -136,11 +136,16 @@ serialized_options=None, type=None, create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_NO_SYSTEM', index=8, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, serialized_start=2475, - serialized_end=2648, + serialized_end=2670, ) _sym_db.RegisterEnumDescriptor(_CAMERARESULT_RESULT) @@ -164,8 +169,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=3571, - serialized_end=3664, + serialized_start=3593, + serialized_end=3686, ) _sym_db.RegisterEnumDescriptor(_VIDEOSTREAMINFO_VIDEOSTREAMSTATUS) @@ -194,8 +199,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=3667, - serialized_end=3800, + serialized_start=3689, + serialized_end=3822, ) _sym_db.RegisterEnumDescriptor(_VIDEOSTREAMINFO_VIDEOSTREAMSPECTRUM) @@ -229,8 +234,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=4061, - serialized_end=4206, + serialized_start=4083, + serialized_end=4228, ) _sym_db.RegisterEnumDescriptor(_STATUS_STORAGESTATUS) @@ -1403,7 +1408,7 @@ oneofs=[ ], serialized_start=2382, - serialized_end=2648, + serialized_end=2670, ) @@ -1455,8 +1460,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2650, - serialized_end=2763, + serialized_start=2672, + serialized_end=2785, ) @@ -1508,8 +1513,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2765, - serialized_end=2821, + serialized_start=2787, + serialized_end=2843, ) @@ -1554,8 +1559,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2823, - serialized_end=2889, + serialized_start=2845, + serialized_end=2911, ) @@ -1628,8 +1633,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2892, - serialized_end=3147, + serialized_start=2914, + serialized_end=3169, ) @@ -1702,8 +1707,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3150, - serialized_end=3347, + serialized_start=3172, + serialized_end=3369, ) @@ -1750,8 +1755,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3350, - serialized_end=3800, + serialized_start=3372, + serialized_end=3822, ) @@ -1832,8 +1837,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3803, - serialized_end=4206, + serialized_start=3825, + serialized_end=4228, ) @@ -1871,8 +1876,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4208, - serialized_end=4263, + serialized_start=4230, + serialized_end=4285, ) @@ -1924,8 +1929,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4265, - serialized_end=4384, + serialized_start=4287, + serialized_end=4406, ) @@ -1977,8 +1982,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4386, - serialized_end=4513, + serialized_start=4408, + serialized_end=4535, ) @@ -2051,8 +2056,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4516, - serialized_end=4729, + serialized_start=4538, + serialized_end=4751, ) _TAKEPHOTORESPONSE.fields_by_name['camera_result'].message_type = _CAMERARESULT @@ -2508,8 +2513,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=4862, - serialized_end=6934, + serialized_start=4884, + serialized_end=6956, methods=[ _descriptor.MethodDescriptor( name='TakePhoto', diff --git a/mavsdk/core.py b/mavsdk/core.py index bf27bc47..841ed3cb 100644 --- a/mavsdk/core.py +++ b/mavsdk/core.py @@ -64,101 +64,11 @@ def translate_to_rpc(self, rpcConnectionState): -class PluginInfo: - """ - Plugin info type. - - Parameters - ---------- - name : std::string - Name of the plugin - - address : std::string - Address where the plugin is running - - port : int32_t - Port where the plugin is running - - """ - - - - def __init__( - self, - name, - address, - port): - """ Initializes the PluginInfo object """ - self.name = name - self.address = address - self.port = port - - def __equals__(self, to_compare): - """ Checks if two PluginInfo are the same """ - try: - # Try to compare - this likely fails when it is compared to a non - # PluginInfo object - return \ - (self.name == to_compare.name) and \ - (self.address == to_compare.address) and \ - (self.port == to_compare.port) - - except AttributeError: - return False - - def __str__(self): - """ PluginInfo in string representation """ - struct_repr = ", ".join([ - "name: " + str(self.name), - "address: " + str(self.address), - "port: " + str(self.port) - ]) - - return f"PluginInfo: [{struct_repr}]" - - @staticmethod - def translate_from_rpc(rpcPluginInfo): - """ Translates a gRPC struct to the SDK equivalent """ - return PluginInfo( - - rpcPluginInfo.name, - - - rpcPluginInfo.address, - - - rpcPluginInfo.port - ) - - def translate_to_rpc(self, rpcPluginInfo): - """ Translates this SDK object into its gRPC equivalent """ - - - - - rpcPluginInfo.name = self.name - - - - - - rpcPluginInfo.address = self.address - - - - - - rpcPluginInfo.port = self.port - - - - - class Core(AsyncBase): """ - Access to the connection state and running plugins. + Access to the connection state and core configurations Generated by dcsdkgen - MAVSDK Core API """ @@ -196,26 +106,25 @@ async def connection_state(self): finally: connection_state_stream.cancel() - async def list_running_plugins(self): + async def set_mavlink_timeout(self, timeout_s): """ - Get a list of currently running plugins. + Set timeout of MAVLink transfers. - Returns - ------- - plugin_info : [PluginInfo] - Plugin info + The default timeout used is generally (0.5 seconds) seconds. + If MAVSDK is used on the same host this timeout can be reduced, while + if MAVSDK has to communicate over links with high latency it might + need to be increased to prevent timeouts. + + Parameters + ---------- + timeout_s : double + Timeout in seconds """ - request = core_pb2.ListRunningPluginsRequest() - response = await self._stub.ListRunningPlugins(request) - - - - plugin_info = [] - for plugin_info_rpc in response.plugin_info: - plugin_info.append(PluginInfo.translate_from_rpc(plugin_info_rpc)) + request = core_pb2.SetMavlinkTimeoutRequest() + request.timeout_s = timeout_s + response = await self._stub.SetMavlinkTimeout(request) - return plugin_info - \ No newline at end of file + \ No newline at end of file diff --git a/mavsdk/core_pb2.py b/mavsdk/core_pb2.py index ffc93f43..167e091c 100644 --- a/mavsdk/core_pb2.py +++ b/mavsdk/core_pb2.py @@ -19,7 +19,7 @@ syntax='proto3', serialized_options=b'\n\016io.mavsdk.coreB\tCoreProto', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x0f\x63ore/core.proto\x12\x0fmavsdk.rpc.core\"!\n\x1fSubscribeConnectionStateRequest\"U\n\x17\x43onnectionStateResponse\x12:\n\x10\x63onnection_state\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.core.ConnectionState\"\x1b\n\x19ListRunningPluginsRequest\"N\n\x1aListRunningPluginsResponse\x12\x30\n\x0bplugin_info\x18\x01 \x03(\x0b\x32\x1b.mavsdk.rpc.core.PluginInfo\"\'\n\x0f\x43onnectionState\x12\x14\n\x0cis_connected\x18\x02 \x01(\x08\"9\n\nPluginInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x32\xfa\x01\n\x0b\x43oreService\x12z\n\x18SubscribeConnectionState\x12\x30.mavsdk.rpc.core.SubscribeConnectionStateRequest\x1a(.mavsdk.rpc.core.ConnectionStateResponse\"\x00\x30\x01\x12o\n\x12ListRunningPlugins\x12*.mavsdk.rpc.core.ListRunningPluginsRequest\x1a+.mavsdk.rpc.core.ListRunningPluginsResponse\"\x00\x42\x1b\n\x0eio.mavsdk.coreB\tCoreProtob\x06proto3' + serialized_pb=b'\n\x0f\x63ore/core.proto\x12\x0fmavsdk.rpc.core\"!\n\x1fSubscribeConnectionStateRequest\"U\n\x17\x43onnectionStateResponse\x12:\n\x10\x63onnection_state\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.core.ConnectionState\"-\n\x18SetMavlinkTimeoutRequest\x12\x11\n\ttimeout_s\x18\x01 \x01(\x01\"\x1b\n\x19SetMavlinkTimeoutResponse\"\'\n\x0f\x43onnectionState\x12\x14\n\x0cis_connected\x18\x02 \x01(\x08\x32\xf7\x01\n\x0b\x43oreService\x12z\n\x18SubscribeConnectionState\x12\x30.mavsdk.rpc.core.SubscribeConnectionStateRequest\x1a(.mavsdk.rpc.core.ConnectionStateResponse\"\x00\x30\x01\x12l\n\x11SetMavlinkTimeout\x12).mavsdk.rpc.core.SetMavlinkTimeoutRequest\x1a*.mavsdk.rpc.core.SetMavlinkTimeoutResponse\"\x00\x42\x1b\n\x0eio.mavsdk.coreB\tCoreProtob\x06proto3' ) @@ -82,14 +82,21 @@ ) -_LISTRUNNINGPLUGINSREQUEST = _descriptor.Descriptor( - name='ListRunningPluginsRequest', - full_name='mavsdk.rpc.core.ListRunningPluginsRequest', +_SETMAVLINKTIMEOUTREQUEST = _descriptor.Descriptor( + name='SetMavlinkTimeoutRequest', + full_name='mavsdk.rpc.core.SetMavlinkTimeoutRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ + _descriptor.FieldDescriptor( + name='timeout_s', full_name='mavsdk.rpc.core.SetMavlinkTimeoutRequest.timeout_s', index=0, + number=1, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -103,25 +110,18 @@ oneofs=[ ], serialized_start=158, - serialized_end=185, + serialized_end=203, ) -_LISTRUNNINGPLUGINSRESPONSE = _descriptor.Descriptor( - name='ListRunningPluginsResponse', - full_name='mavsdk.rpc.core.ListRunningPluginsResponse', +_SETMAVLINKTIMEOUTRESPONSE = _descriptor.Descriptor( + name='SetMavlinkTimeoutResponse', + full_name='mavsdk.rpc.core.SetMavlinkTimeoutResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ - _descriptor.FieldDescriptor( - name='plugin_info', full_name='mavsdk.rpc.core.ListRunningPluginsResponse.plugin_info', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -134,8 +134,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=187, - serialized_end=265, + serialized_start=205, + serialized_end=232, ) @@ -166,64 +166,16 @@ extension_ranges=[], oneofs=[ ], - serialized_start=267, - serialized_end=306, -) - - -_PLUGININFO = _descriptor.Descriptor( - name='PluginInfo', - full_name='mavsdk.rpc.core.PluginInfo', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='mavsdk.rpc.core.PluginInfo.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='address', full_name='mavsdk.rpc.core.PluginInfo.address', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='port', full_name='mavsdk.rpc.core.PluginInfo.port', index=2, - number=3, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=308, - serialized_end=365, + serialized_start=234, + serialized_end=273, ) _CONNECTIONSTATERESPONSE.fields_by_name['connection_state'].message_type = _CONNECTIONSTATE -_LISTRUNNINGPLUGINSRESPONSE.fields_by_name['plugin_info'].message_type = _PLUGININFO DESCRIPTOR.message_types_by_name['SubscribeConnectionStateRequest'] = _SUBSCRIBECONNECTIONSTATEREQUEST DESCRIPTOR.message_types_by_name['ConnectionStateResponse'] = _CONNECTIONSTATERESPONSE -DESCRIPTOR.message_types_by_name['ListRunningPluginsRequest'] = _LISTRUNNINGPLUGINSREQUEST -DESCRIPTOR.message_types_by_name['ListRunningPluginsResponse'] = _LISTRUNNINGPLUGINSRESPONSE +DESCRIPTOR.message_types_by_name['SetMavlinkTimeoutRequest'] = _SETMAVLINKTIMEOUTREQUEST +DESCRIPTOR.message_types_by_name['SetMavlinkTimeoutResponse'] = _SETMAVLINKTIMEOUTRESPONSE DESCRIPTOR.message_types_by_name['ConnectionState'] = _CONNECTIONSTATE -DESCRIPTOR.message_types_by_name['PluginInfo'] = _PLUGININFO _sym_db.RegisterFileDescriptor(DESCRIPTOR) SubscribeConnectionStateRequest = _reflection.GeneratedProtocolMessageType('SubscribeConnectionStateRequest', (_message.Message,), { @@ -240,19 +192,19 @@ }) _sym_db.RegisterMessage(ConnectionStateResponse) -ListRunningPluginsRequest = _reflection.GeneratedProtocolMessageType('ListRunningPluginsRequest', (_message.Message,), { - 'DESCRIPTOR' : _LISTRUNNINGPLUGINSREQUEST, +SetMavlinkTimeoutRequest = _reflection.GeneratedProtocolMessageType('SetMavlinkTimeoutRequest', (_message.Message,), { + 'DESCRIPTOR' : _SETMAVLINKTIMEOUTREQUEST, '__module__' : 'core.core_pb2' - # @@protoc_insertion_point(class_scope:mavsdk.rpc.core.ListRunningPluginsRequest) + # @@protoc_insertion_point(class_scope:mavsdk.rpc.core.SetMavlinkTimeoutRequest) }) -_sym_db.RegisterMessage(ListRunningPluginsRequest) +_sym_db.RegisterMessage(SetMavlinkTimeoutRequest) -ListRunningPluginsResponse = _reflection.GeneratedProtocolMessageType('ListRunningPluginsResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTRUNNINGPLUGINSRESPONSE, +SetMavlinkTimeoutResponse = _reflection.GeneratedProtocolMessageType('SetMavlinkTimeoutResponse', (_message.Message,), { + 'DESCRIPTOR' : _SETMAVLINKTIMEOUTRESPONSE, '__module__' : 'core.core_pb2' - # @@protoc_insertion_point(class_scope:mavsdk.rpc.core.ListRunningPluginsResponse) + # @@protoc_insertion_point(class_scope:mavsdk.rpc.core.SetMavlinkTimeoutResponse) }) -_sym_db.RegisterMessage(ListRunningPluginsResponse) +_sym_db.RegisterMessage(SetMavlinkTimeoutResponse) ConnectionState = _reflection.GeneratedProtocolMessageType('ConnectionState', (_message.Message,), { 'DESCRIPTOR' : _CONNECTIONSTATE, @@ -261,13 +213,6 @@ }) _sym_db.RegisterMessage(ConnectionState) -PluginInfo = _reflection.GeneratedProtocolMessageType('PluginInfo', (_message.Message,), { - 'DESCRIPTOR' : _PLUGININFO, - '__module__' : 'core.core_pb2' - # @@protoc_insertion_point(class_scope:mavsdk.rpc.core.PluginInfo) - }) -_sym_db.RegisterMessage(PluginInfo) - DESCRIPTOR._options = None @@ -278,8 +223,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=368, - serialized_end=618, + serialized_start=276, + serialized_end=523, methods=[ _descriptor.MethodDescriptor( name='SubscribeConnectionState', @@ -292,12 +237,12 @@ create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( - name='ListRunningPlugins', - full_name='mavsdk.rpc.core.CoreService.ListRunningPlugins', + name='SetMavlinkTimeout', + full_name='mavsdk.rpc.core.CoreService.SetMavlinkTimeout', index=1, containing_service=None, - input_type=_LISTRUNNINGPLUGINSREQUEST, - output_type=_LISTRUNNINGPLUGINSRESPONSE, + input_type=_SETMAVLINKTIMEOUTREQUEST, + output_type=_SETMAVLINKTIMEOUTRESPONSE, serialized_options=None, create_key=_descriptor._internal_create_key, ), diff --git a/mavsdk/core_pb2_grpc.py b/mavsdk/core_pb2_grpc.py index 404841b9..d00953d6 100644 --- a/mavsdk/core_pb2_grpc.py +++ b/mavsdk/core_pb2_grpc.py @@ -6,7 +6,7 @@ class CoreServiceStub(object): - """Access to the connection state and running plugins. + """Access to the connection state and core configurations """ def __init__(self, channel): @@ -20,26 +20,33 @@ def __init__(self, channel): request_serializer=core_dot_core__pb2.SubscribeConnectionStateRequest.SerializeToString, response_deserializer=core_dot_core__pb2.ConnectionStateResponse.FromString, ) - self.ListRunningPlugins = channel.unary_unary( - '/mavsdk.rpc.core.CoreService/ListRunningPlugins', - request_serializer=core_dot_core__pb2.ListRunningPluginsRequest.SerializeToString, - response_deserializer=core_dot_core__pb2.ListRunningPluginsResponse.FromString, + self.SetMavlinkTimeout = channel.unary_unary( + '/mavsdk.rpc.core.CoreService/SetMavlinkTimeout', + request_serializer=core_dot_core__pb2.SetMavlinkTimeoutRequest.SerializeToString, + response_deserializer=core_dot_core__pb2.SetMavlinkTimeoutResponse.FromString, ) class CoreServiceServicer(object): - """Access to the connection state and running plugins. + """Access to the connection state and core configurations """ def SubscribeConnectionState(self, request, context): - """Subscribe to 'connection state' updates. + """ + Subscribe to 'connection state' updates. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def ListRunningPlugins(self, request, context): - """Get a list of currently running plugins. + def SetMavlinkTimeout(self, request, context): + """ + Set timeout of MAVLink transfers. + + The default timeout used is generally (0.5 seconds) seconds. + If MAVSDK is used on the same host this timeout can be reduced, while + if MAVSDK has to communicate over links with high latency it might + need to be increased to prevent timeouts. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -53,10 +60,10 @@ def add_CoreServiceServicer_to_server(servicer, server): request_deserializer=core_dot_core__pb2.SubscribeConnectionStateRequest.FromString, response_serializer=core_dot_core__pb2.ConnectionStateResponse.SerializeToString, ), - 'ListRunningPlugins': grpc.unary_unary_rpc_method_handler( - servicer.ListRunningPlugins, - request_deserializer=core_dot_core__pb2.ListRunningPluginsRequest.FromString, - response_serializer=core_dot_core__pb2.ListRunningPluginsResponse.SerializeToString, + 'SetMavlinkTimeout': grpc.unary_unary_rpc_method_handler( + servicer.SetMavlinkTimeout, + request_deserializer=core_dot_core__pb2.SetMavlinkTimeoutRequest.FromString, + response_serializer=core_dot_core__pb2.SetMavlinkTimeoutResponse.SerializeToString, ), } generic_handler = grpc.method_handlers_generic_handler( @@ -66,7 +73,7 @@ def add_CoreServiceServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class CoreService(object): - """Access to the connection state and running plugins. + """Access to the connection state and core configurations """ @staticmethod @@ -87,7 +94,7 @@ def SubscribeConnectionState(request, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def ListRunningPlugins(request, + def SetMavlinkTimeout(request, target, options=(), channel_credentials=None, @@ -97,8 +104,8 @@ def ListRunningPlugins(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.core.CoreService/ListRunningPlugins', - core_dot_core__pb2.ListRunningPluginsRequest.SerializeToString, - core_dot_core__pb2.ListRunningPluginsResponse.FromString, + return grpc.experimental.unary_unary(request, target, '/mavsdk.rpc.core.CoreService/SetMavlinkTimeout', + core_dot_core__pb2.SetMavlinkTimeoutRequest.SerializeToString, + core_dot_core__pb2.SetMavlinkTimeoutResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/mavsdk/follow_me.py b/mavsdk/follow_me.py index 2fd90a55..c01d993c 100644 --- a/mavsdk/follow_me.py +++ b/mavsdk/follow_me.py @@ -333,7 +333,7 @@ class Result(Enum): Values ------ UNKNOWN - Unkown result + Unknown result SUCCESS Request succeeded diff --git a/mavsdk/ftp.py b/mavsdk/ftp.py index 3a4e1043..251afce4 100644 --- a/mavsdk/ftp.py +++ b/mavsdk/ftp.py @@ -138,6 +138,9 @@ class Result(Enum): PROTOCOL_ERROR General protocol error + NO_SYSTEM + No system connected + """ @@ -153,6 +156,7 @@ class Result(Enum): INVALID_PARAMETER = 9 UNSUPPORTED = 10 PROTOCOL_ERROR = 11 + NO_SYSTEM = 12 def translate_to_rpc(self): if self == FtpResult.Result.UNKNOWN: @@ -179,6 +183,8 @@ def translate_to_rpc(self): return ftp_pb2.FtpResult.RESULT_UNSUPPORTED if self == FtpResult.Result.PROTOCOL_ERROR: return ftp_pb2.FtpResult.RESULT_PROTOCOL_ERROR + if self == FtpResult.Result.NO_SYSTEM: + return ftp_pb2.FtpResult.RESULT_NO_SYSTEM @staticmethod def translate_from_rpc(rpc_enum_value): @@ -207,6 +213,8 @@ def translate_from_rpc(rpc_enum_value): return FtpResult.Result.UNSUPPORTED if rpc_enum_value == ftp_pb2.FtpResult.RESULT_PROTOCOL_ERROR: return FtpResult.Result.PROTOCOL_ERROR + if rpc_enum_value == ftp_pb2.FtpResult.RESULT_NO_SYSTEM: + return FtpResult.Result.NO_SYSTEM def __str__(self): return self.name diff --git a/mavsdk/ftp_pb2.py b/mavsdk/ftp_pb2.py index 6a82de92..12ce85bc 100644 --- a/mavsdk/ftp_pb2.py +++ b/mavsdk/ftp_pb2.py @@ -20,7 +20,7 @@ syntax='proto3', serialized_options=b'\n\rio.mavsdk.ftpB\010FtpProto', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\rftp/ftp.proto\x12\x0emavsdk.rpc.ftp\x1a\x14mavsdk_options.proto\"\x0e\n\x0cResetRequest\">\n\rResetResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\"G\n\x18SubscribeDownloadRequest\x12\x18\n\x10remote_file_path\x18\x01 \x01(\t\x12\x11\n\tlocal_dir\x18\x02 \x01(\t\"v\n\x10\x44ownloadResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\x12\x33\n\rprogress_data\x18\x02 \x01(\x0b\x32\x1c.mavsdk.rpc.ftp.ProgressData\"E\n\x16SubscribeUploadRequest\x12\x17\n\x0flocal_file_path\x18\x01 \x01(\t\x12\x12\n\nremote_dir\x18\x02 \x01(\t\"t\n\x0eUploadResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\x12\x33\n\rprogress_data\x18\x02 \x01(\x0b\x32\x1c.mavsdk.rpc.ftp.ProgressData\"*\n\x14ListDirectoryRequest\x12\x12\n\nremote_dir\x18\x01 \x01(\t\"U\n\x15ListDirectoryResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\x12\r\n\x05paths\x18\x02 \x03(\t\",\n\x16\x43reateDirectoryRequest\x12\x12\n\nremote_dir\x18\x01 \x01(\t\"H\n\x17\x43reateDirectoryResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\",\n\x16RemoveDirectoryRequest\x12\x12\n\nremote_dir\x18\x01 \x01(\t\"H\n\x17RemoveDirectoryResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\"-\n\x11RemoveFileRequest\x12\x18\n\x10remote_file_path\x18\x01 \x01(\t\"C\n\x12RemoveFileResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\"A\n\rRenameRequest\x12\x18\n\x10remote_from_path\x18\x01 \x01(\t\x12\x16\n\x0eremote_to_path\x18\x02 \x01(\t\"?\n\x0eRenameResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\"M\n\x18\x41reFilesIdenticalRequest\x12\x17\n\x0flocal_file_path\x18\x01 \x01(\t\x12\x18\n\x10remote_file_path\x18\x02 \x01(\t\"a\n\x19\x41reFilesIdenticalResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\x12\x15\n\rare_identical\x18\x02 \x01(\x08\"+\n\x17SetRootDirectoryRequest\x12\x10\n\x08root_dir\x18\x01 \x01(\t\"I\n\x18SetRootDirectoryResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\"(\n\x16SetTargetCompidRequest\x12\x0e\n\x06\x63ompid\x18\x01 \x01(\r\"H\n\x17SetTargetCompidResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\"\x15\n\x13GetOurCompidRequest\"&\n\x14GetOurCompidResponse\x12\x0e\n\x06\x63ompid\x18\x01 \x01(\r\">\n\x0cProgressData\x12\x19\n\x11\x62ytes_transferred\x18\x01 \x01(\r\x12\x13\n\x0btotal_bytes\x18\x02 \x01(\r\"\xf8\x02\n\tFtpResult\x12\x30\n\x06result\x18\x01 \x01(\x0e\x32 .mavsdk.rpc.ftp.FtpResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xa4\x02\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x0f\n\x0bRESULT_NEXT\x10\x02\x12\x12\n\x0eRESULT_TIMEOUT\x10\x03\x12\x0f\n\x0bRESULT_BUSY\x10\x04\x12\x18\n\x14RESULT_FILE_IO_ERROR\x10\x05\x12\x16\n\x12RESULT_FILE_EXISTS\x10\x06\x12\x1e\n\x1aRESULT_FILE_DOES_NOT_EXIST\x10\x07\x12\x19\n\x15RESULT_FILE_PROTECTED\x10\x08\x12\x1c\n\x18RESULT_INVALID_PARAMETER\x10\t\x12\x16\n\x12RESULT_UNSUPPORTED\x10\n\x12\x19\n\x15RESULT_PROTOCOL_ERROR\x10\x0b\x32\x9e\t\n\nFtpService\x12J\n\x05Reset\x12\x1c.mavsdk.rpc.ftp.ResetRequest\x1a\x1d.mavsdk.rpc.ftp.ResetResponse\"\x04\x80\xb5\x18\x00\x12k\n\x11SubscribeDownload\x12(.mavsdk.rpc.ftp.SubscribeDownloadRequest\x1a .mavsdk.rpc.ftp.DownloadResponse\"\x08\x80\xb5\x18\x00\x88\xb5\x18\x01\x30\x01\x12\x65\n\x0fSubscribeUpload\x12&.mavsdk.rpc.ftp.SubscribeUploadRequest\x1a\x1e.mavsdk.rpc.ftp.UploadResponse\"\x08\x80\xb5\x18\x00\x88\xb5\x18\x01\x30\x01\x12^\n\rListDirectory\x12$.mavsdk.rpc.ftp.ListDirectoryRequest\x1a%.mavsdk.rpc.ftp.ListDirectoryResponse\"\x00\x12\x64\n\x0f\x43reateDirectory\x12&.mavsdk.rpc.ftp.CreateDirectoryRequest\x1a\'.mavsdk.rpc.ftp.CreateDirectoryResponse\"\x00\x12\x64\n\x0fRemoveDirectory\x12&.mavsdk.rpc.ftp.RemoveDirectoryRequest\x1a\'.mavsdk.rpc.ftp.RemoveDirectoryResponse\"\x00\x12U\n\nRemoveFile\x12!.mavsdk.rpc.ftp.RemoveFileRequest\x1a\".mavsdk.rpc.ftp.RemoveFileResponse\"\x00\x12I\n\x06Rename\x12\x1d.mavsdk.rpc.ftp.RenameRequest\x1a\x1e.mavsdk.rpc.ftp.RenameResponse\"\x00\x12j\n\x11\x41reFilesIdentical\x12(.mavsdk.rpc.ftp.AreFilesIdenticalRequest\x1a).mavsdk.rpc.ftp.AreFilesIdenticalResponse\"\x00\x12k\n\x10SetRootDirectory\x12\'.mavsdk.rpc.ftp.SetRootDirectoryRequest\x1a(.mavsdk.rpc.ftp.SetRootDirectoryResponse\"\x04\x80\xb5\x18\x01\x12h\n\x0fSetTargetCompid\x12&.mavsdk.rpc.ftp.SetTargetCompidRequest\x1a\'.mavsdk.rpc.ftp.SetTargetCompidResponse\"\x04\x80\xb5\x18\x01\x12_\n\x0cGetOurCompid\x12#.mavsdk.rpc.ftp.GetOurCompidRequest\x1a$.mavsdk.rpc.ftp.GetOurCompidResponse\"\x04\x80\xb5\x18\x01\x42\x19\n\rio.mavsdk.ftpB\x08\x46tpProtob\x06proto3' + serialized_pb=b'\n\rftp/ftp.proto\x12\x0emavsdk.rpc.ftp\x1a\x14mavsdk_options.proto\"\x0e\n\x0cResetRequest\">\n\rResetResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\"G\n\x18SubscribeDownloadRequest\x12\x18\n\x10remote_file_path\x18\x01 \x01(\t\x12\x11\n\tlocal_dir\x18\x02 \x01(\t\"v\n\x10\x44ownloadResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\x12\x33\n\rprogress_data\x18\x02 \x01(\x0b\x32\x1c.mavsdk.rpc.ftp.ProgressData\"E\n\x16SubscribeUploadRequest\x12\x17\n\x0flocal_file_path\x18\x01 \x01(\t\x12\x12\n\nremote_dir\x18\x02 \x01(\t\"t\n\x0eUploadResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\x12\x33\n\rprogress_data\x18\x02 \x01(\x0b\x32\x1c.mavsdk.rpc.ftp.ProgressData\"*\n\x14ListDirectoryRequest\x12\x12\n\nremote_dir\x18\x01 \x01(\t\"U\n\x15ListDirectoryResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\x12\r\n\x05paths\x18\x02 \x03(\t\",\n\x16\x43reateDirectoryRequest\x12\x12\n\nremote_dir\x18\x01 \x01(\t\"H\n\x17\x43reateDirectoryResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\",\n\x16RemoveDirectoryRequest\x12\x12\n\nremote_dir\x18\x01 \x01(\t\"H\n\x17RemoveDirectoryResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\"-\n\x11RemoveFileRequest\x12\x18\n\x10remote_file_path\x18\x01 \x01(\t\"C\n\x12RemoveFileResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\"A\n\rRenameRequest\x12\x18\n\x10remote_from_path\x18\x01 \x01(\t\x12\x16\n\x0eremote_to_path\x18\x02 \x01(\t\"?\n\x0eRenameResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\"M\n\x18\x41reFilesIdenticalRequest\x12\x17\n\x0flocal_file_path\x18\x01 \x01(\t\x12\x18\n\x10remote_file_path\x18\x02 \x01(\t\"a\n\x19\x41reFilesIdenticalResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\x12\x15\n\rare_identical\x18\x02 \x01(\x08\"+\n\x17SetRootDirectoryRequest\x12\x10\n\x08root_dir\x18\x01 \x01(\t\"I\n\x18SetRootDirectoryResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\"(\n\x16SetTargetCompidRequest\x12\x0e\n\x06\x63ompid\x18\x01 \x01(\r\"H\n\x17SetTargetCompidResponse\x12-\n\nftp_result\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.ftp.FtpResult\"\x15\n\x13GetOurCompidRequest\"&\n\x14GetOurCompidResponse\x12\x0e\n\x06\x63ompid\x18\x01 \x01(\r\">\n\x0cProgressData\x12\x19\n\x11\x62ytes_transferred\x18\x01 \x01(\r\x12\x13\n\x0btotal_bytes\x18\x02 \x01(\r\"\x8e\x03\n\tFtpResult\x12\x30\n\x06result\x18\x01 \x01(\x0e\x32 .mavsdk.rpc.ftp.FtpResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xba\x02\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x0f\n\x0bRESULT_NEXT\x10\x02\x12\x12\n\x0eRESULT_TIMEOUT\x10\x03\x12\x0f\n\x0bRESULT_BUSY\x10\x04\x12\x18\n\x14RESULT_FILE_IO_ERROR\x10\x05\x12\x16\n\x12RESULT_FILE_EXISTS\x10\x06\x12\x1e\n\x1aRESULT_FILE_DOES_NOT_EXIST\x10\x07\x12\x19\n\x15RESULT_FILE_PROTECTED\x10\x08\x12\x1c\n\x18RESULT_INVALID_PARAMETER\x10\t\x12\x16\n\x12RESULT_UNSUPPORTED\x10\n\x12\x19\n\x15RESULT_PROTOCOL_ERROR\x10\x0b\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x0c\x32\x9e\t\n\nFtpService\x12J\n\x05Reset\x12\x1c.mavsdk.rpc.ftp.ResetRequest\x1a\x1d.mavsdk.rpc.ftp.ResetResponse\"\x04\x80\xb5\x18\x00\x12k\n\x11SubscribeDownload\x12(.mavsdk.rpc.ftp.SubscribeDownloadRequest\x1a .mavsdk.rpc.ftp.DownloadResponse\"\x08\x80\xb5\x18\x00\x88\xb5\x18\x01\x30\x01\x12\x65\n\x0fSubscribeUpload\x12&.mavsdk.rpc.ftp.SubscribeUploadRequest\x1a\x1e.mavsdk.rpc.ftp.UploadResponse\"\x08\x80\xb5\x18\x00\x88\xb5\x18\x01\x30\x01\x12^\n\rListDirectory\x12$.mavsdk.rpc.ftp.ListDirectoryRequest\x1a%.mavsdk.rpc.ftp.ListDirectoryResponse\"\x00\x12\x64\n\x0f\x43reateDirectory\x12&.mavsdk.rpc.ftp.CreateDirectoryRequest\x1a\'.mavsdk.rpc.ftp.CreateDirectoryResponse\"\x00\x12\x64\n\x0fRemoveDirectory\x12&.mavsdk.rpc.ftp.RemoveDirectoryRequest\x1a\'.mavsdk.rpc.ftp.RemoveDirectoryResponse\"\x00\x12U\n\nRemoveFile\x12!.mavsdk.rpc.ftp.RemoveFileRequest\x1a\".mavsdk.rpc.ftp.RemoveFileResponse\"\x00\x12I\n\x06Rename\x12\x1d.mavsdk.rpc.ftp.RenameRequest\x1a\x1e.mavsdk.rpc.ftp.RenameResponse\"\x00\x12j\n\x11\x41reFilesIdentical\x12(.mavsdk.rpc.ftp.AreFilesIdenticalRequest\x1a).mavsdk.rpc.ftp.AreFilesIdenticalResponse\"\x00\x12k\n\x10SetRootDirectory\x12\'.mavsdk.rpc.ftp.SetRootDirectoryRequest\x1a(.mavsdk.rpc.ftp.SetRootDirectoryResponse\"\x04\x80\xb5\x18\x01\x12h\n\x0fSetTargetCompid\x12&.mavsdk.rpc.ftp.SetTargetCompidRequest\x1a\'.mavsdk.rpc.ftp.SetTargetCompidResponse\"\x04\x80\xb5\x18\x01\x12_\n\x0cGetOurCompid\x12#.mavsdk.rpc.ftp.GetOurCompidRequest\x1a$.mavsdk.rpc.ftp.GetOurCompidResponse\"\x04\x80\xb5\x18\x01\x42\x19\n\rio.mavsdk.ftpB\x08\x46tpProtob\x06proto3' , dependencies=[mavsdk__options__pb2.DESCRIPTOR,]) @@ -93,11 +93,16 @@ serialized_options=None, type=None, create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_NO_SYSTEM', index=12, number=12, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, serialized_start=1762, - serialized_end=2054, + serialized_end=2076, ) _sym_db.RegisterEnumDescriptor(_FTPRESULT_RESULT) @@ -987,7 +992,7 @@ oneofs=[ ], serialized_start=1678, - serialized_end=2054, + serialized_end=2076, ) _RESETRESPONSE.fields_by_name['ftp_result'].message_type = _FTPRESULT @@ -1225,8 +1230,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=2057, - serialized_end=3239, + serialized_start=2079, + serialized_end=3261, methods=[ _descriptor.MethodDescriptor( name='Reset', diff --git a/mavsdk/geofence.py b/mavsdk/geofence.py index de96d725..e22a9bfc 100644 --- a/mavsdk/geofence.py +++ b/mavsdk/geofence.py @@ -240,6 +240,9 @@ class Result(Enum): INVALID_ARGUMENT Invalid argument + NO_SYSTEM + No system connected + """ @@ -250,6 +253,7 @@ class Result(Enum): BUSY = 4 TIMEOUT = 5 INVALID_ARGUMENT = 6 + NO_SYSTEM = 7 def translate_to_rpc(self): if self == GeofenceResult.Result.UNKNOWN: @@ -266,6 +270,8 @@ def translate_to_rpc(self): return geofence_pb2.GeofenceResult.RESULT_TIMEOUT if self == GeofenceResult.Result.INVALID_ARGUMENT: return geofence_pb2.GeofenceResult.RESULT_INVALID_ARGUMENT + if self == GeofenceResult.Result.NO_SYSTEM: + return geofence_pb2.GeofenceResult.RESULT_NO_SYSTEM @staticmethod def translate_from_rpc(rpc_enum_value): @@ -284,6 +290,8 @@ def translate_from_rpc(rpc_enum_value): return GeofenceResult.Result.TIMEOUT if rpc_enum_value == geofence_pb2.GeofenceResult.RESULT_INVALID_ARGUMENT: return GeofenceResult.Result.INVALID_ARGUMENT + if rpc_enum_value == geofence_pb2.GeofenceResult.RESULT_NO_SYSTEM: + return GeofenceResult.Result.NO_SYSTEM def __str__(self): return self.name diff --git a/mavsdk/geofence_pb2.py b/mavsdk/geofence_pb2.py index 8aae1995..53c53368 100644 --- a/mavsdk/geofence_pb2.py +++ b/mavsdk/geofence_pb2.py @@ -19,7 +19,7 @@ syntax='proto3', serialized_options=b'\n\022io.mavsdk.geofenceB\rGeofenceProto', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x17geofence/geofence.proto\x12\x13mavsdk.rpc.geofence\"4\n\x05Point\x12\x14\n\x0clatitude_deg\x18\x01 \x01(\x01\x12\x15\n\rlongitude_deg\x18\x02 \x01(\x01\"\xb2\x01\n\x07Polygon\x12*\n\x06points\x18\x01 \x03(\x0b\x32\x1a.mavsdk.rpc.geofence.Point\x12:\n\nfence_type\x18\x02 \x01(\x0e\x32&.mavsdk.rpc.geofence.Polygon.FenceType\"?\n\tFenceType\x12\x18\n\x14\x46\x45NCE_TYPE_INCLUSION\x10\x00\x12\x18\n\x14\x46\x45NCE_TYPE_EXCLUSION\x10\x01\"G\n\x15UploadGeofenceRequest\x12.\n\x08polygons\x18\x01 \x03(\x0b\x32\x1c.mavsdk.rpc.geofence.Polygon\"V\n\x16UploadGeofenceResponse\x12<\n\x0fgeofence_result\x18\x01 \x01(\x0b\x32#.mavsdk.rpc.geofence.GeofenceResult\"\x8b\x02\n\x0eGeofenceResult\x12:\n\x06result\x18\x01 \x01(\x0e\x32*.mavsdk.rpc.geofence.GeofenceResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xa8\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\"\n\x1eRESULT_TOO_MANY_GEOFENCE_ITEMS\x10\x03\x12\x0f\n\x0bRESULT_BUSY\x10\x04\x12\x12\n\x0eRESULT_TIMEOUT\x10\x05\x12\x1b\n\x17RESULT_INVALID_ARGUMENT\x10\x06\x32~\n\x0fGeofenceService\x12k\n\x0eUploadGeofence\x12*.mavsdk.rpc.geofence.UploadGeofenceRequest\x1a+.mavsdk.rpc.geofence.UploadGeofenceResponse\"\x00\x42#\n\x12io.mavsdk.geofenceB\rGeofenceProtob\x06proto3' + serialized_pb=b'\n\x17geofence/geofence.proto\x12\x13mavsdk.rpc.geofence\"4\n\x05Point\x12\x14\n\x0clatitude_deg\x18\x01 \x01(\x01\x12\x15\n\rlongitude_deg\x18\x02 \x01(\x01\"\xb2\x01\n\x07Polygon\x12*\n\x06points\x18\x01 \x03(\x0b\x32\x1a.mavsdk.rpc.geofence.Point\x12:\n\nfence_type\x18\x02 \x01(\x0e\x32&.mavsdk.rpc.geofence.Polygon.FenceType\"?\n\tFenceType\x12\x18\n\x14\x46\x45NCE_TYPE_INCLUSION\x10\x00\x12\x18\n\x14\x46\x45NCE_TYPE_EXCLUSION\x10\x01\"G\n\x15UploadGeofenceRequest\x12.\n\x08polygons\x18\x01 \x03(\x0b\x32\x1c.mavsdk.rpc.geofence.Polygon\"V\n\x16UploadGeofenceResponse\x12<\n\x0fgeofence_result\x18\x01 \x01(\x0b\x32#.mavsdk.rpc.geofence.GeofenceResult\"\xa1\x02\n\x0eGeofenceResult\x12:\n\x06result\x18\x01 \x01(\x0e\x32*.mavsdk.rpc.geofence.GeofenceResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xbe\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\"\n\x1eRESULT_TOO_MANY_GEOFENCE_ITEMS\x10\x03\x12\x0f\n\x0bRESULT_BUSY\x10\x04\x12\x12\n\x0eRESULT_TIMEOUT\x10\x05\x12\x1b\n\x17RESULT_INVALID_ARGUMENT\x10\x06\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x07\x32~\n\x0fGeofenceService\x12k\n\x0eUploadGeofence\x12*.mavsdk.rpc.geofence.UploadGeofenceRequest\x1a+.mavsdk.rpc.geofence.UploadGeofenceResponse\"\x00\x42#\n\x12io.mavsdk.geofenceB\rGeofenceProtob\x06proto3' ) @@ -91,11 +91,16 @@ serialized_options=None, type=None, create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_NO_SYSTEM', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, serialized_start=544, - serialized_end=712, + serialized_end=734, ) _sym_db.RegisterEnumDescriptor(_GEOFENCERESULT_RESULT) @@ -279,7 +284,7 @@ oneofs=[ ], serialized_start=445, - serialized_end=712, + serialized_end=734, ) _POLYGON.fields_by_name['points'].message_type = _POINT @@ -341,8 +346,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=714, - serialized_end=840, + serialized_start=736, + serialized_end=862, methods=[ _descriptor.MethodDescriptor( name='UploadGeofence', diff --git a/mavsdk/gimbal.py b/mavsdk/gimbal.py index f1000799..a380d313 100644 --- a/mavsdk/gimbal.py +++ b/mavsdk/gimbal.py @@ -245,6 +245,9 @@ class Result(Enum): UNSUPPORTED Functionality not supported + NO_SYSTEM + No system connected + """ @@ -253,6 +256,7 @@ class Result(Enum): ERROR = 2 TIMEOUT = 3 UNSUPPORTED = 4 + NO_SYSTEM = 5 def translate_to_rpc(self): if self == GimbalResult.Result.UNKNOWN: @@ -265,6 +269,8 @@ def translate_to_rpc(self): return gimbal_pb2.GimbalResult.RESULT_TIMEOUT if self == GimbalResult.Result.UNSUPPORTED: return gimbal_pb2.GimbalResult.RESULT_UNSUPPORTED + if self == GimbalResult.Result.NO_SYSTEM: + return gimbal_pb2.GimbalResult.RESULT_NO_SYSTEM @staticmethod def translate_from_rpc(rpc_enum_value): @@ -279,6 +285,8 @@ def translate_from_rpc(rpc_enum_value): return GimbalResult.Result.TIMEOUT if rpc_enum_value == gimbal_pb2.GimbalResult.RESULT_UNSUPPORTED: return GimbalResult.Result.UNSUPPORTED + if rpc_enum_value == gimbal_pb2.GimbalResult.RESULT_NO_SYSTEM: + return GimbalResult.Result.NO_SYSTEM def __str__(self): return self.name diff --git a/mavsdk/gimbal_pb2.py b/mavsdk/gimbal_pb2.py index 94f8dda4..8aad578b 100644 --- a/mavsdk/gimbal_pb2.py +++ b/mavsdk/gimbal_pb2.py @@ -20,7 +20,7 @@ syntax='proto3', serialized_options=b'\n\020io.mavsdk.gimbalB\013GimbalProto', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x13gimbal/gimbal.proto\x12\x11mavsdk.rpc.gimbal\";\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\"\xca\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\"n\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*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\xe7\x05\n\rGimbalService\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' + serialized_pb=b'\n\x13gimbal/gimbal.proto\x12\x11mavsdk.rpc.gimbal\";\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\xe7\x05\n\rGimbalService\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' ) _GIMBALMODE = _descriptor.EnumDescriptor( @@ -43,8 +43,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=1448, - serialized_end=1514, + serialized_start=1471, + serialized_end=1537, ) _sym_db.RegisterEnumDescriptor(_GIMBALMODE) @@ -74,8 +74,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=1516, - serialized_end=1606, + serialized_start=1539, + serialized_end=1629, ) _sym_db.RegisterEnumDescriptor(_CONTROLMODE) @@ -119,11 +119,16 @@ serialized_options=None, type=None, create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_NO_SYSTEM', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, - serialized_start=1336, - serialized_end=1446, + serialized_start=1337, + serialized_end=1469, ) _sym_db.RegisterEnumDescriptor(_GIMBALRESULT_RESULT) @@ -686,7 +691,7 @@ oneofs=[ ], serialized_start=1244, - serialized_end=1446, + serialized_end=1469, ) _SETPITCHANDYAWRESPONSE.fields_by_name['gimbal_result'].message_type = _GIMBALRESULT @@ -843,8 +848,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=1609, - serialized_end=2352, + serialized_start=1632, + serialized_end=2375, methods=[ _descriptor.MethodDescriptor( name='SetPitchAndYaw', diff --git a/mavsdk/info.py b/mavsdk/info.py index 1396b887..f2cd6e8d 100644 --- a/mavsdk/info.py +++ b/mavsdk/info.py @@ -509,12 +509,16 @@ class Result(Enum): INFORMATION_NOT_RECEIVED_YET Information has not been received yet + NO_SYSTEM + No system is connected + """ UNKNOWN = 0 SUCCESS = 1 INFORMATION_NOT_RECEIVED_YET = 2 + NO_SYSTEM = 3 def translate_to_rpc(self): if self == InfoResult.Result.UNKNOWN: @@ -523,6 +527,8 @@ def translate_to_rpc(self): return info_pb2.InfoResult.RESULT_SUCCESS if self == InfoResult.Result.INFORMATION_NOT_RECEIVED_YET: return info_pb2.InfoResult.RESULT_INFORMATION_NOT_RECEIVED_YET + if self == InfoResult.Result.NO_SYSTEM: + return info_pb2.InfoResult.RESULT_NO_SYSTEM @staticmethod def translate_from_rpc(rpc_enum_value): @@ -533,6 +539,8 @@ def translate_from_rpc(rpc_enum_value): return InfoResult.Result.SUCCESS if rpc_enum_value == info_pb2.InfoResult.RESULT_INFORMATION_NOT_RECEIVED_YET: return InfoResult.Result.INFORMATION_NOT_RECEIVED_YET + if rpc_enum_value == info_pb2.InfoResult.RESULT_NO_SYSTEM: + return InfoResult.Result.NO_SYSTEM def __str__(self): return self.name diff --git a/mavsdk/info_pb2.py b/mavsdk/info_pb2.py index 97646860..ac1b669b 100644 --- a/mavsdk/info_pb2.py +++ b/mavsdk/info_pb2.py @@ -20,7 +20,7 @@ syntax='proto3', serialized_options=b'\n\016io.mavsdk.infoB\tInfoProto', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x0finfo/info.proto\x12\x0fmavsdk.rpc.info\x1a\x14mavsdk_options.proto\"\x1d\n\x1bGetFlightInformationRequest\"\x82\x01\n\x1cGetFlightInformationResponse\x12\x30\n\x0binfo_result\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.info.InfoResult\x12\x30\n\x0b\x66light_info\x18\x02 \x01(\x0b\x32\x1b.mavsdk.rpc.info.FlightInfo\"\x1a\n\x18GetIdentificationRequest\"\x86\x01\n\x19GetIdentificationResponse\x12\x30\n\x0binfo_result\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.info.InfoResult\x12\x37\n\x0eidentification\x18\x02 \x01(\x0b\x32\x1f.mavsdk.rpc.info.Identification\"\x13\n\x11GetProductRequest\"q\n\x12GetProductResponse\x12\x30\n\x0binfo_result\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.info.InfoResult\x12)\n\x07product\x18\x02 \x01(\x0b\x32\x18.mavsdk.rpc.info.Product\"\x13\n\x11GetVersionRequest\"q\n\x12GetVersionResponse\x12\x30\n\x0binfo_result\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.info.InfoResult\x12)\n\x07version\x18\x02 \x01(\x0b\x32\x18.mavsdk.rpc.info.Version\"\x17\n\x15GetSpeedFactorRequest\"`\n\x16GetSpeedFactorResponse\x12\x30\n\x0binfo_result\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.info.InfoResult\x12\x14\n\x0cspeed_factor\x18\x02 \x01(\x01\"6\n\nFlightInfo\x12\x14\n\x0ctime_boot_ms\x18\x01 \x01(\r\x12\x12\n\nflight_uid\x18\x02 \x01(\x04\":\n\x0eIdentification\x12\x14\n\x0chardware_uid\x18\x01 \x01(\t\x12\x12\n\nlegacy_uid\x18\x02 \x01(\x04\"[\n\x07Product\x12\x11\n\tvendor_id\x18\x01 \x01(\x05\x12\x13\n\x0bvendor_name\x18\x02 \x01(\t\x12\x12\n\nproduct_id\x18\x03 \x01(\x05\x12\x14\n\x0cproduct_name\x18\x04 \x01(\t\"\xa7\x02\n\x07Version\x12\x17\n\x0f\x66light_sw_major\x18\x01 \x01(\x05\x12\x17\n\x0f\x66light_sw_minor\x18\x02 \x01(\x05\x12\x17\n\x0f\x66light_sw_patch\x18\x03 \x01(\x05\x12\x1e\n\x16\x66light_sw_vendor_major\x18\x04 \x01(\x05\x12\x1e\n\x16\x66light_sw_vendor_minor\x18\x05 \x01(\x05\x12\x1e\n\x16\x66light_sw_vendor_patch\x18\x06 \x01(\x05\x12\x13\n\x0bos_sw_major\x18\x07 \x01(\x05\x12\x13\n\x0bos_sw_minor\x18\x08 \x01(\x05\x12\x13\n\x0bos_sw_patch\x18\t \x01(\x05\x12\x1a\n\x12\x66light_sw_git_hash\x18\n \x01(\t\x12\x16\n\x0eos_sw_git_hash\x18\x0b \x01(\t\"\xaf\x01\n\nInfoResult\x12\x32\n\x06result\x18\x01 \x01(\x0e\x32\".mavsdk.rpc.info.InfoResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"Y\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\'\n#RESULT_INFORMATION_NOT_RECEIVED_YET\x10\x02\x32\x9d\x04\n\x0bInfoService\x12y\n\x14GetFlightInformation\x12,.mavsdk.rpc.info.GetFlightInformationRequest\x1a-.mavsdk.rpc.info.GetFlightInformationResponse\"\x04\x80\xb5\x18\x01\x12p\n\x11GetIdentification\x12).mavsdk.rpc.info.GetIdentificationRequest\x1a*.mavsdk.rpc.info.GetIdentificationResponse\"\x04\x80\xb5\x18\x01\x12[\n\nGetProduct\x12\".mavsdk.rpc.info.GetProductRequest\x1a#.mavsdk.rpc.info.GetProductResponse\"\x04\x80\xb5\x18\x01\x12[\n\nGetVersion\x12\".mavsdk.rpc.info.GetVersionRequest\x1a#.mavsdk.rpc.info.GetVersionResponse\"\x04\x80\xb5\x18\x01\x12g\n\x0eGetSpeedFactor\x12&.mavsdk.rpc.info.GetSpeedFactorRequest\x1a\'.mavsdk.rpc.info.GetSpeedFactorResponse\"\x04\x80\xb5\x18\x01\x42\x1b\n\x0eio.mavsdk.infoB\tInfoProtob\x06proto3' + serialized_pb=b'\n\x0finfo/info.proto\x12\x0fmavsdk.rpc.info\x1a\x14mavsdk_options.proto\"\x1d\n\x1bGetFlightInformationRequest\"\x82\x01\n\x1cGetFlightInformationResponse\x12\x30\n\x0binfo_result\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.info.InfoResult\x12\x30\n\x0b\x66light_info\x18\x02 \x01(\x0b\x32\x1b.mavsdk.rpc.info.FlightInfo\"\x1a\n\x18GetIdentificationRequest\"\x86\x01\n\x19GetIdentificationResponse\x12\x30\n\x0binfo_result\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.info.InfoResult\x12\x37\n\x0eidentification\x18\x02 \x01(\x0b\x32\x1f.mavsdk.rpc.info.Identification\"\x13\n\x11GetProductRequest\"q\n\x12GetProductResponse\x12\x30\n\x0binfo_result\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.info.InfoResult\x12)\n\x07product\x18\x02 \x01(\x0b\x32\x18.mavsdk.rpc.info.Product\"\x13\n\x11GetVersionRequest\"q\n\x12GetVersionResponse\x12\x30\n\x0binfo_result\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.info.InfoResult\x12)\n\x07version\x18\x02 \x01(\x0b\x32\x18.mavsdk.rpc.info.Version\"\x17\n\x15GetSpeedFactorRequest\"`\n\x16GetSpeedFactorResponse\x12\x30\n\x0binfo_result\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.info.InfoResult\x12\x14\n\x0cspeed_factor\x18\x02 \x01(\x01\"6\n\nFlightInfo\x12\x14\n\x0ctime_boot_ms\x18\x01 \x01(\r\x12\x12\n\nflight_uid\x18\x02 \x01(\x04\":\n\x0eIdentification\x12\x14\n\x0chardware_uid\x18\x01 \x01(\t\x12\x12\n\nlegacy_uid\x18\x02 \x01(\x04\"[\n\x07Product\x12\x11\n\tvendor_id\x18\x01 \x01(\x05\x12\x13\n\x0bvendor_name\x18\x02 \x01(\t\x12\x12\n\nproduct_id\x18\x03 \x01(\x05\x12\x14\n\x0cproduct_name\x18\x04 \x01(\t\"\xa7\x02\n\x07Version\x12\x17\n\x0f\x66light_sw_major\x18\x01 \x01(\x05\x12\x17\n\x0f\x66light_sw_minor\x18\x02 \x01(\x05\x12\x17\n\x0f\x66light_sw_patch\x18\x03 \x01(\x05\x12\x1e\n\x16\x66light_sw_vendor_major\x18\x04 \x01(\x05\x12\x1e\n\x16\x66light_sw_vendor_minor\x18\x05 \x01(\x05\x12\x1e\n\x16\x66light_sw_vendor_patch\x18\x06 \x01(\x05\x12\x13\n\x0bos_sw_major\x18\x07 \x01(\x05\x12\x13\n\x0bos_sw_minor\x18\x08 \x01(\x05\x12\x13\n\x0bos_sw_patch\x18\t \x01(\x05\x12\x1a\n\x12\x66light_sw_git_hash\x18\n \x01(\t\x12\x16\n\x0eos_sw_git_hash\x18\x0b \x01(\t\"\xc5\x01\n\nInfoResult\x12\x32\n\x06result\x18\x01 \x01(\x0e\x32\".mavsdk.rpc.info.InfoResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"o\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\'\n#RESULT_INFORMATION_NOT_RECEIVED_YET\x10\x02\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x03\x32\x9d\x04\n\x0bInfoService\x12y\n\x14GetFlightInformation\x12,.mavsdk.rpc.info.GetFlightInformationRequest\x1a-.mavsdk.rpc.info.GetFlightInformationResponse\"\x04\x80\xb5\x18\x01\x12p\n\x11GetIdentification\x12).mavsdk.rpc.info.GetIdentificationRequest\x1a*.mavsdk.rpc.info.GetIdentificationResponse\"\x04\x80\xb5\x18\x01\x12[\n\nGetProduct\x12\".mavsdk.rpc.info.GetProductRequest\x1a#.mavsdk.rpc.info.GetProductResponse\"\x04\x80\xb5\x18\x01\x12[\n\nGetVersion\x12\".mavsdk.rpc.info.GetVersionRequest\x1a#.mavsdk.rpc.info.GetVersionResponse\"\x04\x80\xb5\x18\x01\x12g\n\x0eGetSpeedFactor\x12&.mavsdk.rpc.info.GetSpeedFactorRequest\x1a\'.mavsdk.rpc.info.GetSpeedFactorResponse\"\x04\x80\xb5\x18\x01\x42\x1b\n\x0eio.mavsdk.infoB\tInfoProtob\x06proto3' , dependencies=[mavsdk__options__pb2.DESCRIPTOR,]) @@ -48,11 +48,16 @@ serialized_options=None, type=None, create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_NO_SYSTEM', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, serialized_start=1376, - serialized_end=1465, + serialized_end=1487, ) _sym_db.RegisterEnumDescriptor(_INFORESULT_RESULT) @@ -646,7 +651,7 @@ oneofs=[ ], serialized_start=1290, - serialized_end=1465, + serialized_end=1487, ) _GETFLIGHTINFORMATIONRESPONSE.fields_by_name['info_result'].message_type = _INFORESULT @@ -792,8 +797,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=1468, - serialized_end=2009, + serialized_start=1490, + serialized_end=2031, methods=[ _descriptor.MethodDescriptor( name='GetFlightInformation', diff --git a/mavsdk/log_files.py b/mavsdk/log_files.py index 3cd296b2..0920b6d4 100644 --- a/mavsdk/log_files.py +++ b/mavsdk/log_files.py @@ -197,6 +197,9 @@ class Result(Enum): FILE_OPEN_FAILED File open failed + NO_SYSTEM + No system is connected + """ @@ -207,6 +210,7 @@ class Result(Enum): TIMEOUT = 4 INVALID_ARGUMENT = 5 FILE_OPEN_FAILED = 6 + NO_SYSTEM = 7 def translate_to_rpc(self): if self == LogFilesResult.Result.UNKNOWN: @@ -223,6 +227,8 @@ def translate_to_rpc(self): return log_files_pb2.LogFilesResult.RESULT_INVALID_ARGUMENT if self == LogFilesResult.Result.FILE_OPEN_FAILED: return log_files_pb2.LogFilesResult.RESULT_FILE_OPEN_FAILED + if self == LogFilesResult.Result.NO_SYSTEM: + return log_files_pb2.LogFilesResult.RESULT_NO_SYSTEM @staticmethod def translate_from_rpc(rpc_enum_value): @@ -241,6 +247,8 @@ def translate_from_rpc(rpc_enum_value): return LogFilesResult.Result.INVALID_ARGUMENT if rpc_enum_value == log_files_pb2.LogFilesResult.RESULT_FILE_OPEN_FAILED: return LogFilesResult.Result.FILE_OPEN_FAILED + if rpc_enum_value == log_files_pb2.LogFilesResult.RESULT_NO_SYSTEM: + return LogFilesResult.Result.NO_SYSTEM def __str__(self): return self.name diff --git a/mavsdk/log_files_pb2.py b/mavsdk/log_files_pb2.py index 9ae8c19e..38fed751 100644 --- a/mavsdk/log_files_pb2.py +++ b/mavsdk/log_files_pb2.py @@ -20,7 +20,7 @@ syntax='proto3', serialized_options=b'\n\023io.mavsdk.log_filesB\rLogFilesProto', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x19log_files/log_files.proto\x12\x14mavsdk.rpc.log_files\x1a\x14mavsdk_options.proto\"\x13\n\x11GetEntriesRequest\"\x82\x01\n\x12GetEntriesResponse\x12>\n\x10log_files_result\x18\x01 \x01(\x0b\x32$.mavsdk.rpc.log_files.LogFilesResult\x12,\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x1b.mavsdk.rpc.log_files.Entry\"[\n\x1fSubscribeDownloadLogFileRequest\x12*\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.log_files.Entry\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x8f\x01\n\x17\x44ownloadLogFileResponse\x12>\n\x10log_files_result\x18\x01 \x01(\x0b\x32$.mavsdk.rpc.log_files.LogFilesResult\x12\x34\n\x08progress\x18\x02 \x01(\x0b\x32\".mavsdk.rpc.log_files.ProgressData\")\n\x0cProgressData\x12\x19\n\x08progress\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"5\n\x05\x45ntry\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04\x64\x61te\x18\x02 \x01(\t\x12\x12\n\nsize_bytes\x18\x03 \x01(\r\"\x8b\x02\n\x0eLogFilesResult\x12;\n\x06result\x18\x01 \x01(\x0e\x32+.mavsdk.rpc.log_files.LogFilesResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xa7\x01\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x0f\n\x0bRESULT_NEXT\x10\x02\x12\x16\n\x12RESULT_NO_LOGFILES\x10\x03\x12\x12\n\x0eRESULT_TIMEOUT\x10\x04\x12\x1b\n\x17RESULT_INVALID_ARGUMENT\x10\x05\x12\x1b\n\x17RESULT_FILE_OPEN_FAILED\x10\x06\x32\x83\x02\n\x0fLogFilesService\x12\x61\n\nGetEntries\x12\'.mavsdk.rpc.log_files.GetEntriesRequest\x1a(.mavsdk.rpc.log_files.GetEntriesResponse\"\x00\x12\x8c\x01\n\x18SubscribeDownloadLogFile\x12\x35.mavsdk.rpc.log_files.SubscribeDownloadLogFileRequest\x1a-.mavsdk.rpc.log_files.DownloadLogFileResponse\"\x08\x80\xb5\x18\x00\x88\xb5\x18\x01\x30\x01\x42$\n\x13io.mavsdk.log_filesB\rLogFilesProtob\x06proto3' + serialized_pb=b'\n\x19log_files/log_files.proto\x12\x14mavsdk.rpc.log_files\x1a\x14mavsdk_options.proto\"\x13\n\x11GetEntriesRequest\"\x82\x01\n\x12GetEntriesResponse\x12>\n\x10log_files_result\x18\x01 \x01(\x0b\x32$.mavsdk.rpc.log_files.LogFilesResult\x12,\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x1b.mavsdk.rpc.log_files.Entry\"[\n\x1fSubscribeDownloadLogFileRequest\x12*\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.log_files.Entry\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x8f\x01\n\x17\x44ownloadLogFileResponse\x12>\n\x10log_files_result\x18\x01 \x01(\x0b\x32$.mavsdk.rpc.log_files.LogFilesResult\x12\x34\n\x08progress\x18\x02 \x01(\x0b\x32\".mavsdk.rpc.log_files.ProgressData\")\n\x0cProgressData\x12\x19\n\x08progress\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"5\n\x05\x45ntry\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04\x64\x61te\x18\x02 \x01(\t\x12\x12\n\nsize_bytes\x18\x03 \x01(\r\"\xa1\x02\n\x0eLogFilesResult\x12;\n\x06result\x18\x01 \x01(\x0e\x32+.mavsdk.rpc.log_files.LogFilesResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xbd\x01\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x0f\n\x0bRESULT_NEXT\x10\x02\x12\x16\n\x12RESULT_NO_LOGFILES\x10\x03\x12\x12\n\x0eRESULT_TIMEOUT\x10\x04\x12\x1b\n\x17RESULT_INVALID_ARGUMENT\x10\x05\x12\x1b\n\x17RESULT_FILE_OPEN_FAILED\x10\x06\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x07\x32\x83\x02\n\x0fLogFilesService\x12\x61\n\nGetEntries\x12\'.mavsdk.rpc.log_files.GetEntriesRequest\x1a(.mavsdk.rpc.log_files.GetEntriesResponse\"\x00\x12\x8c\x01\n\x18SubscribeDownloadLogFile\x12\x35.mavsdk.rpc.log_files.SubscribeDownloadLogFileRequest\x1a-.mavsdk.rpc.log_files.DownloadLogFileResponse\"\x08\x80\xb5\x18\x00\x88\xb5\x18\x01\x30\x01\x42$\n\x13io.mavsdk.log_filesB\rLogFilesProtob\x06proto3' , dependencies=[mavsdk__options__pb2.DESCRIPTOR,]) @@ -68,11 +68,16 @@ serialized_options=None, type=None, create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_NO_SYSTEM', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, serialized_start=665, - serialized_end=832, + serialized_end=854, ) _sym_db.RegisterEnumDescriptor(_LOGFILESRESULT_RESULT) @@ -333,7 +338,7 @@ oneofs=[ ], serialized_start=565, - serialized_end=832, + serialized_end=854, ) _GETENTRIESRESPONSE.fields_by_name['log_files_result'].message_type = _LOGFILESRESULT @@ -412,8 +417,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=835, - serialized_end=1094, + serialized_start=857, + serialized_end=1116, methods=[ _descriptor.MethodDescriptor( name='GetEntries', diff --git a/mavsdk/mission.py b/mavsdk/mission.py index 606debe3..f2feda1b 100644 --- a/mavsdk/mission.py +++ b/mavsdk/mission.py @@ -47,6 +47,12 @@ class MissionItem: camera_photo_interval_s : double Camera photo interval to use after this mission item (in seconds) + acceptance_radius_m : float + Radius for completing a mission item (in metres) + + yaw_deg : float + Absolute yaw angle (in degrees) + """ @@ -130,7 +136,9 @@ def __init__( gimbal_yaw_deg, camera_action, loiter_time_s, - camera_photo_interval_s): + camera_photo_interval_s, + acceptance_radius_m, + yaw_deg): """ Initializes the MissionItem object """ self.latitude_deg = latitude_deg self.longitude_deg = longitude_deg @@ -142,6 +150,8 @@ def __init__( self.camera_action = camera_action self.loiter_time_s = loiter_time_s self.camera_photo_interval_s = camera_photo_interval_s + self.acceptance_radius_m = acceptance_radius_m + self.yaw_deg = yaw_deg def __equals__(self, to_compare): """ Checks if two MissionItem are the same """ @@ -158,7 +168,9 @@ def __equals__(self, to_compare): (self.gimbal_yaw_deg == to_compare.gimbal_yaw_deg) and \ (self.camera_action == to_compare.camera_action) and \ (self.loiter_time_s == to_compare.loiter_time_s) and \ - (self.camera_photo_interval_s == to_compare.camera_photo_interval_s) + (self.camera_photo_interval_s == to_compare.camera_photo_interval_s) and \ + (self.acceptance_radius_m == to_compare.acceptance_radius_m) and \ + (self.yaw_deg == to_compare.yaw_deg) except AttributeError: return False @@ -175,7 +187,9 @@ def __str__(self): "gimbal_yaw_deg: " + str(self.gimbal_yaw_deg), "camera_action: " + str(self.camera_action), "loiter_time_s: " + str(self.loiter_time_s), - "camera_photo_interval_s: " + str(self.camera_photo_interval_s) + "camera_photo_interval_s: " + str(self.camera_photo_interval_s), + "acceptance_radius_m: " + str(self.acceptance_radius_m), + "yaw_deg: " + str(self.yaw_deg) ]) return f"MissionItem: [{struct_repr}]" @@ -212,7 +226,13 @@ def translate_from_rpc(rpcMissionItem): rpcMissionItem.loiter_time_s, - rpcMissionItem.camera_photo_interval_s + rpcMissionItem.camera_photo_interval_s, + + + rpcMissionItem.acceptance_radius_m, + + + rpcMissionItem.yaw_deg ) def translate_to_rpc(self, rpcMissionItem): @@ -279,6 +299,18 @@ def translate_to_rpc(self, rpcMissionItem): + + + rpcMissionItem.acceptance_radius_m = self.acceptance_radius_m + + + + + + rpcMissionItem.yaw_deg = self.yaw_deg + + + class MissionPlan: @@ -475,6 +507,9 @@ class Result(Enum): TRANSFER_CANCELLED Mission transfer (upload or download) has been cancelled + NO_SYSTEM + No system connected + """ @@ -489,6 +524,7 @@ class Result(Enum): NO_MISSION_AVAILABLE = 8 UNSUPPORTED_MISSION_CMD = 9 TRANSFER_CANCELLED = 10 + NO_SYSTEM = 11 def translate_to_rpc(self): if self == MissionResult.Result.UNKNOWN: @@ -513,6 +549,8 @@ def translate_to_rpc(self): return mission_pb2.MissionResult.RESULT_UNSUPPORTED_MISSION_CMD if self == MissionResult.Result.TRANSFER_CANCELLED: return mission_pb2.MissionResult.RESULT_TRANSFER_CANCELLED + if self == MissionResult.Result.NO_SYSTEM: + return mission_pb2.MissionResult.RESULT_NO_SYSTEM @staticmethod def translate_from_rpc(rpc_enum_value): @@ -539,6 +577,8 @@ def translate_from_rpc(rpc_enum_value): return MissionResult.Result.UNSUPPORTED_MISSION_CMD if rpc_enum_value == mission_pb2.MissionResult.RESULT_TRANSFER_CANCELLED: return MissionResult.Result.TRANSFER_CANCELLED + if rpc_enum_value == mission_pb2.MissionResult.RESULT_NO_SYSTEM: + return MissionResult.Result.NO_SYSTEM def __str__(self): return self.name diff --git a/mavsdk/mission_pb2.py b/mavsdk/mission_pb2.py index 2dafceea..0e8550ca 100644 --- a/mavsdk/mission_pb2.py +++ b/mavsdk/mission_pb2.py @@ -20,7 +20,7 @@ syntax='proto3', serialized_options=b'\n\021io.mavsdk.missionB\014MissionProto', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x15mission/mission.proto\x12\x12mavsdk.rpc.mission\x1a\x14mavsdk_options.proto\"M\n\x14UploadMissionRequest\x12\x35\n\x0cmission_plan\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.mission.MissionPlan\"R\n\x15UploadMissionResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"\x1c\n\x1a\x43\x61ncelMissionUploadRequest\"X\n\x1b\x43\x61ncelMissionUploadResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"\x18\n\x16\x44ownloadMissionRequest\"\x8b\x01\n\x17\x44ownloadMissionResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\x12\x35\n\x0cmission_plan\x18\x02 \x01(\x0b\x32\x1f.mavsdk.rpc.mission.MissionPlan\"\x1e\n\x1c\x43\x61ncelMissionDownloadRequest\"Z\n\x1d\x43\x61ncelMissionDownloadResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"\x15\n\x13StartMissionRequest\"Q\n\x14StartMissionResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"\x15\n\x13PauseMissionRequest\"Q\n\x14PauseMissionResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"\x15\n\x13\x43learMissionRequest\"Q\n\x14\x43learMissionResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"-\n\x1cSetCurrentMissionItemRequest\x12\r\n\x05index\x18\x01 \x01(\x05\"Z\n\x1dSetCurrentMissionItemResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"\x1a\n\x18IsMissionFinishedRequest\"k\n\x19IsMissionFinishedResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\x12\x13\n\x0bis_finished\x18\x02 \x01(\x08\"!\n\x1fSubscribeMissionProgressRequest\"X\n\x17MissionProgressResponse\x12=\n\x10mission_progress\x18\x01 \x01(\x0b\x32#.mavsdk.rpc.mission.MissionProgress\"&\n$GetReturnToLaunchAfterMissionRequest\"r\n%GetReturnToLaunchAfterMissionResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\x12\x0e\n\x06\x65nable\x18\x02 \x01(\x08\"6\n$SetReturnToLaunchAfterMissionRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\"b\n%SetReturnToLaunchAfterMissionResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"\x83\x05\n\x0bMissionItem\x12(\n\x0clatitude_deg\x18\x01 \x01(\x01\x42\x12\x82\xb5\x18\x03NaN\x89\xb5\x18H\xaf\xbc\x9a\xf2\xd7z>\x12)\n\rlongitude_deg\x18\x02 \x01(\x01\x42\x12\x82\xb5\x18\x03NaN\x89\xb5\x18H\xaf\xbc\x9a\xf2\xd7z>\x12$\n\x13relative_altitude_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1a\n\tspeed_m_s\x18\x04 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12!\n\x0eis_fly_through\x18\x05 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12,\n\x10gimbal_pitch_deg\x18\x06 \x01(\x02\x42\x12\x82\xb5\x18\x03NaN\x89\xb5\x18-C\x1c\xeb\xe2\x36\x1a?\x12*\n\x0egimbal_yaw_deg\x18\x07 \x01(\x02\x42\x12\x82\xb5\x18\x03NaN\x89\xb5\x18-C\x1c\xeb\xe2\x36\x1a?\x12\x43\n\rcamera_action\x18\x08 \x01(\x0e\x32,.mavsdk.rpc.mission.MissionItem.CameraAction\x12\x1e\n\rloiter_time_s\x18\t \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12(\n\x17\x63\x61mera_photo_interval_s\x18\n \x01(\x01\x42\x07\x82\xb5\x18\x03\x31.0\"\xd0\x01\n\x0c\x43\x61meraAction\x12\x16\n\x12\x43\x41MERA_ACTION_NONE\x10\x00\x12\x1c\n\x18\x43\x41MERA_ACTION_TAKE_PHOTO\x10\x01\x12&\n\"CAMERA_ACTION_START_PHOTO_INTERVAL\x10\x02\x12%\n!CAMERA_ACTION_STOP_PHOTO_INTERVAL\x10\x03\x12\x1d\n\x19\x43\x41MERA_ACTION_START_VIDEO\x10\x04\x12\x1c\n\x18\x43\x41MERA_ACTION_STOP_VIDEO\x10\x05\"E\n\x0bMissionPlan\x12\x36\n\rmission_items\x18\x01 \x03(\x0b\x32\x1f.mavsdk.rpc.mission.MissionItem\"1\n\x0fMissionProgress\x12\x0f\n\x07\x63urrent\x18\x01 \x01(\x05\x12\r\n\x05total\x18\x02 \x01(\x05\"\x83\x03\n\rMissionResult\x12\x38\n\x06result\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.mission.MissionResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xa3\x02\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x10\n\x0cRESULT_ERROR\x10\x02\x12!\n\x1dRESULT_TOO_MANY_MISSION_ITEMS\x10\x03\x12\x0f\n\x0bRESULT_BUSY\x10\x04\x12\x12\n\x0eRESULT_TIMEOUT\x10\x05\x12\x1b\n\x17RESULT_INVALID_ARGUMENT\x10\x06\x12\x16\n\x12RESULT_UNSUPPORTED\x10\x07\x12\x1f\n\x1bRESULT_NO_MISSION_AVAILABLE\x10\x08\x12\"\n\x1eRESULT_UNSUPPORTED_MISSION_CMD\x10\x0b\x12\x1d\n\x19RESULT_TRANSFER_CANCELLED\x10\x0c\x32\xcd\x0b\n\x0eMissionService\x12\x66\n\rUploadMission\x12(.mavsdk.rpc.mission.UploadMissionRequest\x1a).mavsdk.rpc.mission.UploadMissionResponse\"\x00\x12|\n\x13\x43\x61ncelMissionUpload\x12..mavsdk.rpc.mission.CancelMissionUploadRequest\x1a/.mavsdk.rpc.mission.CancelMissionUploadResponse\"\x04\x80\xb5\x18\x01\x12l\n\x0f\x44ownloadMission\x12*.mavsdk.rpc.mission.DownloadMissionRequest\x1a+.mavsdk.rpc.mission.DownloadMissionResponse\"\x00\x12\x82\x01\n\x15\x43\x61ncelMissionDownload\x12\x30.mavsdk.rpc.mission.CancelMissionDownloadRequest\x1a\x31.mavsdk.rpc.mission.CancelMissionDownloadResponse\"\x04\x80\xb5\x18\x01\x12\x63\n\x0cStartMission\x12\'.mavsdk.rpc.mission.StartMissionRequest\x1a(.mavsdk.rpc.mission.StartMissionResponse\"\x00\x12\x63\n\x0cPauseMission\x12\'.mavsdk.rpc.mission.PauseMissionRequest\x1a(.mavsdk.rpc.mission.PauseMissionResponse\"\x00\x12\x63\n\x0c\x43learMission\x12\'.mavsdk.rpc.mission.ClearMissionRequest\x1a(.mavsdk.rpc.mission.ClearMissionResponse\"\x00\x12~\n\x15SetCurrentMissionItem\x12\x30.mavsdk.rpc.mission.SetCurrentMissionItemRequest\x1a\x31.mavsdk.rpc.mission.SetCurrentMissionItemResponse\"\x00\x12v\n\x11IsMissionFinished\x12,.mavsdk.rpc.mission.IsMissionFinishedRequest\x1a-.mavsdk.rpc.mission.IsMissionFinishedResponse\"\x04\x80\xb5\x18\x01\x12\x80\x01\n\x18SubscribeMissionProgress\x12\x33.mavsdk.rpc.mission.SubscribeMissionProgressRequest\x1a+.mavsdk.rpc.mission.MissionProgressResponse\"\x00\x30\x01\x12\x9a\x01\n\x1dGetReturnToLaunchAfterMission\x12\x38.mavsdk.rpc.mission.GetReturnToLaunchAfterMissionRequest\x1a\x39.mavsdk.rpc.mission.GetReturnToLaunchAfterMissionResponse\"\x04\x80\xb5\x18\x01\x12\x9a\x01\n\x1dSetReturnToLaunchAfterMission\x12\x38.mavsdk.rpc.mission.SetReturnToLaunchAfterMissionRequest\x1a\x39.mavsdk.rpc.mission.SetReturnToLaunchAfterMissionResponse\"\x04\x80\xb5\x18\x01\x42!\n\x11io.mavsdk.missionB\x0cMissionProtob\x06proto3' + serialized_pb=b'\n\x15mission/mission.proto\x12\x12mavsdk.rpc.mission\x1a\x14mavsdk_options.proto\"M\n\x14UploadMissionRequest\x12\x35\n\x0cmission_plan\x18\x01 \x01(\x0b\x32\x1f.mavsdk.rpc.mission.MissionPlan\"R\n\x15UploadMissionResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"\x1c\n\x1a\x43\x61ncelMissionUploadRequest\"X\n\x1b\x43\x61ncelMissionUploadResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"\x18\n\x16\x44ownloadMissionRequest\"\x8b\x01\n\x17\x44ownloadMissionResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\x12\x35\n\x0cmission_plan\x18\x02 \x01(\x0b\x32\x1f.mavsdk.rpc.mission.MissionPlan\"\x1e\n\x1c\x43\x61ncelMissionDownloadRequest\"Z\n\x1d\x43\x61ncelMissionDownloadResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"\x15\n\x13StartMissionRequest\"Q\n\x14StartMissionResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"\x15\n\x13PauseMissionRequest\"Q\n\x14PauseMissionResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"\x15\n\x13\x43learMissionRequest\"Q\n\x14\x43learMissionResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"-\n\x1cSetCurrentMissionItemRequest\x12\r\n\x05index\x18\x01 \x01(\x05\"Z\n\x1dSetCurrentMissionItemResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"\x1a\n\x18IsMissionFinishedRequest\"k\n\x19IsMissionFinishedResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\x12\x13\n\x0bis_finished\x18\x02 \x01(\x08\"!\n\x1fSubscribeMissionProgressRequest\"X\n\x17MissionProgressResponse\x12=\n\x10mission_progress\x18\x01 \x01(\x0b\x32#.mavsdk.rpc.mission.MissionProgress\"&\n$GetReturnToLaunchAfterMissionRequest\"r\n%GetReturnToLaunchAfterMissionResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\x12\x0e\n\x06\x65nable\x18\x02 \x01(\x08\"6\n$SetReturnToLaunchAfterMissionRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\"b\n%SetReturnToLaunchAfterMissionResponse\x12\x39\n\x0emission_result\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.mission.MissionResult\"\xc3\x05\n\x0bMissionItem\x12(\n\x0clatitude_deg\x18\x01 \x01(\x01\x42\x12\x82\xb5\x18\x03NaN\x89\xb5\x18H\xaf\xbc\x9a\xf2\xd7z>\x12)\n\rlongitude_deg\x18\x02 \x01(\x01\x42\x12\x82\xb5\x18\x03NaN\x89\xb5\x18H\xaf\xbc\x9a\xf2\xd7z>\x12$\n\x13relative_altitude_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1a\n\tspeed_m_s\x18\x04 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12!\n\x0eis_fly_through\x18\x05 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12,\n\x10gimbal_pitch_deg\x18\x06 \x01(\x02\x42\x12\x82\xb5\x18\x03NaN\x89\xb5\x18-C\x1c\xeb\xe2\x36\x1a?\x12*\n\x0egimbal_yaw_deg\x18\x07 \x01(\x02\x42\x12\x82\xb5\x18\x03NaN\x89\xb5\x18-C\x1c\xeb\xe2\x36\x1a?\x12\x43\n\rcamera_action\x18\x08 \x01(\x0e\x32,.mavsdk.rpc.mission.MissionItem.CameraAction\x12\x1e\n\rloiter_time_s\x18\t \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12(\n\x17\x63\x61mera_photo_interval_s\x18\n \x01(\x01\x42\x07\x82\xb5\x18\x03\x31.0\x12$\n\x13\x61\x63\x63\x65ptance_radius_m\x18\x0b \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x18\n\x07yaw_deg\x18\x0c \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"\xd0\x01\n\x0c\x43\x61meraAction\x12\x16\n\x12\x43\x41MERA_ACTION_NONE\x10\x00\x12\x1c\n\x18\x43\x41MERA_ACTION_TAKE_PHOTO\x10\x01\x12&\n\"CAMERA_ACTION_START_PHOTO_INTERVAL\x10\x02\x12%\n!CAMERA_ACTION_STOP_PHOTO_INTERVAL\x10\x03\x12\x1d\n\x19\x43\x41MERA_ACTION_START_VIDEO\x10\x04\x12\x1c\n\x18\x43\x41MERA_ACTION_STOP_VIDEO\x10\x05\"E\n\x0bMissionPlan\x12\x36\n\rmission_items\x18\x01 \x03(\x0b\x32\x1f.mavsdk.rpc.mission.MissionItem\"1\n\x0fMissionProgress\x12\x0f\n\x07\x63urrent\x18\x01 \x01(\x05\x12\r\n\x05total\x18\x02 \x01(\x05\"\x99\x03\n\rMissionResult\x12\x38\n\x06result\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.mission.MissionResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xb9\x02\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x10\n\x0cRESULT_ERROR\x10\x02\x12!\n\x1dRESULT_TOO_MANY_MISSION_ITEMS\x10\x03\x12\x0f\n\x0bRESULT_BUSY\x10\x04\x12\x12\n\x0eRESULT_TIMEOUT\x10\x05\x12\x1b\n\x17RESULT_INVALID_ARGUMENT\x10\x06\x12\x16\n\x12RESULT_UNSUPPORTED\x10\x07\x12\x1f\n\x1bRESULT_NO_MISSION_AVAILABLE\x10\x08\x12\"\n\x1eRESULT_UNSUPPORTED_MISSION_CMD\x10\x0b\x12\x1d\n\x19RESULT_TRANSFER_CANCELLED\x10\x0c\x12\x14\n\x10RESULT_NO_SYSTEM\x10\r2\xcd\x0b\n\x0eMissionService\x12\x66\n\rUploadMission\x12(.mavsdk.rpc.mission.UploadMissionRequest\x1a).mavsdk.rpc.mission.UploadMissionResponse\"\x00\x12|\n\x13\x43\x61ncelMissionUpload\x12..mavsdk.rpc.mission.CancelMissionUploadRequest\x1a/.mavsdk.rpc.mission.CancelMissionUploadResponse\"\x04\x80\xb5\x18\x01\x12l\n\x0f\x44ownloadMission\x12*.mavsdk.rpc.mission.DownloadMissionRequest\x1a+.mavsdk.rpc.mission.DownloadMissionResponse\"\x00\x12\x82\x01\n\x15\x43\x61ncelMissionDownload\x12\x30.mavsdk.rpc.mission.CancelMissionDownloadRequest\x1a\x31.mavsdk.rpc.mission.CancelMissionDownloadResponse\"\x04\x80\xb5\x18\x01\x12\x63\n\x0cStartMission\x12\'.mavsdk.rpc.mission.StartMissionRequest\x1a(.mavsdk.rpc.mission.StartMissionResponse\"\x00\x12\x63\n\x0cPauseMission\x12\'.mavsdk.rpc.mission.PauseMissionRequest\x1a(.mavsdk.rpc.mission.PauseMissionResponse\"\x00\x12\x63\n\x0c\x43learMission\x12\'.mavsdk.rpc.mission.ClearMissionRequest\x1a(.mavsdk.rpc.mission.ClearMissionResponse\"\x00\x12~\n\x15SetCurrentMissionItem\x12\x30.mavsdk.rpc.mission.SetCurrentMissionItemRequest\x1a\x31.mavsdk.rpc.mission.SetCurrentMissionItemResponse\"\x00\x12v\n\x11IsMissionFinished\x12,.mavsdk.rpc.mission.IsMissionFinishedRequest\x1a-.mavsdk.rpc.mission.IsMissionFinishedResponse\"\x04\x80\xb5\x18\x01\x12\x80\x01\n\x18SubscribeMissionProgress\x12\x33.mavsdk.rpc.mission.SubscribeMissionProgressRequest\x1a+.mavsdk.rpc.mission.MissionProgressResponse\"\x00\x30\x01\x12\x9a\x01\n\x1dGetReturnToLaunchAfterMission\x12\x38.mavsdk.rpc.mission.GetReturnToLaunchAfterMissionRequest\x1a\x39.mavsdk.rpc.mission.GetReturnToLaunchAfterMissionResponse\"\x04\x80\xb5\x18\x01\x12\x9a\x01\n\x1dSetReturnToLaunchAfterMission\x12\x38.mavsdk.rpc.mission.SetReturnToLaunchAfterMissionRequest\x1a\x39.mavsdk.rpc.mission.SetReturnToLaunchAfterMissionResponse\"\x04\x80\xb5\x18\x01\x42!\n\x11io.mavsdk.missionB\x0cMissionProtob\x06proto3' , dependencies=[mavsdk__options__pb2.DESCRIPTOR,]) @@ -66,8 +66,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=2109, - serialized_end=2317, + serialized_start=2173, + serialized_end=2381, ) _sym_db.RegisterEnumDescriptor(_MISSIONITEM_CAMERAACTION) @@ -133,11 +133,16 @@ serialized_options=None, type=None, create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_NO_SYSTEM', index=11, number=13, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, - serialized_start=2538, - serialized_end=2829, + serialized_start=2602, + serialized_end=2915, ) _sym_db.RegisterEnumDescriptor(_MISSIONRESULT_RESULT) @@ -946,6 +951,20 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=b'\202\265\030\0031.0', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='acceptance_radius_m', full_name='mavsdk.rpc.mission.MissionItem.acceptance_radius_m', index=10, + number=11, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='yaw_deg', full_name='mavsdk.rpc.mission.MissionItem.yaw_deg', index=11, + number=12, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -960,7 +979,7 @@ oneofs=[ ], serialized_start=1674, - serialized_end=2317, + serialized_end=2381, ) @@ -991,8 +1010,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2319, - serialized_end=2388, + serialized_start=2383, + serialized_end=2452, ) @@ -1030,8 +1049,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2390, - serialized_end=2439, + serialized_start=2454, + serialized_end=2503, ) @@ -1070,8 +1089,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2442, - serialized_end=2829, + serialized_start=2506, + serialized_end=2915, ) _UPLOADMISSIONREQUEST.fields_by_name['mission_plan'].message_type = _MISSIONPLAN @@ -1330,6 +1349,8 @@ _MISSIONITEM.fields_by_name['gimbal_yaw_deg']._options = None _MISSIONITEM.fields_by_name['loiter_time_s']._options = None _MISSIONITEM.fields_by_name['camera_photo_interval_s']._options = None +_MISSIONITEM.fields_by_name['acceptance_radius_m']._options = None +_MISSIONITEM.fields_by_name['yaw_deg']._options = None _MISSIONSERVICE = _descriptor.ServiceDescriptor( name='MissionService', @@ -1338,8 +1359,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=2832, - serialized_end=4317, + serialized_start=2918, + serialized_end=4403, methods=[ _descriptor.MethodDescriptor( name='UploadMission', diff --git a/mavsdk/mission_raw.py b/mavsdk/mission_raw.py index 31f340da..35a4fc80 100644 --- a/mavsdk/mission_raw.py +++ b/mavsdk/mission_raw.py @@ -499,6 +499,9 @@ class Result(Enum): FAILED_TO_PARSE_QGC_PLAN Failed to parse the QGroundControl plan + NO_SYSTEM + No system connected + """ @@ -514,6 +517,7 @@ class Result(Enum): TRANSFER_CANCELLED = 9 FAILED_TO_OPEN_QGC_PLAN = 10 FAILED_TO_PARSE_QGC_PLAN = 11 + NO_SYSTEM = 12 def translate_to_rpc(self): if self == MissionRawResult.Result.UNKNOWN: @@ -540,6 +544,8 @@ def translate_to_rpc(self): return mission_raw_pb2.MissionRawResult.RESULT_FAILED_TO_OPEN_QGC_PLAN if self == MissionRawResult.Result.FAILED_TO_PARSE_QGC_PLAN: return mission_raw_pb2.MissionRawResult.RESULT_FAILED_TO_PARSE_QGC_PLAN + if self == MissionRawResult.Result.NO_SYSTEM: + return mission_raw_pb2.MissionRawResult.RESULT_NO_SYSTEM @staticmethod def translate_from_rpc(rpc_enum_value): @@ -568,6 +574,8 @@ def translate_from_rpc(rpc_enum_value): return MissionRawResult.Result.FAILED_TO_OPEN_QGC_PLAN if rpc_enum_value == mission_raw_pb2.MissionRawResult.RESULT_FAILED_TO_PARSE_QGC_PLAN: return MissionRawResult.Result.FAILED_TO_PARSE_QGC_PLAN + if rpc_enum_value == mission_raw_pb2.MissionRawResult.RESULT_NO_SYSTEM: + return MissionRawResult.Result.NO_SYSTEM def __str__(self): return self.name diff --git a/mavsdk/mission_raw_pb2.py b/mavsdk/mission_raw_pb2.py index 9afae0cb..72a2e044 100644 --- a/mavsdk/mission_raw_pb2.py +++ b/mavsdk/mission_raw_pb2.py @@ -20,7 +20,7 @@ syntax='proto3', serialized_options=b'\n\025io.mavsdk.mission_rawB\017MissionRawProto', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x1dmission_raw/mission_raw.proto\x12\x16mavsdk.rpc.mission_raw\x1a\x14mavsdk_options.proto\"R\n\x14UploadMissionRequest\x12:\n\rmission_items\x18\x01 \x03(\x0b\x32#.mavsdk.rpc.mission_raw.MissionItem\"]\n\x15UploadMissionResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\"\x1c\n\x1a\x43\x61ncelMissionUploadRequest\"c\n\x1b\x43\x61ncelMissionUploadResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\"\x18\n\x16\x44ownloadMissionRequest\"\x9b\x01\n\x17\x44ownloadMissionResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\x12:\n\rmission_items\x18\x02 \x03(\x0b\x32#.mavsdk.rpc.mission_raw.MissionItem\"\x1e\n\x1c\x43\x61ncelMissionDownloadRequest\"e\n\x1d\x43\x61ncelMissionDownloadResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\"\x15\n\x13StartMissionRequest\"\\\n\x14StartMissionResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\"\x15\n\x13PauseMissionRequest\"\\\n\x14PauseMissionResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\"\x15\n\x13\x43learMissionRequest\"\\\n\x14\x43learMissionResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\"-\n\x1cSetCurrentMissionItemRequest\x12\r\n\x05index\x18\x01 \x01(\x05\"e\n\x1dSetCurrentMissionItemResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\"!\n\x1fSubscribeMissionProgressRequest\"\\\n\x17MissionProgressResponse\x12\x41\n\x10mission_progress\x18\x01 \x01(\x0b\x32\'.mavsdk.rpc.mission_raw.MissionProgress\" \n\x1eSubscribeMissionChangedRequest\"1\n\x16MissionChangedResponse\x12\x17\n\x0fmission_changed\x18\x01 \x01(\x08\";\n\"ImportQgroundcontrolMissionRequest\x12\x15\n\rqgc_plan_path\x18\x01 \x01(\t\"\xb3\x01\n#ImportQgroundcontrolMissionResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\x12\x46\n\x13mission_import_data\x18\x02 \x01(\x0b\x32).mavsdk.rpc.mission_raw.MissionImportData\"1\n\x0fMissionProgress\x12\x0f\n\x07\x63urrent\x18\x01 \x01(\x05\x12\r\n\x05total\x18\x02 \x01(\x05\"\xd8\x01\n\x0bMissionItem\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\r\n\x05\x66rame\x18\x02 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x03 \x01(\r\x12\x0f\n\x07\x63urrent\x18\x04 \x01(\r\x12\x14\n\x0c\x61utocontinue\x18\x05 \x01(\r\x12\x0e\n\x06param1\x18\x06 \x01(\x02\x12\x0e\n\x06param2\x18\x07 \x01(\x02\x12\x0e\n\x06param3\x18\x08 \x01(\x02\x12\x0e\n\x06param4\x18\t \x01(\x02\x12\t\n\x01x\x18\n \x01(\x05\x12\t\n\x01y\x18\x0b \x01(\x05\x12\t\n\x01z\x18\x0c \x01(\x02\x12\x14\n\x0cmission_type\x18\r \x01(\r\"\xc6\x01\n\x11MissionImportData\x12:\n\rmission_items\x18\x01 \x03(\x0b\x32#.mavsdk.rpc.mission_raw.MissionItem\x12;\n\x0egeofence_items\x18\x02 \x03(\x0b\x32#.mavsdk.rpc.mission_raw.MissionItem\x12\x38\n\x0brally_items\x18\x03 \x03(\x0b\x32#.mavsdk.rpc.mission_raw.MissionItem\"\xb2\x03\n\x10MissionRawResult\x12?\n\x06result\x18\x01 \x01(\x0e\x32/.mavsdk.rpc.mission_raw.MissionRawResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xc8\x02\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x10\n\x0cRESULT_ERROR\x10\x02\x12!\n\x1dRESULT_TOO_MANY_MISSION_ITEMS\x10\x03\x12\x0f\n\x0bRESULT_BUSY\x10\x04\x12\x12\n\x0eRESULT_TIMEOUT\x10\x05\x12\x1b\n\x17RESULT_INVALID_ARGUMENT\x10\x06\x12\x16\n\x12RESULT_UNSUPPORTED\x10\x07\x12\x1f\n\x1bRESULT_NO_MISSION_AVAILABLE\x10\x08\x12\x1d\n\x19RESULT_TRANSFER_CANCELLED\x10\t\x12\"\n\x1eRESULT_FAILED_TO_OPEN_QGC_PLAN\x10\n\x12#\n\x1fRESULT_FAILED_TO_PARSE_QGC_PLAN\x10\x0b\x32\x93\x0b\n\x11MissionRawService\x12n\n\rUploadMission\x12,.mavsdk.rpc.mission_raw.UploadMissionRequest\x1a-.mavsdk.rpc.mission_raw.UploadMissionResponse\"\x00\x12\x84\x01\n\x13\x43\x61ncelMissionUpload\x12\x32.mavsdk.rpc.mission_raw.CancelMissionUploadRequest\x1a\x33.mavsdk.rpc.mission_raw.CancelMissionUploadResponse\"\x04\x80\xb5\x18\x01\x12t\n\x0f\x44ownloadMission\x12..mavsdk.rpc.mission_raw.DownloadMissionRequest\x1a/.mavsdk.rpc.mission_raw.DownloadMissionResponse\"\x00\x12\x8a\x01\n\x15\x43\x61ncelMissionDownload\x12\x34.mavsdk.rpc.mission_raw.CancelMissionDownloadRequest\x1a\x35.mavsdk.rpc.mission_raw.CancelMissionDownloadResponse\"\x04\x80\xb5\x18\x01\x12k\n\x0cStartMission\x12+.mavsdk.rpc.mission_raw.StartMissionRequest\x1a,.mavsdk.rpc.mission_raw.StartMissionResponse\"\x00\x12k\n\x0cPauseMission\x12+.mavsdk.rpc.mission_raw.PauseMissionRequest\x1a,.mavsdk.rpc.mission_raw.PauseMissionResponse\"\x00\x12k\n\x0c\x43learMission\x12+.mavsdk.rpc.mission_raw.ClearMissionRequest\x1a,.mavsdk.rpc.mission_raw.ClearMissionResponse\"\x00\x12\x86\x01\n\x15SetCurrentMissionItem\x12\x34.mavsdk.rpc.mission_raw.SetCurrentMissionItemRequest\x1a\x35.mavsdk.rpc.mission_raw.SetCurrentMissionItemResponse\"\x00\x12\x88\x01\n\x18SubscribeMissionProgress\x12\x37.mavsdk.rpc.mission_raw.SubscribeMissionProgressRequest\x1a/.mavsdk.rpc.mission_raw.MissionProgressResponse\"\x00\x30\x01\x12\x89\x01\n\x17SubscribeMissionChanged\x12\x36.mavsdk.rpc.mission_raw.SubscribeMissionChangedRequest\x1a..mavsdk.rpc.mission_raw.MissionChangedResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x9c\x01\n\x1bImportQgroundcontrolMission\x12:.mavsdk.rpc.mission_raw.ImportQgroundcontrolMissionRequest\x1a;.mavsdk.rpc.mission_raw.ImportQgroundcontrolMissionResponse\"\x04\x80\xb5\x18\x01\x42(\n\x15io.mavsdk.mission_rawB\x0fMissionRawProtob\x06proto3' + serialized_pb=b'\n\x1dmission_raw/mission_raw.proto\x12\x16mavsdk.rpc.mission_raw\x1a\x14mavsdk_options.proto\"R\n\x14UploadMissionRequest\x12:\n\rmission_items\x18\x01 \x03(\x0b\x32#.mavsdk.rpc.mission_raw.MissionItem\"]\n\x15UploadMissionResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\"\x1c\n\x1a\x43\x61ncelMissionUploadRequest\"c\n\x1b\x43\x61ncelMissionUploadResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\"\x18\n\x16\x44ownloadMissionRequest\"\x9b\x01\n\x17\x44ownloadMissionResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\x12:\n\rmission_items\x18\x02 \x03(\x0b\x32#.mavsdk.rpc.mission_raw.MissionItem\"\x1e\n\x1c\x43\x61ncelMissionDownloadRequest\"e\n\x1d\x43\x61ncelMissionDownloadResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\"\x15\n\x13StartMissionRequest\"\\\n\x14StartMissionResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\"\x15\n\x13PauseMissionRequest\"\\\n\x14PauseMissionResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\"\x15\n\x13\x43learMissionRequest\"\\\n\x14\x43learMissionResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\"-\n\x1cSetCurrentMissionItemRequest\x12\r\n\x05index\x18\x01 \x01(\x05\"e\n\x1dSetCurrentMissionItemResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\"!\n\x1fSubscribeMissionProgressRequest\"\\\n\x17MissionProgressResponse\x12\x41\n\x10mission_progress\x18\x01 \x01(\x0b\x32\'.mavsdk.rpc.mission_raw.MissionProgress\" \n\x1eSubscribeMissionChangedRequest\"1\n\x16MissionChangedResponse\x12\x17\n\x0fmission_changed\x18\x01 \x01(\x08\";\n\"ImportQgroundcontrolMissionRequest\x12\x15\n\rqgc_plan_path\x18\x01 \x01(\t\"\xb3\x01\n#ImportQgroundcontrolMissionResponse\x12\x44\n\x12mission_raw_result\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.mission_raw.MissionRawResult\x12\x46\n\x13mission_import_data\x18\x02 \x01(\x0b\x32).mavsdk.rpc.mission_raw.MissionImportData\"1\n\x0fMissionProgress\x12\x0f\n\x07\x63urrent\x18\x01 \x01(\x05\x12\r\n\x05total\x18\x02 \x01(\x05\"\xd8\x01\n\x0bMissionItem\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\r\n\x05\x66rame\x18\x02 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x03 \x01(\r\x12\x0f\n\x07\x63urrent\x18\x04 \x01(\r\x12\x14\n\x0c\x61utocontinue\x18\x05 \x01(\r\x12\x0e\n\x06param1\x18\x06 \x01(\x02\x12\x0e\n\x06param2\x18\x07 \x01(\x02\x12\x0e\n\x06param3\x18\x08 \x01(\x02\x12\x0e\n\x06param4\x18\t \x01(\x02\x12\t\n\x01x\x18\n \x01(\x05\x12\t\n\x01y\x18\x0b \x01(\x05\x12\t\n\x01z\x18\x0c \x01(\x02\x12\x14\n\x0cmission_type\x18\r \x01(\r\"\xc6\x01\n\x11MissionImportData\x12:\n\rmission_items\x18\x01 \x03(\x0b\x32#.mavsdk.rpc.mission_raw.MissionItem\x12;\n\x0egeofence_items\x18\x02 \x03(\x0b\x32#.mavsdk.rpc.mission_raw.MissionItem\x12\x38\n\x0brally_items\x18\x03 \x03(\x0b\x32#.mavsdk.rpc.mission_raw.MissionItem\"\xc8\x03\n\x10MissionRawResult\x12?\n\x06result\x18\x01 \x01(\x0e\x32/.mavsdk.rpc.mission_raw.MissionRawResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xde\x02\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x10\n\x0cRESULT_ERROR\x10\x02\x12!\n\x1dRESULT_TOO_MANY_MISSION_ITEMS\x10\x03\x12\x0f\n\x0bRESULT_BUSY\x10\x04\x12\x12\n\x0eRESULT_TIMEOUT\x10\x05\x12\x1b\n\x17RESULT_INVALID_ARGUMENT\x10\x06\x12\x16\n\x12RESULT_UNSUPPORTED\x10\x07\x12\x1f\n\x1bRESULT_NO_MISSION_AVAILABLE\x10\x08\x12\x1d\n\x19RESULT_TRANSFER_CANCELLED\x10\t\x12\"\n\x1eRESULT_FAILED_TO_OPEN_QGC_PLAN\x10\n\x12#\n\x1fRESULT_FAILED_TO_PARSE_QGC_PLAN\x10\x0b\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x0c\x32\x93\x0b\n\x11MissionRawService\x12n\n\rUploadMission\x12,.mavsdk.rpc.mission_raw.UploadMissionRequest\x1a-.mavsdk.rpc.mission_raw.UploadMissionResponse\"\x00\x12\x84\x01\n\x13\x43\x61ncelMissionUpload\x12\x32.mavsdk.rpc.mission_raw.CancelMissionUploadRequest\x1a\x33.mavsdk.rpc.mission_raw.CancelMissionUploadResponse\"\x04\x80\xb5\x18\x01\x12t\n\x0f\x44ownloadMission\x12..mavsdk.rpc.mission_raw.DownloadMissionRequest\x1a/.mavsdk.rpc.mission_raw.DownloadMissionResponse\"\x00\x12\x8a\x01\n\x15\x43\x61ncelMissionDownload\x12\x34.mavsdk.rpc.mission_raw.CancelMissionDownloadRequest\x1a\x35.mavsdk.rpc.mission_raw.CancelMissionDownloadResponse\"\x04\x80\xb5\x18\x01\x12k\n\x0cStartMission\x12+.mavsdk.rpc.mission_raw.StartMissionRequest\x1a,.mavsdk.rpc.mission_raw.StartMissionResponse\"\x00\x12k\n\x0cPauseMission\x12+.mavsdk.rpc.mission_raw.PauseMissionRequest\x1a,.mavsdk.rpc.mission_raw.PauseMissionResponse\"\x00\x12k\n\x0c\x43learMission\x12+.mavsdk.rpc.mission_raw.ClearMissionRequest\x1a,.mavsdk.rpc.mission_raw.ClearMissionResponse\"\x00\x12\x86\x01\n\x15SetCurrentMissionItem\x12\x34.mavsdk.rpc.mission_raw.SetCurrentMissionItemRequest\x1a\x35.mavsdk.rpc.mission_raw.SetCurrentMissionItemResponse\"\x00\x12\x88\x01\n\x18SubscribeMissionProgress\x12\x37.mavsdk.rpc.mission_raw.SubscribeMissionProgressRequest\x1a/.mavsdk.rpc.mission_raw.MissionProgressResponse\"\x00\x30\x01\x12\x89\x01\n\x17SubscribeMissionChanged\x12\x36.mavsdk.rpc.mission_raw.SubscribeMissionChangedRequest\x1a..mavsdk.rpc.mission_raw.MissionChangedResponse\"\x04\x80\xb5\x18\x00\x30\x01\x12\x9c\x01\n\x1bImportQgroundcontrolMission\x12:.mavsdk.rpc.mission_raw.ImportQgroundcontrolMissionRequest\x1a;.mavsdk.rpc.mission_raw.ImportQgroundcontrolMissionResponse\"\x04\x80\xb5\x18\x01\x42(\n\x15io.mavsdk.mission_rawB\x0fMissionRawProtob\x06proto3' , dependencies=[mavsdk__options__pb2.DESCRIPTOR,]) @@ -93,11 +93,16 @@ serialized_options=None, type=None, create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_NO_SYSTEM', index=12, number=12, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, serialized_start=2244, - serialized_end=2572, + serialized_end=2594, ) _sym_db.RegisterEnumDescriptor(_MISSIONRAWRESULT_RESULT) @@ -1001,7 +1006,7 @@ oneofs=[ ], serialized_start=2138, - serialized_end=2572, + serialized_end=2594, ) _UPLOADMISSIONREQUEST.fields_by_name['mission_items'].message_type = _MISSIONITEM @@ -1242,8 +1247,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=2575, - serialized_end=4002, + serialized_start=2597, + serialized_end=4024, methods=[ _descriptor.MethodDescriptor( name='UploadMission', diff --git a/mavsdk/param.py b/mavsdk/param.py index 8f96cfd8..7f2ef787 100644 --- a/mavsdk/param.py +++ b/mavsdk/param.py @@ -82,7 +82,7 @@ def translate_to_rpc(self, rpcIntParam): class FloatParam: """ - Type for float paramters. + Type for float parameters. Parameters ---------- @@ -282,6 +282,9 @@ class Result(Enum): PARAM_NAME_TOO_LONG Parameter name too long (> 16) + NO_SYSTEM + No system connected + """ @@ -291,6 +294,7 @@ class Result(Enum): CONNECTION_ERROR = 3 WRONG_TYPE = 4 PARAM_NAME_TOO_LONG = 5 + NO_SYSTEM = 6 def translate_to_rpc(self): if self == ParamResult.Result.UNKNOWN: @@ -305,6 +309,8 @@ def translate_to_rpc(self): return param_pb2.ParamResult.RESULT_WRONG_TYPE if self == ParamResult.Result.PARAM_NAME_TOO_LONG: return param_pb2.ParamResult.RESULT_PARAM_NAME_TOO_LONG + if self == ParamResult.Result.NO_SYSTEM: + return param_pb2.ParamResult.RESULT_NO_SYSTEM @staticmethod def translate_from_rpc(rpc_enum_value): @@ -321,6 +327,8 @@ def translate_from_rpc(rpc_enum_value): return ParamResult.Result.WRONG_TYPE if rpc_enum_value == param_pb2.ParamResult.RESULT_PARAM_NAME_TOO_LONG: return ParamResult.Result.PARAM_NAME_TOO_LONG + if rpc_enum_value == param_pb2.ParamResult.RESULT_NO_SYSTEM: + return ParamResult.Result.NO_SYSTEM def __str__(self): return self.name diff --git a/mavsdk/param_pb2.py b/mavsdk/param_pb2.py index 4cd73c07..531c7944 100644 --- a/mavsdk/param_pb2.py +++ b/mavsdk/param_pb2.py @@ -20,7 +20,7 @@ syntax='proto3', serialized_options=b'\n\017io.mavsdk.paramB\nParamProto', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x11param/param.proto\x12\x10mavsdk.rpc.param\x1a\x14mavsdk_options.proto\"\"\n\x12GetParamIntRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"Y\n\x13GetParamIntResponse\x12\x33\n\x0cparam_result\x18\x01 \x01(\x0b\x32\x1d.mavsdk.rpc.param.ParamResult\x12\r\n\x05value\x18\x02 \x01(\x05\"1\n\x12SetParamIntRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05\"J\n\x13SetParamIntResponse\x12\x33\n\x0cparam_result\x18\x01 \x01(\x0b\x32\x1d.mavsdk.rpc.param.ParamResult\"$\n\x14GetParamFloatRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"[\n\x15GetParamFloatResponse\x12\x33\n\x0cparam_result\x18\x01 \x01(\x0b\x32\x1d.mavsdk.rpc.param.ParamResult\x12\r\n\x05value\x18\x02 \x01(\x02\"3\n\x14SetParamFloatRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x02\"L\n\x15SetParamFloatResponse\x12\x33\n\x0cparam_result\x18\x01 \x01(\x0b\x32\x1d.mavsdk.rpc.param.ParamResult\"\x15\n\x13GetAllParamsRequest\"C\n\x14GetAllParamsResponse\x12+\n\x06params\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.param.AllParams\"\'\n\x08IntParam\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05\")\n\nFloatParam\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x02\"o\n\tAllParams\x12.\n\nint_params\x18\x01 \x03(\x0b\x32\x1a.mavsdk.rpc.param.IntParam\x12\x32\n\x0c\x66loat_params\x18\x02 \x03(\x0b\x32\x1c.mavsdk.rpc.param.FloatParam\"\xf2\x01\n\x0bParamResult\x12\x34\n\x06result\x18\x01 \x01(\x0e\x32$.mavsdk.rpc.param.ParamResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\x98\x01\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x12\n\x0eRESULT_TIMEOUT\x10\x02\x12\x1b\n\x17RESULT_CONNECTION_ERROR\x10\x03\x12\x15\n\x11RESULT_WRONG_TYPE\x10\x04\x12\x1e\n\x1aRESULT_PARAM_NAME_TOO_LONG\x10\x05\x32\x87\x04\n\x0cParamService\x12`\n\x0bGetParamInt\x12$.mavsdk.rpc.param.GetParamIntRequest\x1a%.mavsdk.rpc.param.GetParamIntResponse\"\x04\x80\xb5\x18\x01\x12`\n\x0bSetParamInt\x12$.mavsdk.rpc.param.SetParamIntRequest\x1a%.mavsdk.rpc.param.SetParamIntResponse\"\x04\x80\xb5\x18\x01\x12\x66\n\rGetParamFloat\x12&.mavsdk.rpc.param.GetParamFloatRequest\x1a\'.mavsdk.rpc.param.GetParamFloatResponse\"\x04\x80\xb5\x18\x01\x12\x66\n\rSetParamFloat\x12&.mavsdk.rpc.param.SetParamFloatRequest\x1a\'.mavsdk.rpc.param.SetParamFloatResponse\"\x04\x80\xb5\x18\x01\x12\x63\n\x0cGetAllParams\x12%.mavsdk.rpc.param.GetAllParamsRequest\x1a&.mavsdk.rpc.param.GetAllParamsResponse\"\x04\x80\xb5\x18\x01\x42\x1d\n\x0fio.mavsdk.paramB\nParamProtob\x06proto3' + serialized_pb=b'\n\x11param/param.proto\x12\x10mavsdk.rpc.param\x1a\x14mavsdk_options.proto\"\"\n\x12GetParamIntRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"Y\n\x13GetParamIntResponse\x12\x33\n\x0cparam_result\x18\x01 \x01(\x0b\x32\x1d.mavsdk.rpc.param.ParamResult\x12\r\n\x05value\x18\x02 \x01(\x05\"1\n\x12SetParamIntRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05\"J\n\x13SetParamIntResponse\x12\x33\n\x0cparam_result\x18\x01 \x01(\x0b\x32\x1d.mavsdk.rpc.param.ParamResult\"$\n\x14GetParamFloatRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"[\n\x15GetParamFloatResponse\x12\x33\n\x0cparam_result\x18\x01 \x01(\x0b\x32\x1d.mavsdk.rpc.param.ParamResult\x12\r\n\x05value\x18\x02 \x01(\x02\"3\n\x14SetParamFloatRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x02\"L\n\x15SetParamFloatResponse\x12\x33\n\x0cparam_result\x18\x01 \x01(\x0b\x32\x1d.mavsdk.rpc.param.ParamResult\"\x15\n\x13GetAllParamsRequest\"C\n\x14GetAllParamsResponse\x12+\n\x06params\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.param.AllParams\"\'\n\x08IntParam\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05\")\n\nFloatParam\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x02\"o\n\tAllParams\x12.\n\nint_params\x18\x01 \x03(\x0b\x32\x1a.mavsdk.rpc.param.IntParam\x12\x32\n\x0c\x66loat_params\x18\x02 \x03(\x0b\x32\x1c.mavsdk.rpc.param.FloatParam\"\x88\x02\n\x0bParamResult\x12\x34\n\x06result\x18\x01 \x01(\x0e\x32$.mavsdk.rpc.param.ParamResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xae\x01\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x12\n\x0eRESULT_TIMEOUT\x10\x02\x12\x1b\n\x17RESULT_CONNECTION_ERROR\x10\x03\x12\x15\n\x11RESULT_WRONG_TYPE\x10\x04\x12\x1e\n\x1aRESULT_PARAM_NAME_TOO_LONG\x10\x05\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x06\x32\x87\x04\n\x0cParamService\x12`\n\x0bGetParamInt\x12$.mavsdk.rpc.param.GetParamIntRequest\x1a%.mavsdk.rpc.param.GetParamIntResponse\"\x04\x80\xb5\x18\x01\x12`\n\x0bSetParamInt\x12$.mavsdk.rpc.param.SetParamIntRequest\x1a%.mavsdk.rpc.param.SetParamIntResponse\"\x04\x80\xb5\x18\x01\x12\x66\n\rGetParamFloat\x12&.mavsdk.rpc.param.GetParamFloatRequest\x1a\'.mavsdk.rpc.param.GetParamFloatResponse\"\x04\x80\xb5\x18\x01\x12\x66\n\rSetParamFloat\x12&.mavsdk.rpc.param.SetParamFloatRequest\x1a\'.mavsdk.rpc.param.SetParamFloatResponse\"\x04\x80\xb5\x18\x01\x12\x63\n\x0cGetAllParams\x12%.mavsdk.rpc.param.GetAllParamsRequest\x1a&.mavsdk.rpc.param.GetAllParamsResponse\"\x04\x80\xb5\x18\x01\x42\x1d\n\x0fio.mavsdk.paramB\nParamProtob\x06proto3' , dependencies=[mavsdk__options__pb2.DESCRIPTOR,]) @@ -63,11 +63,16 @@ serialized_options=None, type=None, create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_NO_SYSTEM', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, serialized_start=957, - serialized_end=1109, + serialized_end=1131, ) _sym_db.RegisterEnumDescriptor(_PARAMRESULT_RESULT) @@ -566,7 +571,7 @@ oneofs=[ ], serialized_start=867, - serialized_end=1109, + serialized_end=1131, ) _GETPARAMINTRESPONSE.fields_by_name['param_result'].message_type = _PARAMRESULT @@ -702,8 +707,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=1112, - serialized_end=1631, + serialized_start=1134, + serialized_end=1653, methods=[ _descriptor.MethodDescriptor( name='GetParamInt', diff --git a/mavsdk/param_server.py b/mavsdk/param_server.py new file mode 100644 index 00000000..8f59b4af --- /dev/null +++ b/mavsdk/param_server.py @@ -0,0 +1,572 @@ +# -*- coding: utf-8 -*- +# DO NOT EDIT! This file is auto-generated from +# https://github.com/mavlink/MAVSDK-Python/tree/main/other/templates/py +from ._base import AsyncBase +from . import param_server_pb2, param_server_pb2_grpc +from enum import Enum + + +class IntParam: + """ + Type for integer parameters. + + Parameters + ---------- + name : std::string + Name of the parameter + + value : int32_t + Value of the parameter + + """ + + + + def __init__( + self, + name, + value): + """ Initializes the IntParam object """ + self.name = name + self.value = value + + def __equals__(self, to_compare): + """ Checks if two IntParam are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # IntParam object + return \ + (self.name == to_compare.name) and \ + (self.value == to_compare.value) + + except AttributeError: + return False + + def __str__(self): + """ IntParam in string representation """ + struct_repr = ", ".join([ + "name: " + str(self.name), + "value: " + str(self.value) + ]) + + return f"IntParam: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcIntParam): + """ Translates a gRPC struct to the SDK equivalent """ + return IntParam( + + rpcIntParam.name, + + + rpcIntParam.value + ) + + def translate_to_rpc(self, rpcIntParam): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcIntParam.name = self.name + + + + + + rpcIntParam.value = self.value + + + + + +class FloatParam: + """ + Type for float parameters. + + Parameters + ---------- + name : std::string + Name of the parameter + + value : float + Value of the parameter + + """ + + + + def __init__( + self, + name, + value): + """ Initializes the FloatParam object """ + self.name = name + self.value = value + + def __equals__(self, to_compare): + """ Checks if two FloatParam are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # FloatParam object + return \ + (self.name == to_compare.name) and \ + (self.value == to_compare.value) + + except AttributeError: + return False + + def __str__(self): + """ FloatParam in string representation """ + struct_repr = ", ".join([ + "name: " + str(self.name), + "value: " + str(self.value) + ]) + + return f"FloatParam: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcFloatParam): + """ Translates a gRPC struct to the SDK equivalent """ + return FloatParam( + + rpcFloatParam.name, + + + rpcFloatParam.value + ) + + def translate_to_rpc(self, rpcFloatParam): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcFloatParam.name = self.name + + + + + + rpcFloatParam.value = self.value + + + + + +class AllParams: + """ + Type collecting all integer and float parameters. + + Parameters + ---------- + int_params : [IntParam] + Collection of all parameter names and values of type int + + float_params : [FloatParam] + Collection of all parameter names and values of type float + + """ + + + + def __init__( + self, + int_params, + float_params): + """ Initializes the AllParams object """ + self.int_params = int_params + self.float_params = float_params + + def __equals__(self, to_compare): + """ Checks if two AllParams are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # AllParams object + return \ + (self.int_params == to_compare.int_params) and \ + (self.float_params == to_compare.float_params) + + except AttributeError: + return False + + def __str__(self): + """ AllParams in string representation """ + struct_repr = ", ".join([ + "int_params: " + str(self.int_params), + "float_params: " + str(self.float_params) + ]) + + return f"AllParams: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcAllParams): + """ Translates a gRPC struct to the SDK equivalent """ + return AllParams( + + list(map(lambda elem: IntParam.translate_from_rpc(elem), rpcAllParams.int_params)), + + + list(map(lambda elem: FloatParam.translate_from_rpc(elem), rpcAllParams.float_params)) + ) + + def translate_to_rpc(self, rpcAllParams): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpc_elems_list = [] + for elem in self.int_params: + + rpc_elem = param_server_pb2.IntParam() + elem.translate_to_rpc(rpc_elem) + rpc_elems_list.append(rpc_elem) + + rpcAllParams.int_params.extend(rpc_elems_list) + + + + + + rpc_elems_list = [] + for elem in self.float_params: + + rpc_elem = param_server_pb2.FloatParam() + elem.translate_to_rpc(rpc_elem) + rpc_elems_list.append(rpc_elem) + + rpcAllParams.float_params.extend(rpc_elems_list) + + + + + +class ParamServerResult: + """ + Result type. + + Parameters + ---------- + result : Result + Result enum value + + result_str : std::string + Human-readable English string describing the result + + """ + + + + class Result(Enum): + """ + Possible results returned for param requests. + + Values + ------ + UNKNOWN + Unknown result + + SUCCESS + Request succeeded + + NOT_FOUND + Not Found + + WRONG_TYPE + Wrong type + + PARAM_NAME_TOO_LONG + Parameter name too long (> 16) + + """ + + + UNKNOWN = 0 + SUCCESS = 1 + NOT_FOUND = 2 + WRONG_TYPE = 3 + PARAM_NAME_TOO_LONG = 4 + + def translate_to_rpc(self): + if self == ParamServerResult.Result.UNKNOWN: + return param_server_pb2.ParamServerResult.RESULT_UNKNOWN + if self == ParamServerResult.Result.SUCCESS: + return param_server_pb2.ParamServerResult.RESULT_SUCCESS + if self == ParamServerResult.Result.NOT_FOUND: + return param_server_pb2.ParamServerResult.RESULT_NOT_FOUND + if self == ParamServerResult.Result.WRONG_TYPE: + return param_server_pb2.ParamServerResult.RESULT_WRONG_TYPE + if self == ParamServerResult.Result.PARAM_NAME_TOO_LONG: + return param_server_pb2.ParamServerResult.RESULT_PARAM_NAME_TOO_LONG + + @staticmethod + def translate_from_rpc(rpc_enum_value): + """ Parses a gRPC response """ + if rpc_enum_value == param_server_pb2.ParamServerResult.RESULT_UNKNOWN: + return ParamServerResult.Result.UNKNOWN + if rpc_enum_value == param_server_pb2.ParamServerResult.RESULT_SUCCESS: + return ParamServerResult.Result.SUCCESS + if rpc_enum_value == param_server_pb2.ParamServerResult.RESULT_NOT_FOUND: + return ParamServerResult.Result.NOT_FOUND + if rpc_enum_value == param_server_pb2.ParamServerResult.RESULT_WRONG_TYPE: + return ParamServerResult.Result.WRONG_TYPE + if rpc_enum_value == param_server_pb2.ParamServerResult.RESULT_PARAM_NAME_TOO_LONG: + return ParamServerResult.Result.PARAM_NAME_TOO_LONG + + def __str__(self): + return self.name + + + def __init__( + self, + result, + result_str): + """ Initializes the ParamServerResult object """ + self.result = result + self.result_str = result_str + + def __equals__(self, to_compare): + """ Checks if two ParamServerResult are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # ParamServerResult object + return \ + (self.result == to_compare.result) and \ + (self.result_str == to_compare.result_str) + + except AttributeError: + return False + + def __str__(self): + """ ParamServerResult in string representation """ + struct_repr = ", ".join([ + "result: " + str(self.result), + "result_str: " + str(self.result_str) + ]) + + return f"ParamServerResult: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcParamServerResult): + """ Translates a gRPC struct to the SDK equivalent """ + return ParamServerResult( + + ParamServerResult.Result.translate_from_rpc(rpcParamServerResult.result), + + + rpcParamServerResult.result_str + ) + + def translate_to_rpc(self, rpcParamServerResult): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcParamServerResult.result = self.result.translate_to_rpc() + + + + + + rpcParamServerResult.result_str = self.result_str + + + + + + +class ParamServerError(Exception): + """ Raised when a ParamServerResult is a fail code """ + + def __init__(self, result, origin, *params): + self._result = result + self._origin = origin + self._params = params + + def __str__(self): + return f"{self._result.result}: '{self._result.result_str}'; origin: {self._origin}; params: {self._params}" + + +class ParamServer(AsyncBase): + """ + Provide raw access to retrieve and provide server parameters. + + Generated by dcsdkgen - MAVSDK ParamServer API + """ + + # Plugin name + name = "ParamServer" + + def _setup_stub(self, channel): + """ Setups the api stub """ + self._stub = param_server_pb2_grpc.ParamServerServiceStub(channel) + + + def _extract_result(self, response): + """ Returns the response status and description """ + return ParamServerResult.translate_from_rpc(response.param_server_result) + + + async def retrieve_param_int(self, name): + """ + Retrieve an int parameter. + + If the type is wrong, the result will be `WRONG_TYPE`. + + Parameters + ---------- + name : std::string + Name of the parameter + + Returns + ------- + value : int32_t + Value of the requested parameter + + Raises + ------ + ParamServerError + If the request fails. The error contains the reason for the failure. + """ + + request = param_server_pb2.RetrieveParamIntRequest() + + + request.name = name + + response = await self._stub.RetrieveParamInt(request) + + + result = self._extract_result(response) + + if result.result is not ParamServerResult.Result.SUCCESS: + raise ParamServerError(result, "retrieve_param_int()", name) + + + return response.value + + + async def provide_param_int(self, name, value): + """ + Provide an int parameter. + + If the type is wrong, the result will be `WRONG_TYPE`. + + Parameters + ---------- + name : std::string + Name of the parameter to provide + + value : int32_t + Value the parameter should be set to + + Raises + ------ + ParamServerError + If the request fails. The error contains the reason for the failure. + """ + + request = param_server_pb2.ProvideParamIntRequest() + request.name = name + request.value = value + response = await self._stub.ProvideParamInt(request) + + + result = self._extract_result(response) + + if result.result is not ParamServerResult.Result.SUCCESS: + raise ParamServerError(result, "provide_param_int()", name, value) + + + async def retrieve_param_float(self, name): + """ + Retrieve a float parameter. + + If the type is wrong, the result will be `WRONG_TYPE`. + + Parameters + ---------- + name : std::string + Name of the parameter + + Returns + ------- + value : float + Value of the requested parameter + + Raises + ------ + ParamServerError + If the request fails. The error contains the reason for the failure. + """ + + request = param_server_pb2.RetrieveParamFloatRequest() + + + request.name = name + + response = await self._stub.RetrieveParamFloat(request) + + + result = self._extract_result(response) + + if result.result is not ParamServerResult.Result.SUCCESS: + raise ParamServerError(result, "retrieve_param_float()", name) + + + return response.value + + + async def provide_param_float(self, name, value): + """ + Provide a float parameter. + + If the type is wrong, the result will be `WRONG_TYPE`. + + Parameters + ---------- + name : std::string + Name of the parameter to provide + + value : float + Value the parameter should be set to + + Raises + ------ + ParamServerError + If the request fails. The error contains the reason for the failure. + """ + + request = param_server_pb2.ProvideParamFloatRequest() + request.name = name + request.value = value + response = await self._stub.ProvideParamFloat(request) + + + result = self._extract_result(response) + + if result.result is not ParamServerResult.Result.SUCCESS: + raise ParamServerError(result, "provide_param_float()", name, value) + + + async def retrieve_all_params(self): + """ + Retrieve all parameters. + + Returns + ------- + params : AllParams + Collection of all parameters + + + """ + + request = param_server_pb2.RetrieveAllParamsRequest() + response = await self._stub.RetrieveAllParams(request) + + + + return AllParams.translate_from_rpc(response.params) + \ No newline at end of file diff --git a/mavsdk/param_server_pb2.py b/mavsdk/param_server_pb2.py new file mode 100644 index 00000000..752867f7 --- /dev/null +++ b/mavsdk/param_server_pb2.py @@ -0,0 +1,758 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: param_server/param_server.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from . import mavsdk_options_pb2 as mavsdk__options__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='param_server/param_server.proto', + package='mavsdk.rpc.param_server', + syntax='proto3', + serialized_options=b'\n\026io.mavsdk.param_serverB\020ParamServerProto', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n\x1fparam_server/param_server.proto\x12\x17mavsdk.rpc.param_server\x1a\x14mavsdk_options.proto\"\'\n\x17RetrieveParamIntRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"k\n\x18RetrieveParamIntResponse\x12@\n\x0cparam_result\x18\x01 \x01(\x0b\x32*.mavsdk.rpc.param_server.ParamServerResult\x12\r\n\x05value\x18\x02 \x01(\x05\"5\n\x16ProvideParamIntRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05\"[\n\x17ProvideParamIntResponse\x12@\n\x0cparam_result\x18\x01 \x01(\x0b\x32*.mavsdk.rpc.param_server.ParamServerResult\")\n\x19RetrieveParamFloatRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"m\n\x1aRetrieveParamFloatResponse\x12@\n\x0cparam_result\x18\x01 \x01(\x0b\x32*.mavsdk.rpc.param_server.ParamServerResult\x12\r\n\x05value\x18\x02 \x01(\x02\"7\n\x18ProvideParamFloatRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x02\"]\n\x19ProvideParamFloatResponse\x12@\n\x0cparam_result\x18\x01 \x01(\x0b\x32*.mavsdk.rpc.param_server.ParamServerResult\"\x1a\n\x18RetrieveAllParamsRequest\"O\n\x19RetrieveAllParamsResponse\x12\x32\n\x06params\x18\x01 \x01(\x0b\x32\".mavsdk.rpc.param_server.AllParams\"\'\n\x08IntParam\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05\")\n\nFloatParam\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x02\"}\n\tAllParams\x12\x35\n\nint_params\x18\x01 \x03(\x0b\x32!.mavsdk.rpc.param_server.IntParam\x12\x39\n\x0c\x66loat_params\x18\x02 \x03(\x0b\x32#.mavsdk.rpc.param_server.FloatParam\"\xe9\x01\n\x11ParamServerResult\x12\x41\n\x06result\x18\x01 \x01(\x0e\x32\x31.mavsdk.rpc.param_server.ParamServerResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"}\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x14\n\x10RESULT_NOT_FOUND\x10\x02\x12\x15\n\x11RESULT_WRONG_TYPE\x10\x03\x12\x1e\n\x1aRESULT_PARAM_NAME_TOO_LONG\x10\x04\x32\x9b\x05\n\x12ParamServerService\x12}\n\x10RetrieveParamInt\x12\x30.mavsdk.rpc.param_server.RetrieveParamIntRequest\x1a\x31.mavsdk.rpc.param_server.RetrieveParamIntResponse\"\x04\x80\xb5\x18\x01\x12z\n\x0fProvideParamInt\x12/.mavsdk.rpc.param_server.ProvideParamIntRequest\x1a\x30.mavsdk.rpc.param_server.ProvideParamIntResponse\"\x04\x80\xb5\x18\x01\x12\x83\x01\n\x12RetrieveParamFloat\x12\x32.mavsdk.rpc.param_server.RetrieveParamFloatRequest\x1a\x33.mavsdk.rpc.param_server.RetrieveParamFloatResponse\"\x04\x80\xb5\x18\x01\x12\x80\x01\n\x11ProvideParamFloat\x12\x31.mavsdk.rpc.param_server.ProvideParamFloatRequest\x1a\x32.mavsdk.rpc.param_server.ProvideParamFloatResponse\"\x04\x80\xb5\x18\x01\x12\x80\x01\n\x11RetrieveAllParams\x12\x31.mavsdk.rpc.param_server.RetrieveAllParamsRequest\x1a\x32.mavsdk.rpc.param_server.RetrieveAllParamsResponse\"\x04\x80\xb5\x18\x01\x42*\n\x16io.mavsdk.param_serverB\x10ParamServerProtob\x06proto3' + , + dependencies=[mavsdk__options__pb2.DESCRIPTOR,]) + + + +_PARAMSERVERRESULT_RESULT = _descriptor.EnumDescriptor( + name='Result', + full_name='mavsdk.rpc.param_server.ParamServerResult.Result', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='RESULT_UNKNOWN', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_SUCCESS', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_NOT_FOUND', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_WRONG_TYPE', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_PARAM_NAME_TOO_LONG', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=1115, + serialized_end=1240, +) +_sym_db.RegisterEnumDescriptor(_PARAMSERVERRESULT_RESULT) + + +_RETRIEVEPARAMINTREQUEST = _descriptor.Descriptor( + name='RetrieveParamIntRequest', + full_name='mavsdk.rpc.param_server.RetrieveParamIntRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='mavsdk.rpc.param_server.RetrieveParamIntRequest.name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=82, + serialized_end=121, +) + + +_RETRIEVEPARAMINTRESPONSE = _descriptor.Descriptor( + name='RetrieveParamIntResponse', + full_name='mavsdk.rpc.param_server.RetrieveParamIntResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='param_result', full_name='mavsdk.rpc.param_server.RetrieveParamIntResponse.param_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='mavsdk.rpc.param_server.RetrieveParamIntResponse.value', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=123, + serialized_end=230, +) + + +_PROVIDEPARAMINTREQUEST = _descriptor.Descriptor( + name='ProvideParamIntRequest', + full_name='mavsdk.rpc.param_server.ProvideParamIntRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='mavsdk.rpc.param_server.ProvideParamIntRequest.name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='mavsdk.rpc.param_server.ProvideParamIntRequest.value', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=232, + serialized_end=285, +) + + +_PROVIDEPARAMINTRESPONSE = _descriptor.Descriptor( + name='ProvideParamIntResponse', + full_name='mavsdk.rpc.param_server.ProvideParamIntResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='param_result', full_name='mavsdk.rpc.param_server.ProvideParamIntResponse.param_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=287, + serialized_end=378, +) + + +_RETRIEVEPARAMFLOATREQUEST = _descriptor.Descriptor( + name='RetrieveParamFloatRequest', + full_name='mavsdk.rpc.param_server.RetrieveParamFloatRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='mavsdk.rpc.param_server.RetrieveParamFloatRequest.name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=380, + serialized_end=421, +) + + +_RETRIEVEPARAMFLOATRESPONSE = _descriptor.Descriptor( + name='RetrieveParamFloatResponse', + full_name='mavsdk.rpc.param_server.RetrieveParamFloatResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='param_result', full_name='mavsdk.rpc.param_server.RetrieveParamFloatResponse.param_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='mavsdk.rpc.param_server.RetrieveParamFloatResponse.value', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=423, + serialized_end=532, +) + + +_PROVIDEPARAMFLOATREQUEST = _descriptor.Descriptor( + name='ProvideParamFloatRequest', + full_name='mavsdk.rpc.param_server.ProvideParamFloatRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='mavsdk.rpc.param_server.ProvideParamFloatRequest.name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='mavsdk.rpc.param_server.ProvideParamFloatRequest.value', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=534, + serialized_end=589, +) + + +_PROVIDEPARAMFLOATRESPONSE = _descriptor.Descriptor( + name='ProvideParamFloatResponse', + full_name='mavsdk.rpc.param_server.ProvideParamFloatResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='param_result', full_name='mavsdk.rpc.param_server.ProvideParamFloatResponse.param_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=591, + serialized_end=684, +) + + +_RETRIEVEALLPARAMSREQUEST = _descriptor.Descriptor( + name='RetrieveAllParamsRequest', + full_name='mavsdk.rpc.param_server.RetrieveAllParamsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=686, + serialized_end=712, +) + + +_RETRIEVEALLPARAMSRESPONSE = _descriptor.Descriptor( + name='RetrieveAllParamsResponse', + full_name='mavsdk.rpc.param_server.RetrieveAllParamsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='params', full_name='mavsdk.rpc.param_server.RetrieveAllParamsResponse.params', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=714, + serialized_end=793, +) + + +_INTPARAM = _descriptor.Descriptor( + name='IntParam', + full_name='mavsdk.rpc.param_server.IntParam', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='mavsdk.rpc.param_server.IntParam.name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='mavsdk.rpc.param_server.IntParam.value', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=795, + serialized_end=834, +) + + +_FLOATPARAM = _descriptor.Descriptor( + name='FloatParam', + full_name='mavsdk.rpc.param_server.FloatParam', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='mavsdk.rpc.param_server.FloatParam.name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='mavsdk.rpc.param_server.FloatParam.value', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=836, + serialized_end=877, +) + + +_ALLPARAMS = _descriptor.Descriptor( + name='AllParams', + full_name='mavsdk.rpc.param_server.AllParams', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='int_params', full_name='mavsdk.rpc.param_server.AllParams.int_params', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='float_params', full_name='mavsdk.rpc.param_server.AllParams.float_params', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=879, + serialized_end=1004, +) + + +_PARAMSERVERRESULT = _descriptor.Descriptor( + name='ParamServerResult', + full_name='mavsdk.rpc.param_server.ParamServerResult', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='result', full_name='mavsdk.rpc.param_server.ParamServerResult.result', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='result_str', full_name='mavsdk.rpc.param_server.ParamServerResult.result_str', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _PARAMSERVERRESULT_RESULT, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1007, + serialized_end=1240, +) + +_RETRIEVEPARAMINTRESPONSE.fields_by_name['param_result'].message_type = _PARAMSERVERRESULT +_PROVIDEPARAMINTRESPONSE.fields_by_name['param_result'].message_type = _PARAMSERVERRESULT +_RETRIEVEPARAMFLOATRESPONSE.fields_by_name['param_result'].message_type = _PARAMSERVERRESULT +_PROVIDEPARAMFLOATRESPONSE.fields_by_name['param_result'].message_type = _PARAMSERVERRESULT +_RETRIEVEALLPARAMSRESPONSE.fields_by_name['params'].message_type = _ALLPARAMS +_ALLPARAMS.fields_by_name['int_params'].message_type = _INTPARAM +_ALLPARAMS.fields_by_name['float_params'].message_type = _FLOATPARAM +_PARAMSERVERRESULT.fields_by_name['result'].enum_type = _PARAMSERVERRESULT_RESULT +_PARAMSERVERRESULT_RESULT.containing_type = _PARAMSERVERRESULT +DESCRIPTOR.message_types_by_name['RetrieveParamIntRequest'] = _RETRIEVEPARAMINTREQUEST +DESCRIPTOR.message_types_by_name['RetrieveParamIntResponse'] = _RETRIEVEPARAMINTRESPONSE +DESCRIPTOR.message_types_by_name['ProvideParamIntRequest'] = _PROVIDEPARAMINTREQUEST +DESCRIPTOR.message_types_by_name['ProvideParamIntResponse'] = _PROVIDEPARAMINTRESPONSE +DESCRIPTOR.message_types_by_name['RetrieveParamFloatRequest'] = _RETRIEVEPARAMFLOATREQUEST +DESCRIPTOR.message_types_by_name['RetrieveParamFloatResponse'] = _RETRIEVEPARAMFLOATRESPONSE +DESCRIPTOR.message_types_by_name['ProvideParamFloatRequest'] = _PROVIDEPARAMFLOATREQUEST +DESCRIPTOR.message_types_by_name['ProvideParamFloatResponse'] = _PROVIDEPARAMFLOATRESPONSE +DESCRIPTOR.message_types_by_name['RetrieveAllParamsRequest'] = _RETRIEVEALLPARAMSREQUEST +DESCRIPTOR.message_types_by_name['RetrieveAllParamsResponse'] = _RETRIEVEALLPARAMSRESPONSE +DESCRIPTOR.message_types_by_name['IntParam'] = _INTPARAM +DESCRIPTOR.message_types_by_name['FloatParam'] = _FLOATPARAM +DESCRIPTOR.message_types_by_name['AllParams'] = _ALLPARAMS +DESCRIPTOR.message_types_by_name['ParamServerResult'] = _PARAMSERVERRESULT +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +RetrieveParamIntRequest = _reflection.GeneratedProtocolMessageType('RetrieveParamIntRequest', (_message.Message,), { + 'DESCRIPTOR' : _RETRIEVEPARAMINTREQUEST, + '__module__' : 'param_server.param_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.RetrieveParamIntRequest) + }) +_sym_db.RegisterMessage(RetrieveParamIntRequest) + +RetrieveParamIntResponse = _reflection.GeneratedProtocolMessageType('RetrieveParamIntResponse', (_message.Message,), { + 'DESCRIPTOR' : _RETRIEVEPARAMINTRESPONSE, + '__module__' : 'param_server.param_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.RetrieveParamIntResponse) + }) +_sym_db.RegisterMessage(RetrieveParamIntResponse) + +ProvideParamIntRequest = _reflection.GeneratedProtocolMessageType('ProvideParamIntRequest', (_message.Message,), { + 'DESCRIPTOR' : _PROVIDEPARAMINTREQUEST, + '__module__' : 'param_server.param_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.ProvideParamIntRequest) + }) +_sym_db.RegisterMessage(ProvideParamIntRequest) + +ProvideParamIntResponse = _reflection.GeneratedProtocolMessageType('ProvideParamIntResponse', (_message.Message,), { + 'DESCRIPTOR' : _PROVIDEPARAMINTRESPONSE, + '__module__' : 'param_server.param_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.ProvideParamIntResponse) + }) +_sym_db.RegisterMessage(ProvideParamIntResponse) + +RetrieveParamFloatRequest = _reflection.GeneratedProtocolMessageType('RetrieveParamFloatRequest', (_message.Message,), { + 'DESCRIPTOR' : _RETRIEVEPARAMFLOATREQUEST, + '__module__' : 'param_server.param_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.RetrieveParamFloatRequest) + }) +_sym_db.RegisterMessage(RetrieveParamFloatRequest) + +RetrieveParamFloatResponse = _reflection.GeneratedProtocolMessageType('RetrieveParamFloatResponse', (_message.Message,), { + 'DESCRIPTOR' : _RETRIEVEPARAMFLOATRESPONSE, + '__module__' : 'param_server.param_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.RetrieveParamFloatResponse) + }) +_sym_db.RegisterMessage(RetrieveParamFloatResponse) + +ProvideParamFloatRequest = _reflection.GeneratedProtocolMessageType('ProvideParamFloatRequest', (_message.Message,), { + 'DESCRIPTOR' : _PROVIDEPARAMFLOATREQUEST, + '__module__' : 'param_server.param_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.ProvideParamFloatRequest) + }) +_sym_db.RegisterMessage(ProvideParamFloatRequest) + +ProvideParamFloatResponse = _reflection.GeneratedProtocolMessageType('ProvideParamFloatResponse', (_message.Message,), { + 'DESCRIPTOR' : _PROVIDEPARAMFLOATRESPONSE, + '__module__' : 'param_server.param_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.ProvideParamFloatResponse) + }) +_sym_db.RegisterMessage(ProvideParamFloatResponse) + +RetrieveAllParamsRequest = _reflection.GeneratedProtocolMessageType('RetrieveAllParamsRequest', (_message.Message,), { + 'DESCRIPTOR' : _RETRIEVEALLPARAMSREQUEST, + '__module__' : 'param_server.param_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.RetrieveAllParamsRequest) + }) +_sym_db.RegisterMessage(RetrieveAllParamsRequest) + +RetrieveAllParamsResponse = _reflection.GeneratedProtocolMessageType('RetrieveAllParamsResponse', (_message.Message,), { + 'DESCRIPTOR' : _RETRIEVEALLPARAMSRESPONSE, + '__module__' : 'param_server.param_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.RetrieveAllParamsResponse) + }) +_sym_db.RegisterMessage(RetrieveAllParamsResponse) + +IntParam = _reflection.GeneratedProtocolMessageType('IntParam', (_message.Message,), { + 'DESCRIPTOR' : _INTPARAM, + '__module__' : 'param_server.param_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.IntParam) + }) +_sym_db.RegisterMessage(IntParam) + +FloatParam = _reflection.GeneratedProtocolMessageType('FloatParam', (_message.Message,), { + 'DESCRIPTOR' : _FLOATPARAM, + '__module__' : 'param_server.param_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.FloatParam) + }) +_sym_db.RegisterMessage(FloatParam) + +AllParams = _reflection.GeneratedProtocolMessageType('AllParams', (_message.Message,), { + 'DESCRIPTOR' : _ALLPARAMS, + '__module__' : 'param_server.param_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.AllParams) + }) +_sym_db.RegisterMessage(AllParams) + +ParamServerResult = _reflection.GeneratedProtocolMessageType('ParamServerResult', (_message.Message,), { + 'DESCRIPTOR' : _PARAMSERVERRESULT, + '__module__' : 'param_server.param_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.param_server.ParamServerResult) + }) +_sym_db.RegisterMessage(ParamServerResult) + + +DESCRIPTOR._options = None + +_PARAMSERVERSERVICE = _descriptor.ServiceDescriptor( + name='ParamServerService', + full_name='mavsdk.rpc.param_server.ParamServerService', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=1243, + serialized_end=1910, + methods=[ + _descriptor.MethodDescriptor( + name='RetrieveParamInt', + full_name='mavsdk.rpc.param_server.ParamServerService.RetrieveParamInt', + index=0, + containing_service=None, + input_type=_RETRIEVEPARAMINTREQUEST, + output_type=_RETRIEVEPARAMINTRESPONSE, + serialized_options=b'\200\265\030\001', + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ProvideParamInt', + full_name='mavsdk.rpc.param_server.ParamServerService.ProvideParamInt', + index=1, + containing_service=None, + input_type=_PROVIDEPARAMINTREQUEST, + output_type=_PROVIDEPARAMINTRESPONSE, + serialized_options=b'\200\265\030\001', + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='RetrieveParamFloat', + full_name='mavsdk.rpc.param_server.ParamServerService.RetrieveParamFloat', + index=2, + containing_service=None, + input_type=_RETRIEVEPARAMFLOATREQUEST, + output_type=_RETRIEVEPARAMFLOATRESPONSE, + serialized_options=b'\200\265\030\001', + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ProvideParamFloat', + full_name='mavsdk.rpc.param_server.ParamServerService.ProvideParamFloat', + index=3, + containing_service=None, + input_type=_PROVIDEPARAMFLOATREQUEST, + output_type=_PROVIDEPARAMFLOATRESPONSE, + serialized_options=b'\200\265\030\001', + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='RetrieveAllParams', + full_name='mavsdk.rpc.param_server.ParamServerService.RetrieveAllParams', + index=4, + containing_service=None, + input_type=_RETRIEVEALLPARAMSREQUEST, + output_type=_RETRIEVEALLPARAMSRESPONSE, + serialized_options=b'\200\265\030\001', + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_PARAMSERVERSERVICE) + +DESCRIPTOR.services_by_name['ParamServerService'] = _PARAMSERVERSERVICE + +# @@protoc_insertion_point(module_scope) diff --git a/mavsdk/param_server_pb2_grpc.py b/mavsdk/param_server_pb2_grpc.py new file mode 100644 index 00000000..2bd8127e --- /dev/null +++ b/mavsdk/param_server_pb2_grpc.py @@ -0,0 +1,219 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from . import param_server_pb2 as param__server_dot_param__server__pb2 + + +class ParamServerServiceStub(object): + """Provide raw access to retrieve and provide server parameters. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.RetrieveParamInt = channel.unary_unary( + '/mavsdk.rpc.param_server.ParamServerService/RetrieveParamInt', + request_serializer=param__server_dot_param__server__pb2.RetrieveParamIntRequest.SerializeToString, + response_deserializer=param__server_dot_param__server__pb2.RetrieveParamIntResponse.FromString, + ) + self.ProvideParamInt = channel.unary_unary( + '/mavsdk.rpc.param_server.ParamServerService/ProvideParamInt', + request_serializer=param__server_dot_param__server__pb2.ProvideParamIntRequest.SerializeToString, + response_deserializer=param__server_dot_param__server__pb2.ProvideParamIntResponse.FromString, + ) + self.RetrieveParamFloat = channel.unary_unary( + '/mavsdk.rpc.param_server.ParamServerService/RetrieveParamFloat', + request_serializer=param__server_dot_param__server__pb2.RetrieveParamFloatRequest.SerializeToString, + response_deserializer=param__server_dot_param__server__pb2.RetrieveParamFloatResponse.FromString, + ) + self.ProvideParamFloat = channel.unary_unary( + '/mavsdk.rpc.param_server.ParamServerService/ProvideParamFloat', + request_serializer=param__server_dot_param__server__pb2.ProvideParamFloatRequest.SerializeToString, + response_deserializer=param__server_dot_param__server__pb2.ProvideParamFloatResponse.FromString, + ) + self.RetrieveAllParams = channel.unary_unary( + '/mavsdk.rpc.param_server.ParamServerService/RetrieveAllParams', + request_serializer=param__server_dot_param__server__pb2.RetrieveAllParamsRequest.SerializeToString, + response_deserializer=param__server_dot_param__server__pb2.RetrieveAllParamsResponse.FromString, + ) + + +class ParamServerServiceServicer(object): + """Provide raw access to retrieve and provide server parameters. + """ + + def RetrieveParamInt(self, request, context): + """ + Retrieve an int parameter. + + If the type is wrong, the result will be `WRONG_TYPE`. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ProvideParamInt(self, request, context): + """ + Provide an int parameter. + + If the type is wrong, the result will be `WRONG_TYPE`. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RetrieveParamFloat(self, request, context): + """ + Retrieve a float parameter. + + If the type is wrong, the result will be `WRONG_TYPE`. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ProvideParamFloat(self, request, context): + """ + Provide a float parameter. + + If the type is wrong, the result will be `WRONG_TYPE`. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RetrieveAllParams(self, request, context): + """ + Retrieve all parameters. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ParamServerServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'RetrieveParamInt': grpc.unary_unary_rpc_method_handler( + servicer.RetrieveParamInt, + request_deserializer=param__server_dot_param__server__pb2.RetrieveParamIntRequest.FromString, + response_serializer=param__server_dot_param__server__pb2.RetrieveParamIntResponse.SerializeToString, + ), + 'ProvideParamInt': grpc.unary_unary_rpc_method_handler( + servicer.ProvideParamInt, + request_deserializer=param__server_dot_param__server__pb2.ProvideParamIntRequest.FromString, + response_serializer=param__server_dot_param__server__pb2.ProvideParamIntResponse.SerializeToString, + ), + 'RetrieveParamFloat': grpc.unary_unary_rpc_method_handler( + servicer.RetrieveParamFloat, + request_deserializer=param__server_dot_param__server__pb2.RetrieveParamFloatRequest.FromString, + response_serializer=param__server_dot_param__server__pb2.RetrieveParamFloatResponse.SerializeToString, + ), + 'ProvideParamFloat': grpc.unary_unary_rpc_method_handler( + servicer.ProvideParamFloat, + request_deserializer=param__server_dot_param__server__pb2.ProvideParamFloatRequest.FromString, + response_serializer=param__server_dot_param__server__pb2.ProvideParamFloatResponse.SerializeToString, + ), + 'RetrieveAllParams': grpc.unary_unary_rpc_method_handler( + servicer.RetrieveAllParams, + request_deserializer=param__server_dot_param__server__pb2.RetrieveAllParamsRequest.FromString, + response_serializer=param__server_dot_param__server__pb2.RetrieveAllParamsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'mavsdk.rpc.param_server.ParamServerService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class ParamServerService(object): + """Provide raw access to retrieve and provide server parameters. + """ + + @staticmethod + def RetrieveParamInt(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.param_server.ParamServerService/RetrieveParamInt', + param__server_dot_param__server__pb2.RetrieveParamIntRequest.SerializeToString, + param__server_dot_param__server__pb2.RetrieveParamIntResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ProvideParamInt(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.param_server.ParamServerService/ProvideParamInt', + param__server_dot_param__server__pb2.ProvideParamIntRequest.SerializeToString, + param__server_dot_param__server__pb2.ProvideParamIntResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RetrieveParamFloat(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.param_server.ParamServerService/RetrieveParamFloat', + param__server_dot_param__server__pb2.RetrieveParamFloatRequest.SerializeToString, + param__server_dot_param__server__pb2.RetrieveParamFloatResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ProvideParamFloat(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.param_server.ParamServerService/ProvideParamFloat', + param__server_dot_param__server__pb2.ProvideParamFloatRequest.SerializeToString, + param__server_dot_param__server__pb2.ProvideParamFloatResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RetrieveAllParams(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.param_server.ParamServerService/RetrieveAllParams', + param__server_dot_param__server__pb2.RetrieveAllParamsRequest.SerializeToString, + param__server_dot_param__server__pb2.RetrieveAllParamsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/mavsdk/source/plugins/index.rst b/mavsdk/source/plugins/index.rst index 4b908725..e61c31de 100644 --- a/mavsdk/source/plugins/index.rst +++ b/mavsdk/source/plugins/index.rst @@ -27,3 +27,5 @@ Plugins tracking_server server_utility transponder + param_server + telemetry_server diff --git a/mavsdk/source/plugins/param_server.rst b/mavsdk/source/plugins/param_server.rst new file mode 100644 index 00000000..b4bd092c --- /dev/null +++ b/mavsdk/source/plugins/param_server.rst @@ -0,0 +1,8 @@ +ParamServer +==== + +.. automodule:: mavsdk.param_server + :members: + :undoc-members: + :show-inheritance: + :exclude-members: translate_from_rpc, translate_to_rpc \ No newline at end of file diff --git a/mavsdk/source/plugins/telemetry_server.rst b/mavsdk/source/plugins/telemetry_server.rst new file mode 100644 index 00000000..cafdf453 --- /dev/null +++ b/mavsdk/source/plugins/telemetry_server.rst @@ -0,0 +1,8 @@ +TelemetryServer +==== + +.. automodule:: mavsdk.telemetry_server + :members: + :undoc-members: + :show-inheritance: + :exclude-members: translate_from_rpc, translate_to_rpc \ No newline at end of file diff --git a/mavsdk/telemetry.py b/mavsdk/telemetry.py index e3efd130..e29daeb8 100644 --- a/mavsdk/telemetry.py +++ b/mavsdk/telemetry.py @@ -1154,6 +1154,9 @@ class Battery: Parameters ---------- + id : uint32_t + Battery ID, for systems with multiple batteries + voltage_v : float Voltage in volts @@ -1166,9 +1169,11 @@ class Battery: def __init__( self, + id, voltage_v, remaining_percent): """ Initializes the Battery object """ + self.id = id self.voltage_v = voltage_v self.remaining_percent = remaining_percent @@ -1178,6 +1183,7 @@ def __equals__(self, to_compare): # Try to compare - this likely fails when it is compared to a non # Battery object return \ + (self.id == to_compare.id) and \ (self.voltage_v == to_compare.voltage_v) and \ (self.remaining_percent == to_compare.remaining_percent) @@ -1187,6 +1193,7 @@ def __equals__(self, to_compare): def __str__(self): """ Battery in string representation """ struct_repr = ", ".join([ + "id: " + str(self.id), "voltage_v: " + str(self.voltage_v), "remaining_percent: " + str(self.remaining_percent) ]) @@ -1198,6 +1205,9 @@ def translate_from_rpc(rpcBattery): """ Translates a gRPC struct to the SDK equivalent """ return Battery( + rpcBattery.id, + + rpcBattery.voltage_v, @@ -1210,6 +1220,12 @@ def translate_to_rpc(self, rpcBattery): + rpcBattery.id = self.id + + + + + rpcBattery.voltage_v = self.voltage_v @@ -1237,9 +1253,6 @@ class Health: is_magnetometer_calibration_ok : bool True if the magnetometer is calibrated - is_level_calibration_ok : bool - True if the vehicle has a valid level calibration - is_local_position_ok : bool True if the local position estimate is good enough to fly in 'position control' mode @@ -1249,6 +1262,9 @@ class Health: is_home_position_ok : bool True if the home position has been initialized properly + is_armable : bool + True if system can be armed + """ @@ -1258,18 +1274,18 @@ def __init__( is_gyrometer_calibration_ok, is_accelerometer_calibration_ok, is_magnetometer_calibration_ok, - is_level_calibration_ok, is_local_position_ok, is_global_position_ok, - is_home_position_ok): + is_home_position_ok, + is_armable): """ Initializes the Health object """ self.is_gyrometer_calibration_ok = is_gyrometer_calibration_ok self.is_accelerometer_calibration_ok = is_accelerometer_calibration_ok self.is_magnetometer_calibration_ok = is_magnetometer_calibration_ok - self.is_level_calibration_ok = is_level_calibration_ok self.is_local_position_ok = is_local_position_ok self.is_global_position_ok = is_global_position_ok self.is_home_position_ok = is_home_position_ok + self.is_armable = is_armable def __equals__(self, to_compare): """ Checks if two Health are the same """ @@ -1280,10 +1296,10 @@ def __equals__(self, to_compare): (self.is_gyrometer_calibration_ok == to_compare.is_gyrometer_calibration_ok) and \ (self.is_accelerometer_calibration_ok == to_compare.is_accelerometer_calibration_ok) and \ (self.is_magnetometer_calibration_ok == to_compare.is_magnetometer_calibration_ok) and \ - (self.is_level_calibration_ok == to_compare.is_level_calibration_ok) and \ (self.is_local_position_ok == to_compare.is_local_position_ok) and \ (self.is_global_position_ok == to_compare.is_global_position_ok) and \ - (self.is_home_position_ok == to_compare.is_home_position_ok) + (self.is_home_position_ok == to_compare.is_home_position_ok) and \ + (self.is_armable == to_compare.is_armable) except AttributeError: return False @@ -1294,10 +1310,10 @@ def __str__(self): "is_gyrometer_calibration_ok: " + str(self.is_gyrometer_calibration_ok), "is_accelerometer_calibration_ok: " + str(self.is_accelerometer_calibration_ok), "is_magnetometer_calibration_ok: " + str(self.is_magnetometer_calibration_ok), - "is_level_calibration_ok: " + str(self.is_level_calibration_ok), "is_local_position_ok: " + str(self.is_local_position_ok), "is_global_position_ok: " + str(self.is_global_position_ok), - "is_home_position_ok: " + str(self.is_home_position_ok) + "is_home_position_ok: " + str(self.is_home_position_ok), + "is_armable: " + str(self.is_armable) ]) return f"Health: [{struct_repr}]" @@ -1316,16 +1332,16 @@ def translate_from_rpc(rpcHealth): rpcHealth.is_magnetometer_calibration_ok, - rpcHealth.is_level_calibration_ok, - - rpcHealth.is_local_position_ok, rpcHealth.is_global_position_ok, - rpcHealth.is_home_position_ok + rpcHealth.is_home_position_ok, + + + rpcHealth.is_armable ) def translate_to_rpc(self, rpcHealth): @@ -1352,25 +1368,25 @@ def translate_to_rpc(self, rpcHealth): - rpcHealth.is_level_calibration_ok = self.is_level_calibration_ok + rpcHealth.is_local_position_ok = self.is_local_position_ok - rpcHealth.is_local_position_ok = self.is_local_position_ok + rpcHealth.is_global_position_ok = self.is_global_position_ok - rpcHealth.is_global_position_ok = self.is_global_position_ok + rpcHealth.is_home_position_ok = self.is_home_position_ok - rpcHealth.is_home_position_ok = self.is_home_position_ok + rpcHealth.is_armable = self.is_armable @@ -1389,7 +1405,7 @@ class RcStatus: True if the RC signal is available now signal_strength_percent : float - Signal strength (range: 0 to 100) + Signal strength (range: 0 to 100, NaN if unknown) """ @@ -2277,10 +2293,10 @@ class ScaledPressure: Differential pressure 1 in hPa temperature_deg : float - Absolute pressure temperature (in celcius) + Absolute pressure temperature (in celsius) differential_pressure_temperature_deg : float - Differential pressure temperature (in celcius, 0 if not available) + Differential pressure temperature (in celsius, 0 if not available) """ @@ -3342,6 +3358,9 @@ class Result(Enum): TIMEOUT Request timed out + UNSUPPORTED + Request not supported + """ @@ -3352,6 +3371,7 @@ class Result(Enum): BUSY = 4 COMMAND_DENIED = 5 TIMEOUT = 6 + UNSUPPORTED = 7 def translate_to_rpc(self): if self == TelemetryResult.Result.UNKNOWN: @@ -3368,6 +3388,8 @@ def translate_to_rpc(self): return telemetry_pb2.TelemetryResult.RESULT_COMMAND_DENIED if self == TelemetryResult.Result.TIMEOUT: return telemetry_pb2.TelemetryResult.RESULT_TIMEOUT + if self == TelemetryResult.Result.UNSUPPORTED: + return telemetry_pb2.TelemetryResult.RESULT_UNSUPPORTED @staticmethod def translate_from_rpc(rpc_enum_value): @@ -3386,6 +3408,8 @@ def translate_from_rpc(rpc_enum_value): return TelemetryResult.Result.COMMAND_DENIED if rpc_enum_value == telemetry_pb2.TelemetryResult.RESULT_TIMEOUT: return TelemetryResult.Result.TIMEOUT + if rpc_enum_value == telemetry_pb2.TelemetryResult.RESULT_UNSUPPORTED: + return TelemetryResult.Result.UNSUPPORTED def __str__(self): return self.name diff --git a/mavsdk/telemetry_pb2.py b/mavsdk/telemetry_pb2.py index 424a8000..3063c3b3 100644 --- a/mavsdk/telemetry_pb2.py +++ b/mavsdk/telemetry_pb2.py @@ -21,7 +21,7 @@ syntax='proto3', serialized_options=b'\n\023io.mavsdk.telemetryB\016TelemetryProto', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x19telemetry/telemetry.proto\x12\x14mavsdk.rpc.telemetry\x1a\x14mavsdk_options.proto\"\x1a\n\x18SubscribePositionRequest\"D\n\x10PositionResponse\x12\x30\n\x08position\x18\x01 \x01(\x0b\x32\x1e.mavsdk.rpc.telemetry.Position\"\x16\n\x14SubscribeHomeRequest\"<\n\x0cHomeResponse\x12,\n\x04home\x18\x01 \x01(\x0b\x32\x1e.mavsdk.rpc.telemetry.Position\"\x17\n\x15SubscribeInAirRequest\"\"\n\rInAirResponse\x12\x11\n\tis_in_air\x18\x01 \x01(\x08\"\x1d\n\x1bSubscribeLandedStateRequest\"N\n\x13LandedStateResponse\x12\x37\n\x0clanded_state\x18\x01 \x01(\x0e\x32!.mavsdk.rpc.telemetry.LandedState\"\x17\n\x15SubscribeArmedRequest\"!\n\rArmedResponse\x12\x10\n\x08is_armed\x18\x01 \x01(\x08\"$\n\"SubscribeAttitudeQuaternionRequest\"[\n\x1a\x41ttitudeQuaternionResponse\x12=\n\x13\x61ttitude_quaternion\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.telemetry.Quaternion\"\x1f\n\x1dSubscribeAttitudeEulerRequest\"Q\n\x15\x41ttitudeEulerResponse\x12\x38\n\x0e\x61ttitude_euler\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.telemetry.EulerAngle\"-\n+SubscribeAttitudeAngularVelocityBodyRequest\"x\n#AttitudeAngularVelocityBodyResponse\x12Q\n\x1e\x61ttitude_angular_velocity_body\x18\x01 \x01(\x0b\x32).mavsdk.rpc.telemetry.AngularVelocityBody\"*\n(SubscribeCameraAttitudeQuaternionRequest\"a\n CameraAttitudeQuaternionResponse\x12=\n\x13\x61ttitude_quaternion\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.telemetry.Quaternion\"%\n#SubscribeCameraAttitudeEulerRequest\"W\n\x1b\x43\x61meraAttitudeEulerResponse\x12\x38\n\x0e\x61ttitude_euler\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.telemetry.EulerAngle\"\x1d\n\x1bSubscribeVelocityNedRequest\"N\n\x13VelocityNedResponse\x12\x37\n\x0cvelocity_ned\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.telemetry.VelocityNed\"\x19\n\x17SubscribeGpsInfoRequest\"B\n\x0fGpsInfoResponse\x12/\n\x08gps_info\x18\x01 \x01(\x0b\x32\x1d.mavsdk.rpc.telemetry.GpsInfo\"\x18\n\x16SubscribeRawGpsRequest\"?\n\x0eRawGpsResponse\x12-\n\x07raw_gps\x18\x01 \x01(\x0b\x32\x1c.mavsdk.rpc.telemetry.RawGps\"\x19\n\x17SubscribeBatteryRequest\"A\n\x0f\x42\x61tteryResponse\x12.\n\x07\x62\x61ttery\x18\x01 \x01(\x0b\x32\x1d.mavsdk.rpc.telemetry.Battery\"\x1c\n\x1aSubscribeFlightModeRequest\"K\n\x12\x46lightModeResponse\x12\x35\n\x0b\x66light_mode\x18\x01 \x01(\x0e\x32 .mavsdk.rpc.telemetry.FlightMode\"\x18\n\x16SubscribeHealthRequest\">\n\x0eHealthResponse\x12,\n\x06health\x18\x01 \x01(\x0b\x32\x1c.mavsdk.rpc.telemetry.Health\"\x1a\n\x18SubscribeRcStatusRequest\"E\n\x10RcStatusResponse\x12\x31\n\trc_status\x18\x01 \x01(\x0b\x32\x1e.mavsdk.rpc.telemetry.RcStatus\"\x1c\n\x1aSubscribeStatusTextRequest\"K\n\x12StatusTextResponse\x12\x35\n\x0bstatus_text\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.telemetry.StatusText\"\'\n%SubscribeActuatorControlTargetRequest\"m\n\x1d\x41\x63tuatorControlTargetResponse\x12L\n\x17\x61\x63tuator_control_target\x18\x01 \x01(\x0b\x32+.mavsdk.rpc.telemetry.ActuatorControlTarget\"&\n$SubscribeActuatorOutputStatusRequest\"j\n\x1c\x41\x63tuatorOutputStatusResponse\x12J\n\x16\x61\x63tuator_output_status\x18\x01 \x01(\x0b\x32*.mavsdk.rpc.telemetry.ActuatorOutputStatus\"\x1a\n\x18SubscribeOdometryRequest\"D\n\x10OdometryResponse\x12\x30\n\x08odometry\x18\x01 \x01(\x0b\x32\x1e.mavsdk.rpc.telemetry.Odometry\"%\n#SubscribePositionVelocityNedRequest\"g\n\x1bPositionVelocityNedResponse\x12H\n\x15position_velocity_ned\x18\x01 \x01(\x0b\x32).mavsdk.rpc.telemetry.PositionVelocityNed\"\x1d\n\x1bSubscribeGroundTruthRequest\"N\n\x13GroundTruthResponse\x12\x37\n\x0cground_truth\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.telemetry.GroundTruth\"\"\n SubscribeFixedwingMetricsRequest\"]\n\x18\x46ixedwingMetricsResponse\x12\x41\n\x11\x66ixedwing_metrics\x18\x01 \x01(\x0b\x32&.mavsdk.rpc.telemetry.FixedwingMetrics\"\x15\n\x13SubscribeImuRequest\"5\n\x0bImuResponse\x12&\n\x03imu\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.telemetry.Imu\"\x1b\n\x19SubscribeScaledImuRequest\";\n\x11ScaledImuResponse\x12&\n\x03imu\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.telemetry.Imu\"\x18\n\x16SubscribeRawImuRequest\"8\n\x0eRawImuResponse\x12&\n\x03imu\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.telemetry.Imu\"\x1d\n\x1bSubscribeHealthAllOkRequest\"/\n\x13HealthAllOkResponse\x12\x18\n\x10is_health_all_ok\x18\x01 \x01(\x08\"\x1f\n\x1dSubscribeUnixEpochTimeRequest\"(\n\x15UnixEpochTimeResponse\x12\x0f\n\x07time_us\x18\x01 \x01(\x04\" \n\x1eSubscribeDistanceSensorRequest\"W\n\x16\x44istanceSensorResponse\x12=\n\x0f\x64istance_sensor\x18\x01 \x01(\x0b\x32$.mavsdk.rpc.telemetry.DistanceSensor\" \n\x1eSubscribeScaledPressureRequest\"W\n\x16ScaledPressureResponse\x12=\n\x0fscaled_pressure\x18\x01 \x01(\x0b\x32$.mavsdk.rpc.telemetry.ScaledPressure\")\n\x16SetRatePositionRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"Z\n\x17SetRatePositionResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"%\n\x12SetRateHomeRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"V\n\x13SetRateHomeResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"&\n\x13SetRateInAirRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"W\n\x14SetRateInAirResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\",\n\x19SetRateLandedStateRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"]\n\x1aSetRateLandedStateResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\")\n\x16SetRateAttitudeRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"Z\n\x17SetRateAttitudeResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"<\n)SetRateAttitudeAngularVelocityBodyRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"m\n*SetRateAttitudeAngularVelocityBodyResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"9\n&SetRateCameraAttitudeQuaternionRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"j\n\'SetRateCameraAttitudeQuaternionResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"/\n\x1cSetRateCameraAttitudeRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"`\n\x1dSetRateCameraAttitudeResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\",\n\x19SetRateVelocityNedRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"]\n\x1aSetRateVelocityNedResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"(\n\x15SetRateGpsInfoRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"Y\n\x16SetRateGpsInfoResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"\'\n\x14SetRateRawGpsRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"(\n\x15SetRateBatteryRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"Y\n\x16SetRateBatteryResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\")\n\x16SetRateRcStatusRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"Z\n\x17SetRateRcStatusResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"6\n#SetRateActuatorControlTargetRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"g\n$SetRateActuatorControlTargetResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"5\n\"SetRateActuatorOutputStatusRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"f\n#SetRateActuatorOutputStatusResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\")\n\x16SetRateOdometryRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"Z\n\x17SetRateOdometryResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"4\n!SetRatePositionVelocityNedRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"e\n\"SetRatePositionVelocityNedResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\",\n\x19SetRateGroundTruthRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"]\n\x1aSetRateGroundTruthResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"1\n\x1eSetRateFixedwingMetricsRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"b\n\x1fSetRateFixedwingMetricsResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"$\n\x11SetRateImuRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"U\n\x12SetRateImuResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"*\n\x17SetRateScaledImuRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"[\n\x18SetRateScaledImuResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"\'\n\x14SetRateRawImuRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"X\n\x15SetRateRawImuResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\".\n\x1bSetRateUnixEpochTimeRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"_\n\x1cSetRateUnixEpochTimeResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"/\n\x1cSetRateDistanceSensorRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"`\n\x1dSetRateDistanceSensorResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"\x1b\n\x19GetGpsGlobalOriginRequest\"\x9f\x01\n\x1aGetGpsGlobalOriginResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\x12@\n\x11gps_global_origin\x18\x02 \x01(\x0b\x32%.mavsdk.rpc.telemetry.GpsGlobalOrigin\"\x95\x01\n\x08Position\x12\x1d\n\x0clatitude_deg\x18\x01 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12\x1e\n\rlongitude_deg\x18\x02 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12$\n\x13\x61\x62solute_altitude_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12$\n\x13relative_altitude_m\x18\x04 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"r\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\x12\x14\n\x0ctimestamp_us\x18\x05 \x01(\x04\"s\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\x12\x14\n\x0ctimestamp_us\x18\x04 \x01(\x04\"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\"Y\n\x07GpsInfo\x12\x1d\n\x0enum_satellites\x18\x01 \x01(\x05\x42\x05\x82\xb5\x18\x01\x30\x12/\n\x08\x66ix_type\x18\x02 \x01(\x0e\x32\x1d.mavsdk.rpc.telemetry.FixType\"\xdf\x02\n\x06RawGps\x12\x14\n\x0ctimestamp_us\x18\x01 \x01(\x04\x12\x14\n\x0clatitude_deg\x18\x02 \x01(\x01\x12\x15\n\rlongitude_deg\x18\x03 \x01(\x01\x12\x1b\n\x13\x61\x62solute_altitude_m\x18\x04 \x01(\x02\x12\x0c\n\x04hdop\x18\x05 \x01(\x02\x12\x0c\n\x04vdop\x18\x06 \x01(\x02\x12\x14\n\x0cvelocity_m_s\x18\x07 \x01(\x02\x12\x0f\n\x07\x63og_deg\x18\x08 \x01(\x02\x12\x1c\n\x14\x61ltitude_ellipsoid_m\x18\t \x01(\x02\x12 \n\x18horizontal_uncertainty_m\x18\n \x01(\x02\x12\x1e\n\x16vertical_uncertainty_m\x18\x0b \x01(\x02\x12 \n\x18velocity_uncertainty_m_s\x18\x0c \x01(\x02\x12\x1f\n\x17heading_uncertainty_deg\x18\r \x01(\x02\x12\x0f\n\x07yaw_deg\x18\x0e \x01(\x02\"I\n\x07\x42\x61ttery\x12\x1a\n\tvoltage_v\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\"\n\x11remaining_percent\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"\xc6\x02\n\x06Health\x12.\n\x1bis_gyrometer_calibration_ok\x18\x01 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12\x32\n\x1fis_accelerometer_calibration_ok\x18\x02 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12\x31\n\x1eis_magnetometer_calibration_ok\x18\x03 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12*\n\x17is_level_calibration_ok\x18\x04 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12\'\n\x14is_local_position_ok\x18\x05 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12(\n\x15is_global_position_ok\x18\x06 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12&\n\x13is_home_position_ok\x18\x07 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\"z\n\x08RcStatus\x12%\n\x12was_available_once\x18\x01 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12\x1f\n\x0cis_available\x18\x02 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12&\n\x17signal_strength_percent\x18\x03 \x01(\x02\x42\x05\x82\xb5\x18\x01\x30\"N\n\nStatusText\x12\x32\n\x04type\x18\x01 \x01(\x0e\x32$.mavsdk.rpc.telemetry.StatusTextType\x12\x0c\n\x04text\x18\x02 \x01(\t\"?\n\x15\x41\x63tuatorControlTarget\x12\x14\n\x05group\x18\x01 \x01(\x05\x42\x05\x82\xb5\x18\x01\x30\x12\x10\n\x08\x63ontrols\x18\x02 \x03(\x02\"?\n\x14\x41\x63tuatorOutputStatus\x12\x15\n\x06\x61\x63tive\x18\x01 \x01(\rB\x05\x82\xb5\x18\x01\x30\x12\x10\n\x08\x61\x63tuator\x18\x02 \x03(\x02\"\'\n\nCovariance\x12\x19\n\x11\x63ovariance_matrix\x18\x01 \x03(\x02\";\n\x0cVelocityBody\x12\r\n\x05x_m_s\x18\x01 \x01(\x02\x12\r\n\x05y_m_s\x18\x02 \x01(\x02\x12\r\n\x05z_m_s\x18\x03 \x01(\x02\"5\n\x0cPositionBody\x12\x0b\n\x03x_m\x18\x01 \x01(\x02\x12\x0b\n\x03y_m\x18\x02 \x01(\x02\x12\x0b\n\x03z_m\x18\x03 \x01(\x02\"\xec\x04\n\x08Odometry\x12\x11\n\ttime_usec\x18\x01 \x01(\x04\x12\x39\n\x08\x66rame_id\x18\x02 \x01(\x0e\x32\'.mavsdk.rpc.telemetry.Odometry.MavFrame\x12?\n\x0e\x63hild_frame_id\x18\x03 \x01(\x0e\x32\'.mavsdk.rpc.telemetry.Odometry.MavFrame\x12\x39\n\rposition_body\x18\x04 \x01(\x0b\x32\".mavsdk.rpc.telemetry.PositionBody\x12+\n\x01q\x18\x05 \x01(\x0b\x32 .mavsdk.rpc.telemetry.Quaternion\x12\x39\n\rvelocity_body\x18\x06 \x01(\x0b\x32\".mavsdk.rpc.telemetry.VelocityBody\x12H\n\x15\x61ngular_velocity_body\x18\x07 \x01(\x0b\x32).mavsdk.rpc.telemetry.AngularVelocityBody\x12\x39\n\x0fpose_covariance\x18\x08 \x01(\x0b\x32 .mavsdk.rpc.telemetry.Covariance\x12=\n\x13velocity_covariance\x18\t \x01(\x0b\x32 .mavsdk.rpc.telemetry.Covariance\"j\n\x08MavFrame\x12\x13\n\x0fMAV_FRAME_UNDEF\x10\x00\x12\x16\n\x12MAV_FRAME_BODY_NED\x10\x08\x12\x18\n\x14MAV_FRAME_VISION_NED\x10\x10\x12\x17\n\x13MAV_FRAME_ESTIM_NED\x10\x12\"\x7f\n\x0e\x44istanceSensor\x12#\n\x12minimum_distance_m\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12#\n\x12maximum_distance_m\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12#\n\x12\x63urrent_distance_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"\xb0\x01\n\x0eScaledPressure\x12\x14\n\x0ctimestamp_us\x18\x01 \x01(\x04\x12\x1d\n\x15\x61\x62solute_pressure_hpa\x18\x02 \x01(\x02\x12!\n\x19\x64ifferential_pressure_hpa\x18\x03 \x01(\x02\x12\x17\n\x0ftemperature_deg\x18\x04 \x01(\x02\x12-\n%differential_pressure_temperature_deg\x18\x05 \x01(\x02\"Y\n\x0bPositionNed\x12\x18\n\x07north_m\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x17\n\x06\x65\x61st_m\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x17\n\x06\x64own_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"D\n\x0bVelocityNed\x12\x11\n\tnorth_m_s\x18\x01 \x01(\x02\x12\x10\n\x08\x65\x61st_m_s\x18\x02 \x01(\x02\x12\x10\n\x08\x64own_m_s\x18\x03 \x01(\x02\"\x7f\n\x13PositionVelocityNed\x12\x33\n\x08position\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.telemetry.PositionNed\x12\x33\n\x08velocity\x18\x02 \x01(\x0b\x32!.mavsdk.rpc.telemetry.VelocityNed\"r\n\x0bGroundTruth\x12\x1d\n\x0clatitude_deg\x18\x01 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12\x1e\n\rlongitude_deg\x18\x02 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12$\n\x13\x61\x62solute_altitude_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"x\n\x10\x46ixedwingMetrics\x12\x1d\n\x0c\x61irspeed_m_s\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12$\n\x13throttle_percentage\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1f\n\x0e\x63limb_rate_m_s\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"i\n\x0f\x41\x63\x63\x65lerationFrd\x12\x1d\n\x0c\x66orward_m_s2\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1b\n\nright_m_s2\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1a\n\tdown_m_s2\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"o\n\x12\x41ngularVelocityFrd\x12\x1e\n\rforward_rad_s\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1c\n\x0bright_rad_s\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1b\n\ndown_rad_s\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"m\n\x10MagneticFieldFrd\x12\x1e\n\rforward_gauss\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1c\n\x0bright_gauss\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1b\n\ndown_gauss\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"\x8b\x02\n\x03Imu\x12?\n\x10\x61\x63\x63\x65leration_frd\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.AccelerationFrd\x12\x46\n\x14\x61ngular_velocity_frd\x18\x02 \x01(\x0b\x32(.mavsdk.rpc.telemetry.AngularVelocityFrd\x12\x42\n\x12magnetic_field_frd\x18\x03 \x01(\x0b\x32&.mavsdk.rpc.telemetry.MagneticFieldFrd\x12!\n\x10temperature_degc\x18\x04 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x14\n\x0ctimestamp_us\x18\x05 \x01(\x04\"m\n\x0fGpsGlobalOrigin\x12\x1d\n\x0clatitude_deg\x18\x01 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12\x1e\n\rlongitude_deg\x18\x02 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12\x1b\n\naltitude_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"\x89\x02\n\x0fTelemetryResult\x12<\n\x06result\x18\x01 \x01(\x0e\x32,.mavsdk.rpc.telemetry.TelemetryResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xa3\x01\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x02\x12\x1b\n\x17RESULT_CONNECTION_ERROR\x10\x03\x12\x0f\n\x0bRESULT_BUSY\x10\x04\x12\x19\n\x15RESULT_COMMAND_DENIED\x10\x05\x12\x12\n\x0eRESULT_TIMEOUT\x10\x06*\xa4\x01\n\x07\x46ixType\x12\x13\n\x0f\x46IX_TYPE_NO_GPS\x10\x00\x12\x13\n\x0f\x46IX_TYPE_NO_FIX\x10\x01\x12\x13\n\x0f\x46IX_TYPE_FIX_2D\x10\x02\x12\x13\n\x0f\x46IX_TYPE_FIX_3D\x10\x03\x12\x15\n\x11\x46IX_TYPE_FIX_DGPS\x10\x04\x12\x16\n\x12\x46IX_TYPE_RTK_FLOAT\x10\x05\x12\x16\n\x12\x46IX_TYPE_RTK_FIXED\x10\x06*\x86\x03\n\nFlightMode\x12\x17\n\x13\x46LIGHT_MODE_UNKNOWN\x10\x00\x12\x15\n\x11\x46LIGHT_MODE_READY\x10\x01\x12\x17\n\x13\x46LIGHT_MODE_TAKEOFF\x10\x02\x12\x14\n\x10\x46LIGHT_MODE_HOLD\x10\x03\x12\x17\n\x13\x46LIGHT_MODE_MISSION\x10\x04\x12 \n\x1c\x46LIGHT_MODE_RETURN_TO_LAUNCH\x10\x05\x12\x14\n\x10\x46LIGHT_MODE_LAND\x10\x06\x12\x18\n\x14\x46LIGHT_MODE_OFFBOARD\x10\x07\x12\x19\n\x15\x46LIGHT_MODE_FOLLOW_ME\x10\x08\x12\x16\n\x12\x46LIGHT_MODE_MANUAL\x10\t\x12\x16\n\x12\x46LIGHT_MODE_ALTCTL\x10\n\x12\x16\n\x12\x46LIGHT_MODE_POSCTL\x10\x0b\x12\x14\n\x10\x46LIGHT_MODE_ACRO\x10\x0c\x12\x1a\n\x16\x46LIGHT_MODE_STABILIZED\x10\r\x12\x19\n\x15\x46LIGHT_MODE_RATTITUDE\x10\x0e*\xf9\x01\n\x0eStatusTextType\x12\x1a\n\x16STATUS_TEXT_TYPE_DEBUG\x10\x00\x12\x19\n\x15STATUS_TEXT_TYPE_INFO\x10\x01\x12\x1b\n\x17STATUS_TEXT_TYPE_NOTICE\x10\x02\x12\x1c\n\x18STATUS_TEXT_TYPE_WARNING\x10\x03\x12\x1a\n\x16STATUS_TEXT_TYPE_ERROR\x10\x04\x12\x1d\n\x19STATUS_TEXT_TYPE_CRITICAL\x10\x05\x12\x1a\n\x16STATUS_TEXT_TYPE_ALERT\x10\x06\x12\x1e\n\x1aSTATUS_TEXT_TYPE_EMERGENCY\x10\x07*\x93\x01\n\x0bLandedState\x12\x18\n\x14LANDED_STATE_UNKNOWN\x10\x00\x12\x1a\n\x16LANDED_STATE_ON_GROUND\x10\x01\x12\x17\n\x13LANDED_STATE_IN_AIR\x10\x02\x12\x1b\n\x17LANDED_STATE_TAKING_OFF\x10\x03\x12\x18\n\x14LANDED_STATE_LANDING\x10\x04\x32\xa7\x33\n\x10TelemetryService\x12o\n\x11SubscribePosition\x12..mavsdk.rpc.telemetry.SubscribePositionRequest\x1a&.mavsdk.rpc.telemetry.PositionResponse\"\x00\x30\x01\x12\x63\n\rSubscribeHome\x12*.mavsdk.rpc.telemetry.SubscribeHomeRequest\x1a\".mavsdk.rpc.telemetry.HomeResponse\"\x00\x30\x01\x12\x66\n\x0eSubscribeInAir\x12+.mavsdk.rpc.telemetry.SubscribeInAirRequest\x1a#.mavsdk.rpc.telemetry.InAirResponse\"\x00\x30\x01\x12x\n\x14SubscribeLandedState\x12\x31.mavsdk.rpc.telemetry.SubscribeLandedStateRequest\x1a).mavsdk.rpc.telemetry.LandedStateResponse\"\x00\x30\x01\x12\x66\n\x0eSubscribeArmed\x12+.mavsdk.rpc.telemetry.SubscribeArmedRequest\x1a#.mavsdk.rpc.telemetry.ArmedResponse\"\x00\x30\x01\x12\x8d\x01\n\x1bSubscribeAttitudeQuaternion\x12\x38.mavsdk.rpc.telemetry.SubscribeAttitudeQuaternionRequest\x1a\x30.mavsdk.rpc.telemetry.AttitudeQuaternionResponse\"\x00\x30\x01\x12~\n\x16SubscribeAttitudeEuler\x12\x33.mavsdk.rpc.telemetry.SubscribeAttitudeEulerRequest\x1a+.mavsdk.rpc.telemetry.AttitudeEulerResponse\"\x00\x30\x01\x12\xa8\x01\n$SubscribeAttitudeAngularVelocityBody\x12\x41.mavsdk.rpc.telemetry.SubscribeAttitudeAngularVelocityBodyRequest\x1a\x39.mavsdk.rpc.telemetry.AttitudeAngularVelocityBodyResponse\"\x00\x30\x01\x12\x9f\x01\n!SubscribeCameraAttitudeQuaternion\x12>.mavsdk.rpc.telemetry.SubscribeCameraAttitudeQuaternionRequest\x1a\x36.mavsdk.rpc.telemetry.CameraAttitudeQuaternionResponse\"\x00\x30\x01\x12\x90\x01\n\x1cSubscribeCameraAttitudeEuler\x12\x39.mavsdk.rpc.telemetry.SubscribeCameraAttitudeEulerRequest\x1a\x31.mavsdk.rpc.telemetry.CameraAttitudeEulerResponse\"\x00\x30\x01\x12x\n\x14SubscribeVelocityNed\x12\x31.mavsdk.rpc.telemetry.SubscribeVelocityNedRequest\x1a).mavsdk.rpc.telemetry.VelocityNedResponse\"\x00\x30\x01\x12l\n\x10SubscribeGpsInfo\x12-.mavsdk.rpc.telemetry.SubscribeGpsInfoRequest\x1a%.mavsdk.rpc.telemetry.GpsInfoResponse\"\x00\x30\x01\x12i\n\x0fSubscribeRawGps\x12,.mavsdk.rpc.telemetry.SubscribeRawGpsRequest\x1a$.mavsdk.rpc.telemetry.RawGpsResponse\"\x00\x30\x01\x12l\n\x10SubscribeBattery\x12-.mavsdk.rpc.telemetry.SubscribeBatteryRequest\x1a%.mavsdk.rpc.telemetry.BatteryResponse\"\x00\x30\x01\x12u\n\x13SubscribeFlightMode\x12\x30.mavsdk.rpc.telemetry.SubscribeFlightModeRequest\x1a(.mavsdk.rpc.telemetry.FlightModeResponse\"\x00\x30\x01\x12i\n\x0fSubscribeHealth\x12,.mavsdk.rpc.telemetry.SubscribeHealthRequest\x1a$.mavsdk.rpc.telemetry.HealthResponse\"\x00\x30\x01\x12o\n\x11SubscribeRcStatus\x12..mavsdk.rpc.telemetry.SubscribeRcStatusRequest\x1a&.mavsdk.rpc.telemetry.RcStatusResponse\"\x00\x30\x01\x12u\n\x13SubscribeStatusText\x12\x30.mavsdk.rpc.telemetry.SubscribeStatusTextRequest\x1a(.mavsdk.rpc.telemetry.StatusTextResponse\"\x00\x30\x01\x12\x96\x01\n\x1eSubscribeActuatorControlTarget\x12;.mavsdk.rpc.telemetry.SubscribeActuatorControlTargetRequest\x1a\x33.mavsdk.rpc.telemetry.ActuatorControlTargetResponse\"\x00\x30\x01\x12\x93\x01\n\x1dSubscribeActuatorOutputStatus\x12:.mavsdk.rpc.telemetry.SubscribeActuatorOutputStatusRequest\x1a\x32.mavsdk.rpc.telemetry.ActuatorOutputStatusResponse\"\x00\x30\x01\x12o\n\x11SubscribeOdometry\x12..mavsdk.rpc.telemetry.SubscribeOdometryRequest\x1a&.mavsdk.rpc.telemetry.OdometryResponse\"\x00\x30\x01\x12\x90\x01\n\x1cSubscribePositionVelocityNed\x12\x39.mavsdk.rpc.telemetry.SubscribePositionVelocityNedRequest\x1a\x31.mavsdk.rpc.telemetry.PositionVelocityNedResponse\"\x00\x30\x01\x12x\n\x14SubscribeGroundTruth\x12\x31.mavsdk.rpc.telemetry.SubscribeGroundTruthRequest\x1a).mavsdk.rpc.telemetry.GroundTruthResponse\"\x00\x30\x01\x12\x87\x01\n\x19SubscribeFixedwingMetrics\x12\x36.mavsdk.rpc.telemetry.SubscribeFixedwingMetricsRequest\x1a..mavsdk.rpc.telemetry.FixedwingMetricsResponse\"\x00\x30\x01\x12`\n\x0cSubscribeImu\x12).mavsdk.rpc.telemetry.SubscribeImuRequest\x1a!.mavsdk.rpc.telemetry.ImuResponse\"\x00\x30\x01\x12r\n\x12SubscribeScaledImu\x12/.mavsdk.rpc.telemetry.SubscribeScaledImuRequest\x1a\'.mavsdk.rpc.telemetry.ScaledImuResponse\"\x00\x30\x01\x12i\n\x0fSubscribeRawImu\x12,.mavsdk.rpc.telemetry.SubscribeRawImuRequest\x1a$.mavsdk.rpc.telemetry.RawImuResponse\"\x00\x30\x01\x12x\n\x14SubscribeHealthAllOk\x12\x31.mavsdk.rpc.telemetry.SubscribeHealthAllOkRequest\x1a).mavsdk.rpc.telemetry.HealthAllOkResponse\"\x00\x30\x01\x12~\n\x16SubscribeUnixEpochTime\x12\x33.mavsdk.rpc.telemetry.SubscribeUnixEpochTimeRequest\x1a+.mavsdk.rpc.telemetry.UnixEpochTimeResponse\"\x00\x30\x01\x12\x81\x01\n\x17SubscribeDistanceSensor\x12\x34.mavsdk.rpc.telemetry.SubscribeDistanceSensorRequest\x1a,.mavsdk.rpc.telemetry.DistanceSensorResponse\"\x00\x30\x01\x12\x81\x01\n\x17SubscribeScaledPressure\x12\x34.mavsdk.rpc.telemetry.SubscribeScaledPressureRequest\x1a,.mavsdk.rpc.telemetry.ScaledPressureResponse\"\x00\x30\x01\x12p\n\x0fSetRatePosition\x12,.mavsdk.rpc.telemetry.SetRatePositionRequest\x1a-.mavsdk.rpc.telemetry.SetRatePositionResponse\"\x00\x12\x64\n\x0bSetRateHome\x12(.mavsdk.rpc.telemetry.SetRateHomeRequest\x1a).mavsdk.rpc.telemetry.SetRateHomeResponse\"\x00\x12g\n\x0cSetRateInAir\x12).mavsdk.rpc.telemetry.SetRateInAirRequest\x1a*.mavsdk.rpc.telemetry.SetRateInAirResponse\"\x00\x12y\n\x12SetRateLandedState\x12/.mavsdk.rpc.telemetry.SetRateLandedStateRequest\x1a\x30.mavsdk.rpc.telemetry.SetRateLandedStateResponse\"\x00\x12p\n\x0fSetRateAttitude\x12,.mavsdk.rpc.telemetry.SetRateAttitudeRequest\x1a-.mavsdk.rpc.telemetry.SetRateAttitudeResponse\"\x00\x12\x82\x01\n\x15SetRateCameraAttitude\x12\x32.mavsdk.rpc.telemetry.SetRateCameraAttitudeRequest\x1a\x33.mavsdk.rpc.telemetry.SetRateCameraAttitudeResponse\"\x00\x12y\n\x12SetRateVelocityNed\x12/.mavsdk.rpc.telemetry.SetRateVelocityNedRequest\x1a\x30.mavsdk.rpc.telemetry.SetRateVelocityNedResponse\"\x00\x12m\n\x0eSetRateGpsInfo\x12+.mavsdk.rpc.telemetry.SetRateGpsInfoRequest\x1a,.mavsdk.rpc.telemetry.SetRateGpsInfoResponse\"\x00\x12m\n\x0eSetRateBattery\x12+.mavsdk.rpc.telemetry.SetRateBatteryRequest\x1a,.mavsdk.rpc.telemetry.SetRateBatteryResponse\"\x00\x12p\n\x0fSetRateRcStatus\x12,.mavsdk.rpc.telemetry.SetRateRcStatusRequest\x1a-.mavsdk.rpc.telemetry.SetRateRcStatusResponse\"\x00\x12\x97\x01\n\x1cSetRateActuatorControlTarget\x12\x39.mavsdk.rpc.telemetry.SetRateActuatorControlTargetRequest\x1a:.mavsdk.rpc.telemetry.SetRateActuatorControlTargetResponse\"\x00\x12\x94\x01\n\x1bSetRateActuatorOutputStatus\x12\x38.mavsdk.rpc.telemetry.SetRateActuatorOutputStatusRequest\x1a\x39.mavsdk.rpc.telemetry.SetRateActuatorOutputStatusResponse\"\x00\x12p\n\x0fSetRateOdometry\x12,.mavsdk.rpc.telemetry.SetRateOdometryRequest\x1a-.mavsdk.rpc.telemetry.SetRateOdometryResponse\"\x00\x12\x91\x01\n\x1aSetRatePositionVelocityNed\x12\x37.mavsdk.rpc.telemetry.SetRatePositionVelocityNedRequest\x1a\x38.mavsdk.rpc.telemetry.SetRatePositionVelocityNedResponse\"\x00\x12y\n\x12SetRateGroundTruth\x12/.mavsdk.rpc.telemetry.SetRateGroundTruthRequest\x1a\x30.mavsdk.rpc.telemetry.SetRateGroundTruthResponse\"\x00\x12\x88\x01\n\x17SetRateFixedwingMetrics\x12\x34.mavsdk.rpc.telemetry.SetRateFixedwingMetricsRequest\x1a\x35.mavsdk.rpc.telemetry.SetRateFixedwingMetricsResponse\"\x00\x12\x61\n\nSetRateImu\x12\'.mavsdk.rpc.telemetry.SetRateImuRequest\x1a(.mavsdk.rpc.telemetry.SetRateImuResponse\"\x00\x12s\n\x10SetRateScaledImu\x12-.mavsdk.rpc.telemetry.SetRateScaledImuRequest\x1a..mavsdk.rpc.telemetry.SetRateScaledImuResponse\"\x00\x12j\n\rSetRateRawImu\x12*.mavsdk.rpc.telemetry.SetRateRawImuRequest\x1a+.mavsdk.rpc.telemetry.SetRateRawImuResponse\"\x00\x12\x7f\n\x14SetRateUnixEpochTime\x12\x31.mavsdk.rpc.telemetry.SetRateUnixEpochTimeRequest\x1a\x32.mavsdk.rpc.telemetry.SetRateUnixEpochTimeResponse\"\x00\x12\x82\x01\n\x15SetRateDistanceSensor\x12\x32.mavsdk.rpc.telemetry.SetRateDistanceSensorRequest\x1a\x33.mavsdk.rpc.telemetry.SetRateDistanceSensorResponse\"\x00\x12y\n\x12GetGpsGlobalOrigin\x12/.mavsdk.rpc.telemetry.GetGpsGlobalOriginRequest\x1a\x30.mavsdk.rpc.telemetry.GetGpsGlobalOriginResponse\"\x00\x42%\n\x13io.mavsdk.telemetryB\x0eTelemetryProtob\x06proto3' + serialized_pb=b'\n\x19telemetry/telemetry.proto\x12\x14mavsdk.rpc.telemetry\x1a\x14mavsdk_options.proto\"\x1a\n\x18SubscribePositionRequest\"D\n\x10PositionResponse\x12\x30\n\x08position\x18\x01 \x01(\x0b\x32\x1e.mavsdk.rpc.telemetry.Position\"\x16\n\x14SubscribeHomeRequest\"<\n\x0cHomeResponse\x12,\n\x04home\x18\x01 \x01(\x0b\x32\x1e.mavsdk.rpc.telemetry.Position\"\x17\n\x15SubscribeInAirRequest\"\"\n\rInAirResponse\x12\x11\n\tis_in_air\x18\x01 \x01(\x08\"\x1d\n\x1bSubscribeLandedStateRequest\"N\n\x13LandedStateResponse\x12\x37\n\x0clanded_state\x18\x01 \x01(\x0e\x32!.mavsdk.rpc.telemetry.LandedState\"\x17\n\x15SubscribeArmedRequest\"!\n\rArmedResponse\x12\x10\n\x08is_armed\x18\x01 \x01(\x08\"$\n\"SubscribeAttitudeQuaternionRequest\"[\n\x1a\x41ttitudeQuaternionResponse\x12=\n\x13\x61ttitude_quaternion\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.telemetry.Quaternion\"\x1f\n\x1dSubscribeAttitudeEulerRequest\"Q\n\x15\x41ttitudeEulerResponse\x12\x38\n\x0e\x61ttitude_euler\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.telemetry.EulerAngle\"-\n+SubscribeAttitudeAngularVelocityBodyRequest\"x\n#AttitudeAngularVelocityBodyResponse\x12Q\n\x1e\x61ttitude_angular_velocity_body\x18\x01 \x01(\x0b\x32).mavsdk.rpc.telemetry.AngularVelocityBody\"*\n(SubscribeCameraAttitudeQuaternionRequest\"a\n CameraAttitudeQuaternionResponse\x12=\n\x13\x61ttitude_quaternion\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.telemetry.Quaternion\"%\n#SubscribeCameraAttitudeEulerRequest\"W\n\x1b\x43\x61meraAttitudeEulerResponse\x12\x38\n\x0e\x61ttitude_euler\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.telemetry.EulerAngle\"\x1d\n\x1bSubscribeVelocityNedRequest\"N\n\x13VelocityNedResponse\x12\x37\n\x0cvelocity_ned\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.telemetry.VelocityNed\"\x19\n\x17SubscribeGpsInfoRequest\"B\n\x0fGpsInfoResponse\x12/\n\x08gps_info\x18\x01 \x01(\x0b\x32\x1d.mavsdk.rpc.telemetry.GpsInfo\"\x18\n\x16SubscribeRawGpsRequest\"?\n\x0eRawGpsResponse\x12-\n\x07raw_gps\x18\x01 \x01(\x0b\x32\x1c.mavsdk.rpc.telemetry.RawGps\"\x19\n\x17SubscribeBatteryRequest\"A\n\x0f\x42\x61tteryResponse\x12.\n\x07\x62\x61ttery\x18\x01 \x01(\x0b\x32\x1d.mavsdk.rpc.telemetry.Battery\"\x1c\n\x1aSubscribeFlightModeRequest\"K\n\x12\x46lightModeResponse\x12\x35\n\x0b\x66light_mode\x18\x01 \x01(\x0e\x32 .mavsdk.rpc.telemetry.FlightMode\"\x18\n\x16SubscribeHealthRequest\">\n\x0eHealthResponse\x12,\n\x06health\x18\x01 \x01(\x0b\x32\x1c.mavsdk.rpc.telemetry.Health\"\x1a\n\x18SubscribeRcStatusRequest\"E\n\x10RcStatusResponse\x12\x31\n\trc_status\x18\x01 \x01(\x0b\x32\x1e.mavsdk.rpc.telemetry.RcStatus\"\x1c\n\x1aSubscribeStatusTextRequest\"K\n\x12StatusTextResponse\x12\x35\n\x0bstatus_text\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.telemetry.StatusText\"\'\n%SubscribeActuatorControlTargetRequest\"m\n\x1d\x41\x63tuatorControlTargetResponse\x12L\n\x17\x61\x63tuator_control_target\x18\x01 \x01(\x0b\x32+.mavsdk.rpc.telemetry.ActuatorControlTarget\"&\n$SubscribeActuatorOutputStatusRequest\"j\n\x1c\x41\x63tuatorOutputStatusResponse\x12J\n\x16\x61\x63tuator_output_status\x18\x01 \x01(\x0b\x32*.mavsdk.rpc.telemetry.ActuatorOutputStatus\"\x1a\n\x18SubscribeOdometryRequest\"D\n\x10OdometryResponse\x12\x30\n\x08odometry\x18\x01 \x01(\x0b\x32\x1e.mavsdk.rpc.telemetry.Odometry\"%\n#SubscribePositionVelocityNedRequest\"g\n\x1bPositionVelocityNedResponse\x12H\n\x15position_velocity_ned\x18\x01 \x01(\x0b\x32).mavsdk.rpc.telemetry.PositionVelocityNed\"\x1d\n\x1bSubscribeGroundTruthRequest\"N\n\x13GroundTruthResponse\x12\x37\n\x0cground_truth\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.telemetry.GroundTruth\"\"\n SubscribeFixedwingMetricsRequest\"]\n\x18\x46ixedwingMetricsResponse\x12\x41\n\x11\x66ixedwing_metrics\x18\x01 \x01(\x0b\x32&.mavsdk.rpc.telemetry.FixedwingMetrics\"\x15\n\x13SubscribeImuRequest\"5\n\x0bImuResponse\x12&\n\x03imu\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.telemetry.Imu\"\x1b\n\x19SubscribeScaledImuRequest\";\n\x11ScaledImuResponse\x12&\n\x03imu\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.telemetry.Imu\"\x18\n\x16SubscribeRawImuRequest\"8\n\x0eRawImuResponse\x12&\n\x03imu\x18\x01 \x01(\x0b\x32\x19.mavsdk.rpc.telemetry.Imu\"\x1d\n\x1bSubscribeHealthAllOkRequest\"/\n\x13HealthAllOkResponse\x12\x18\n\x10is_health_all_ok\x18\x01 \x01(\x08\"\x1f\n\x1dSubscribeUnixEpochTimeRequest\"(\n\x15UnixEpochTimeResponse\x12\x0f\n\x07time_us\x18\x01 \x01(\x04\" \n\x1eSubscribeDistanceSensorRequest\"W\n\x16\x44istanceSensorResponse\x12=\n\x0f\x64istance_sensor\x18\x01 \x01(\x0b\x32$.mavsdk.rpc.telemetry.DistanceSensor\" \n\x1eSubscribeScaledPressureRequest\"W\n\x16ScaledPressureResponse\x12=\n\x0fscaled_pressure\x18\x01 \x01(\x0b\x32$.mavsdk.rpc.telemetry.ScaledPressure\")\n\x16SetRatePositionRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"Z\n\x17SetRatePositionResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"%\n\x12SetRateHomeRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"V\n\x13SetRateHomeResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"&\n\x13SetRateInAirRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"W\n\x14SetRateInAirResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\",\n\x19SetRateLandedStateRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"]\n\x1aSetRateLandedStateResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\")\n\x16SetRateAttitudeRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"Z\n\x17SetRateAttitudeResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"<\n)SetRateAttitudeAngularVelocityBodyRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"m\n*SetRateAttitudeAngularVelocityBodyResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"9\n&SetRateCameraAttitudeQuaternionRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"j\n\'SetRateCameraAttitudeQuaternionResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"/\n\x1cSetRateCameraAttitudeRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"`\n\x1dSetRateCameraAttitudeResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\",\n\x19SetRateVelocityNedRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"]\n\x1aSetRateVelocityNedResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"(\n\x15SetRateGpsInfoRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"Y\n\x16SetRateGpsInfoResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"\'\n\x14SetRateRawGpsRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"(\n\x15SetRateBatteryRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"Y\n\x16SetRateBatteryResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\")\n\x16SetRateRcStatusRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"Z\n\x17SetRateRcStatusResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"6\n#SetRateActuatorControlTargetRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"g\n$SetRateActuatorControlTargetResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"5\n\"SetRateActuatorOutputStatusRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"f\n#SetRateActuatorOutputStatusResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\")\n\x16SetRateOdometryRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"Z\n\x17SetRateOdometryResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"4\n!SetRatePositionVelocityNedRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"e\n\"SetRatePositionVelocityNedResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\",\n\x19SetRateGroundTruthRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"]\n\x1aSetRateGroundTruthResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"1\n\x1eSetRateFixedwingMetricsRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"b\n\x1fSetRateFixedwingMetricsResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"$\n\x11SetRateImuRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"U\n\x12SetRateImuResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"*\n\x17SetRateScaledImuRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"[\n\x18SetRateScaledImuResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"\'\n\x14SetRateRawImuRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"X\n\x15SetRateRawImuResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\".\n\x1bSetRateUnixEpochTimeRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"_\n\x1cSetRateUnixEpochTimeResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"/\n\x1cSetRateDistanceSensorRequest\x12\x0f\n\x07rate_hz\x18\x01 \x01(\x01\"`\n\x1dSetRateDistanceSensorResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\"\x1b\n\x19GetGpsGlobalOriginRequest\"\x9f\x01\n\x1aGetGpsGlobalOriginResponse\x12?\n\x10telemetry_result\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.TelemetryResult\x12@\n\x11gps_global_origin\x18\x02 \x01(\x0b\x32%.mavsdk.rpc.telemetry.GpsGlobalOrigin\"\x95\x01\n\x08Position\x12\x1d\n\x0clatitude_deg\x18\x01 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12\x1e\n\rlongitude_deg\x18\x02 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12$\n\x13\x61\x62solute_altitude_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12$\n\x13relative_altitude_m\x18\x04 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"r\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\x12\x14\n\x0ctimestamp_us\x18\x05 \x01(\x04\"s\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\x12\x14\n\x0ctimestamp_us\x18\x04 \x01(\x04\"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\"Y\n\x07GpsInfo\x12\x1d\n\x0enum_satellites\x18\x01 \x01(\x05\x42\x05\x82\xb5\x18\x01\x30\x12/\n\x08\x66ix_type\x18\x02 \x01(\x0e\x32\x1d.mavsdk.rpc.telemetry.FixType\"\xdf\x02\n\x06RawGps\x12\x14\n\x0ctimestamp_us\x18\x01 \x01(\x04\x12\x14\n\x0clatitude_deg\x18\x02 \x01(\x01\x12\x15\n\rlongitude_deg\x18\x03 \x01(\x01\x12\x1b\n\x13\x61\x62solute_altitude_m\x18\x04 \x01(\x02\x12\x0c\n\x04hdop\x18\x05 \x01(\x02\x12\x0c\n\x04vdop\x18\x06 \x01(\x02\x12\x14\n\x0cvelocity_m_s\x18\x07 \x01(\x02\x12\x0f\n\x07\x63og_deg\x18\x08 \x01(\x02\x12\x1c\n\x14\x61ltitude_ellipsoid_m\x18\t \x01(\x02\x12 \n\x18horizontal_uncertainty_m\x18\n \x01(\x02\x12\x1e\n\x16vertical_uncertainty_m\x18\x0b \x01(\x02\x12 \n\x18velocity_uncertainty_m_s\x18\x0c \x01(\x02\x12\x1f\n\x17heading_uncertainty_deg\x18\r \x01(\x02\x12\x0f\n\x07yaw_deg\x18\x0e \x01(\x02\"\\\n\x07\x42\x61ttery\x12\x11\n\x02id\x18\x03 \x01(\rB\x05\x82\xb5\x18\x01\x30\x12\x1a\n\tvoltage_v\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\"\n\x11remaining_percent\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"\xb9\x02\n\x06Health\x12.\n\x1bis_gyrometer_calibration_ok\x18\x01 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12\x32\n\x1fis_accelerometer_calibration_ok\x18\x02 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12\x31\n\x1eis_magnetometer_calibration_ok\x18\x03 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12\'\n\x14is_local_position_ok\x18\x05 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12(\n\x15is_global_position_ok\x18\x06 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12&\n\x13is_home_position_ok\x18\x07 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12\x1d\n\nis_armable\x18\x08 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\"|\n\x08RcStatus\x12%\n\x12was_available_once\x18\x01 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12\x1f\n\x0cis_available\x18\x02 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12(\n\x17signal_strength_percent\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"N\n\nStatusText\x12\x32\n\x04type\x18\x01 \x01(\x0e\x32$.mavsdk.rpc.telemetry.StatusTextType\x12\x0c\n\x04text\x18\x02 \x01(\t\"?\n\x15\x41\x63tuatorControlTarget\x12\x14\n\x05group\x18\x01 \x01(\x05\x42\x05\x82\xb5\x18\x01\x30\x12\x10\n\x08\x63ontrols\x18\x02 \x03(\x02\"?\n\x14\x41\x63tuatorOutputStatus\x12\x15\n\x06\x61\x63tive\x18\x01 \x01(\rB\x05\x82\xb5\x18\x01\x30\x12\x10\n\x08\x61\x63tuator\x18\x02 \x03(\x02\"\'\n\nCovariance\x12\x19\n\x11\x63ovariance_matrix\x18\x01 \x03(\x02\";\n\x0cVelocityBody\x12\r\n\x05x_m_s\x18\x01 \x01(\x02\x12\r\n\x05y_m_s\x18\x02 \x01(\x02\x12\r\n\x05z_m_s\x18\x03 \x01(\x02\"5\n\x0cPositionBody\x12\x0b\n\x03x_m\x18\x01 \x01(\x02\x12\x0b\n\x03y_m\x18\x02 \x01(\x02\x12\x0b\n\x03z_m\x18\x03 \x01(\x02\"\xec\x04\n\x08Odometry\x12\x11\n\ttime_usec\x18\x01 \x01(\x04\x12\x39\n\x08\x66rame_id\x18\x02 \x01(\x0e\x32\'.mavsdk.rpc.telemetry.Odometry.MavFrame\x12?\n\x0e\x63hild_frame_id\x18\x03 \x01(\x0e\x32\'.mavsdk.rpc.telemetry.Odometry.MavFrame\x12\x39\n\rposition_body\x18\x04 \x01(\x0b\x32\".mavsdk.rpc.telemetry.PositionBody\x12+\n\x01q\x18\x05 \x01(\x0b\x32 .mavsdk.rpc.telemetry.Quaternion\x12\x39\n\rvelocity_body\x18\x06 \x01(\x0b\x32\".mavsdk.rpc.telemetry.VelocityBody\x12H\n\x15\x61ngular_velocity_body\x18\x07 \x01(\x0b\x32).mavsdk.rpc.telemetry.AngularVelocityBody\x12\x39\n\x0fpose_covariance\x18\x08 \x01(\x0b\x32 .mavsdk.rpc.telemetry.Covariance\x12=\n\x13velocity_covariance\x18\t \x01(\x0b\x32 .mavsdk.rpc.telemetry.Covariance\"j\n\x08MavFrame\x12\x13\n\x0fMAV_FRAME_UNDEF\x10\x00\x12\x16\n\x12MAV_FRAME_BODY_NED\x10\x08\x12\x18\n\x14MAV_FRAME_VISION_NED\x10\x10\x12\x17\n\x13MAV_FRAME_ESTIM_NED\x10\x12\"\x7f\n\x0e\x44istanceSensor\x12#\n\x12minimum_distance_m\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12#\n\x12maximum_distance_m\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12#\n\x12\x63urrent_distance_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"\xb0\x01\n\x0eScaledPressure\x12\x14\n\x0ctimestamp_us\x18\x01 \x01(\x04\x12\x1d\n\x15\x61\x62solute_pressure_hpa\x18\x02 \x01(\x02\x12!\n\x19\x64ifferential_pressure_hpa\x18\x03 \x01(\x02\x12\x17\n\x0ftemperature_deg\x18\x04 \x01(\x02\x12-\n%differential_pressure_temperature_deg\x18\x05 \x01(\x02\"Y\n\x0bPositionNed\x12\x18\n\x07north_m\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x17\n\x06\x65\x61st_m\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x17\n\x06\x64own_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"D\n\x0bVelocityNed\x12\x11\n\tnorth_m_s\x18\x01 \x01(\x02\x12\x10\n\x08\x65\x61st_m_s\x18\x02 \x01(\x02\x12\x10\n\x08\x64own_m_s\x18\x03 \x01(\x02\"\x7f\n\x13PositionVelocityNed\x12\x33\n\x08position\x18\x01 \x01(\x0b\x32!.mavsdk.rpc.telemetry.PositionNed\x12\x33\n\x08velocity\x18\x02 \x01(\x0b\x32!.mavsdk.rpc.telemetry.VelocityNed\"r\n\x0bGroundTruth\x12\x1d\n\x0clatitude_deg\x18\x01 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12\x1e\n\rlongitude_deg\x18\x02 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12$\n\x13\x61\x62solute_altitude_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"x\n\x10\x46ixedwingMetrics\x12\x1d\n\x0c\x61irspeed_m_s\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12$\n\x13throttle_percentage\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1f\n\x0e\x63limb_rate_m_s\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"i\n\x0f\x41\x63\x63\x65lerationFrd\x12\x1d\n\x0c\x66orward_m_s2\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1b\n\nright_m_s2\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1a\n\tdown_m_s2\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"o\n\x12\x41ngularVelocityFrd\x12\x1e\n\rforward_rad_s\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1c\n\x0bright_rad_s\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1b\n\ndown_rad_s\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"m\n\x10MagneticFieldFrd\x12\x1e\n\rforward_gauss\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1c\n\x0bright_gauss\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1b\n\ndown_gauss\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"\x8b\x02\n\x03Imu\x12?\n\x10\x61\x63\x63\x65leration_frd\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry.AccelerationFrd\x12\x46\n\x14\x61ngular_velocity_frd\x18\x02 \x01(\x0b\x32(.mavsdk.rpc.telemetry.AngularVelocityFrd\x12\x42\n\x12magnetic_field_frd\x18\x03 \x01(\x0b\x32&.mavsdk.rpc.telemetry.MagneticFieldFrd\x12!\n\x10temperature_degc\x18\x04 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x14\n\x0ctimestamp_us\x18\x05 \x01(\x04\"m\n\x0fGpsGlobalOrigin\x12\x1d\n\x0clatitude_deg\x18\x01 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12\x1e\n\rlongitude_deg\x18\x02 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12\x1b\n\naltitude_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"\xa1\x02\n\x0fTelemetryResult\x12<\n\x06result\x18\x01 \x01(\x0e\x32,.mavsdk.rpc.telemetry.TelemetryResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xbb\x01\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x02\x12\x1b\n\x17RESULT_CONNECTION_ERROR\x10\x03\x12\x0f\n\x0bRESULT_BUSY\x10\x04\x12\x19\n\x15RESULT_COMMAND_DENIED\x10\x05\x12\x12\n\x0eRESULT_TIMEOUT\x10\x06\x12\x16\n\x12RESULT_UNSUPPORTED\x10\x07*\xa4\x01\n\x07\x46ixType\x12\x13\n\x0f\x46IX_TYPE_NO_GPS\x10\x00\x12\x13\n\x0f\x46IX_TYPE_NO_FIX\x10\x01\x12\x13\n\x0f\x46IX_TYPE_FIX_2D\x10\x02\x12\x13\n\x0f\x46IX_TYPE_FIX_3D\x10\x03\x12\x15\n\x11\x46IX_TYPE_FIX_DGPS\x10\x04\x12\x16\n\x12\x46IX_TYPE_RTK_FLOAT\x10\x05\x12\x16\n\x12\x46IX_TYPE_RTK_FIXED\x10\x06*\x86\x03\n\nFlightMode\x12\x17\n\x13\x46LIGHT_MODE_UNKNOWN\x10\x00\x12\x15\n\x11\x46LIGHT_MODE_READY\x10\x01\x12\x17\n\x13\x46LIGHT_MODE_TAKEOFF\x10\x02\x12\x14\n\x10\x46LIGHT_MODE_HOLD\x10\x03\x12\x17\n\x13\x46LIGHT_MODE_MISSION\x10\x04\x12 \n\x1c\x46LIGHT_MODE_RETURN_TO_LAUNCH\x10\x05\x12\x14\n\x10\x46LIGHT_MODE_LAND\x10\x06\x12\x18\n\x14\x46LIGHT_MODE_OFFBOARD\x10\x07\x12\x19\n\x15\x46LIGHT_MODE_FOLLOW_ME\x10\x08\x12\x16\n\x12\x46LIGHT_MODE_MANUAL\x10\t\x12\x16\n\x12\x46LIGHT_MODE_ALTCTL\x10\n\x12\x16\n\x12\x46LIGHT_MODE_POSCTL\x10\x0b\x12\x14\n\x10\x46LIGHT_MODE_ACRO\x10\x0c\x12\x1a\n\x16\x46LIGHT_MODE_STABILIZED\x10\r\x12\x19\n\x15\x46LIGHT_MODE_RATTITUDE\x10\x0e*\xf9\x01\n\x0eStatusTextType\x12\x1a\n\x16STATUS_TEXT_TYPE_DEBUG\x10\x00\x12\x19\n\x15STATUS_TEXT_TYPE_INFO\x10\x01\x12\x1b\n\x17STATUS_TEXT_TYPE_NOTICE\x10\x02\x12\x1c\n\x18STATUS_TEXT_TYPE_WARNING\x10\x03\x12\x1a\n\x16STATUS_TEXT_TYPE_ERROR\x10\x04\x12\x1d\n\x19STATUS_TEXT_TYPE_CRITICAL\x10\x05\x12\x1a\n\x16STATUS_TEXT_TYPE_ALERT\x10\x06\x12\x1e\n\x1aSTATUS_TEXT_TYPE_EMERGENCY\x10\x07*\x93\x01\n\x0bLandedState\x12\x18\n\x14LANDED_STATE_UNKNOWN\x10\x00\x12\x1a\n\x16LANDED_STATE_ON_GROUND\x10\x01\x12\x17\n\x13LANDED_STATE_IN_AIR\x10\x02\x12\x1b\n\x17LANDED_STATE_TAKING_OFF\x10\x03\x12\x18\n\x14LANDED_STATE_LANDING\x10\x04\x32\xa7\x33\n\x10TelemetryService\x12o\n\x11SubscribePosition\x12..mavsdk.rpc.telemetry.SubscribePositionRequest\x1a&.mavsdk.rpc.telemetry.PositionResponse\"\x00\x30\x01\x12\x63\n\rSubscribeHome\x12*.mavsdk.rpc.telemetry.SubscribeHomeRequest\x1a\".mavsdk.rpc.telemetry.HomeResponse\"\x00\x30\x01\x12\x66\n\x0eSubscribeInAir\x12+.mavsdk.rpc.telemetry.SubscribeInAirRequest\x1a#.mavsdk.rpc.telemetry.InAirResponse\"\x00\x30\x01\x12x\n\x14SubscribeLandedState\x12\x31.mavsdk.rpc.telemetry.SubscribeLandedStateRequest\x1a).mavsdk.rpc.telemetry.LandedStateResponse\"\x00\x30\x01\x12\x66\n\x0eSubscribeArmed\x12+.mavsdk.rpc.telemetry.SubscribeArmedRequest\x1a#.mavsdk.rpc.telemetry.ArmedResponse\"\x00\x30\x01\x12\x8d\x01\n\x1bSubscribeAttitudeQuaternion\x12\x38.mavsdk.rpc.telemetry.SubscribeAttitudeQuaternionRequest\x1a\x30.mavsdk.rpc.telemetry.AttitudeQuaternionResponse\"\x00\x30\x01\x12~\n\x16SubscribeAttitudeEuler\x12\x33.mavsdk.rpc.telemetry.SubscribeAttitudeEulerRequest\x1a+.mavsdk.rpc.telemetry.AttitudeEulerResponse\"\x00\x30\x01\x12\xa8\x01\n$SubscribeAttitudeAngularVelocityBody\x12\x41.mavsdk.rpc.telemetry.SubscribeAttitudeAngularVelocityBodyRequest\x1a\x39.mavsdk.rpc.telemetry.AttitudeAngularVelocityBodyResponse\"\x00\x30\x01\x12\x9f\x01\n!SubscribeCameraAttitudeQuaternion\x12>.mavsdk.rpc.telemetry.SubscribeCameraAttitudeQuaternionRequest\x1a\x36.mavsdk.rpc.telemetry.CameraAttitudeQuaternionResponse\"\x00\x30\x01\x12\x90\x01\n\x1cSubscribeCameraAttitudeEuler\x12\x39.mavsdk.rpc.telemetry.SubscribeCameraAttitudeEulerRequest\x1a\x31.mavsdk.rpc.telemetry.CameraAttitudeEulerResponse\"\x00\x30\x01\x12x\n\x14SubscribeVelocityNed\x12\x31.mavsdk.rpc.telemetry.SubscribeVelocityNedRequest\x1a).mavsdk.rpc.telemetry.VelocityNedResponse\"\x00\x30\x01\x12l\n\x10SubscribeGpsInfo\x12-.mavsdk.rpc.telemetry.SubscribeGpsInfoRequest\x1a%.mavsdk.rpc.telemetry.GpsInfoResponse\"\x00\x30\x01\x12i\n\x0fSubscribeRawGps\x12,.mavsdk.rpc.telemetry.SubscribeRawGpsRequest\x1a$.mavsdk.rpc.telemetry.RawGpsResponse\"\x00\x30\x01\x12l\n\x10SubscribeBattery\x12-.mavsdk.rpc.telemetry.SubscribeBatteryRequest\x1a%.mavsdk.rpc.telemetry.BatteryResponse\"\x00\x30\x01\x12u\n\x13SubscribeFlightMode\x12\x30.mavsdk.rpc.telemetry.SubscribeFlightModeRequest\x1a(.mavsdk.rpc.telemetry.FlightModeResponse\"\x00\x30\x01\x12i\n\x0fSubscribeHealth\x12,.mavsdk.rpc.telemetry.SubscribeHealthRequest\x1a$.mavsdk.rpc.telemetry.HealthResponse\"\x00\x30\x01\x12o\n\x11SubscribeRcStatus\x12..mavsdk.rpc.telemetry.SubscribeRcStatusRequest\x1a&.mavsdk.rpc.telemetry.RcStatusResponse\"\x00\x30\x01\x12u\n\x13SubscribeStatusText\x12\x30.mavsdk.rpc.telemetry.SubscribeStatusTextRequest\x1a(.mavsdk.rpc.telemetry.StatusTextResponse\"\x00\x30\x01\x12\x96\x01\n\x1eSubscribeActuatorControlTarget\x12;.mavsdk.rpc.telemetry.SubscribeActuatorControlTargetRequest\x1a\x33.mavsdk.rpc.telemetry.ActuatorControlTargetResponse\"\x00\x30\x01\x12\x93\x01\n\x1dSubscribeActuatorOutputStatus\x12:.mavsdk.rpc.telemetry.SubscribeActuatorOutputStatusRequest\x1a\x32.mavsdk.rpc.telemetry.ActuatorOutputStatusResponse\"\x00\x30\x01\x12o\n\x11SubscribeOdometry\x12..mavsdk.rpc.telemetry.SubscribeOdometryRequest\x1a&.mavsdk.rpc.telemetry.OdometryResponse\"\x00\x30\x01\x12\x90\x01\n\x1cSubscribePositionVelocityNed\x12\x39.mavsdk.rpc.telemetry.SubscribePositionVelocityNedRequest\x1a\x31.mavsdk.rpc.telemetry.PositionVelocityNedResponse\"\x00\x30\x01\x12x\n\x14SubscribeGroundTruth\x12\x31.mavsdk.rpc.telemetry.SubscribeGroundTruthRequest\x1a).mavsdk.rpc.telemetry.GroundTruthResponse\"\x00\x30\x01\x12\x87\x01\n\x19SubscribeFixedwingMetrics\x12\x36.mavsdk.rpc.telemetry.SubscribeFixedwingMetricsRequest\x1a..mavsdk.rpc.telemetry.FixedwingMetricsResponse\"\x00\x30\x01\x12`\n\x0cSubscribeImu\x12).mavsdk.rpc.telemetry.SubscribeImuRequest\x1a!.mavsdk.rpc.telemetry.ImuResponse\"\x00\x30\x01\x12r\n\x12SubscribeScaledImu\x12/.mavsdk.rpc.telemetry.SubscribeScaledImuRequest\x1a\'.mavsdk.rpc.telemetry.ScaledImuResponse\"\x00\x30\x01\x12i\n\x0fSubscribeRawImu\x12,.mavsdk.rpc.telemetry.SubscribeRawImuRequest\x1a$.mavsdk.rpc.telemetry.RawImuResponse\"\x00\x30\x01\x12x\n\x14SubscribeHealthAllOk\x12\x31.mavsdk.rpc.telemetry.SubscribeHealthAllOkRequest\x1a).mavsdk.rpc.telemetry.HealthAllOkResponse\"\x00\x30\x01\x12~\n\x16SubscribeUnixEpochTime\x12\x33.mavsdk.rpc.telemetry.SubscribeUnixEpochTimeRequest\x1a+.mavsdk.rpc.telemetry.UnixEpochTimeResponse\"\x00\x30\x01\x12\x81\x01\n\x17SubscribeDistanceSensor\x12\x34.mavsdk.rpc.telemetry.SubscribeDistanceSensorRequest\x1a,.mavsdk.rpc.telemetry.DistanceSensorResponse\"\x00\x30\x01\x12\x81\x01\n\x17SubscribeScaledPressure\x12\x34.mavsdk.rpc.telemetry.SubscribeScaledPressureRequest\x1a,.mavsdk.rpc.telemetry.ScaledPressureResponse\"\x00\x30\x01\x12p\n\x0fSetRatePosition\x12,.mavsdk.rpc.telemetry.SetRatePositionRequest\x1a-.mavsdk.rpc.telemetry.SetRatePositionResponse\"\x00\x12\x64\n\x0bSetRateHome\x12(.mavsdk.rpc.telemetry.SetRateHomeRequest\x1a).mavsdk.rpc.telemetry.SetRateHomeResponse\"\x00\x12g\n\x0cSetRateInAir\x12).mavsdk.rpc.telemetry.SetRateInAirRequest\x1a*.mavsdk.rpc.telemetry.SetRateInAirResponse\"\x00\x12y\n\x12SetRateLandedState\x12/.mavsdk.rpc.telemetry.SetRateLandedStateRequest\x1a\x30.mavsdk.rpc.telemetry.SetRateLandedStateResponse\"\x00\x12p\n\x0fSetRateAttitude\x12,.mavsdk.rpc.telemetry.SetRateAttitudeRequest\x1a-.mavsdk.rpc.telemetry.SetRateAttitudeResponse\"\x00\x12\x82\x01\n\x15SetRateCameraAttitude\x12\x32.mavsdk.rpc.telemetry.SetRateCameraAttitudeRequest\x1a\x33.mavsdk.rpc.telemetry.SetRateCameraAttitudeResponse\"\x00\x12y\n\x12SetRateVelocityNed\x12/.mavsdk.rpc.telemetry.SetRateVelocityNedRequest\x1a\x30.mavsdk.rpc.telemetry.SetRateVelocityNedResponse\"\x00\x12m\n\x0eSetRateGpsInfo\x12+.mavsdk.rpc.telemetry.SetRateGpsInfoRequest\x1a,.mavsdk.rpc.telemetry.SetRateGpsInfoResponse\"\x00\x12m\n\x0eSetRateBattery\x12+.mavsdk.rpc.telemetry.SetRateBatteryRequest\x1a,.mavsdk.rpc.telemetry.SetRateBatteryResponse\"\x00\x12p\n\x0fSetRateRcStatus\x12,.mavsdk.rpc.telemetry.SetRateRcStatusRequest\x1a-.mavsdk.rpc.telemetry.SetRateRcStatusResponse\"\x00\x12\x97\x01\n\x1cSetRateActuatorControlTarget\x12\x39.mavsdk.rpc.telemetry.SetRateActuatorControlTargetRequest\x1a:.mavsdk.rpc.telemetry.SetRateActuatorControlTargetResponse\"\x00\x12\x94\x01\n\x1bSetRateActuatorOutputStatus\x12\x38.mavsdk.rpc.telemetry.SetRateActuatorOutputStatusRequest\x1a\x39.mavsdk.rpc.telemetry.SetRateActuatorOutputStatusResponse\"\x00\x12p\n\x0fSetRateOdometry\x12,.mavsdk.rpc.telemetry.SetRateOdometryRequest\x1a-.mavsdk.rpc.telemetry.SetRateOdometryResponse\"\x00\x12\x91\x01\n\x1aSetRatePositionVelocityNed\x12\x37.mavsdk.rpc.telemetry.SetRatePositionVelocityNedRequest\x1a\x38.mavsdk.rpc.telemetry.SetRatePositionVelocityNedResponse\"\x00\x12y\n\x12SetRateGroundTruth\x12/.mavsdk.rpc.telemetry.SetRateGroundTruthRequest\x1a\x30.mavsdk.rpc.telemetry.SetRateGroundTruthResponse\"\x00\x12\x88\x01\n\x17SetRateFixedwingMetrics\x12\x34.mavsdk.rpc.telemetry.SetRateFixedwingMetricsRequest\x1a\x35.mavsdk.rpc.telemetry.SetRateFixedwingMetricsResponse\"\x00\x12\x61\n\nSetRateImu\x12\'.mavsdk.rpc.telemetry.SetRateImuRequest\x1a(.mavsdk.rpc.telemetry.SetRateImuResponse\"\x00\x12s\n\x10SetRateScaledImu\x12-.mavsdk.rpc.telemetry.SetRateScaledImuRequest\x1a..mavsdk.rpc.telemetry.SetRateScaledImuResponse\"\x00\x12j\n\rSetRateRawImu\x12*.mavsdk.rpc.telemetry.SetRateRawImuRequest\x1a+.mavsdk.rpc.telemetry.SetRateRawImuResponse\"\x00\x12\x7f\n\x14SetRateUnixEpochTime\x12\x31.mavsdk.rpc.telemetry.SetRateUnixEpochTimeRequest\x1a\x32.mavsdk.rpc.telemetry.SetRateUnixEpochTimeResponse\"\x00\x12\x82\x01\n\x15SetRateDistanceSensor\x12\x32.mavsdk.rpc.telemetry.SetRateDistanceSensorRequest\x1a\x33.mavsdk.rpc.telemetry.SetRateDistanceSensorResponse\"\x00\x12y\n\x12GetGpsGlobalOrigin\x12/.mavsdk.rpc.telemetry.GetGpsGlobalOriginRequest\x1a\x30.mavsdk.rpc.telemetry.GetGpsGlobalOriginResponse\"\x00\x42%\n\x13io.mavsdk.telemetryB\x0eTelemetryProtob\x06proto3' , dependencies=[mavsdk__options__pb2.DESCRIPTOR,]) @@ -70,8 +70,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=11199, - serialized_end=11363, + serialized_start=11231, + serialized_end=11395, ) _sym_db.RegisterEnumDescriptor(_FIXTYPE) @@ -161,8 +161,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=11366, - serialized_end=11756, + serialized_start=11398, + serialized_end=11788, ) _sym_db.RegisterEnumDescriptor(_FLIGHTMODE) @@ -217,8 +217,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=11759, - serialized_end=12008, + serialized_start=11791, + serialized_end=12040, ) _sym_db.RegisterEnumDescriptor(_STATUSTEXTTYPE) @@ -258,8 +258,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=12011, - serialized_end=12158, + serialized_start=12043, + serialized_end=12190, ) _sym_db.RegisterEnumDescriptor(_LANDEDSTATE) @@ -331,8 +331,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=9274, - serialized_end=9380, + serialized_start=9282, + serialized_end=9388, ) _sym_db.RegisterEnumDescriptor(_ODOMETRY_MAVFRAME) @@ -378,11 +378,16 @@ serialized_options=None, type=None, create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_UNSUPPORTED', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, - serialized_start=11033, - serialized_end=11196, + serialized_start=11041, + serialized_end=11228, ) _sym_db.RegisterEnumDescriptor(_TELEMETRYRESULT_RESULT) @@ -4105,14 +4110,21 @@ create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='voltage_v', full_name='mavsdk.rpc.telemetry.Battery.voltage_v', index=0, + name='id', full_name='mavsdk.rpc.telemetry.Battery.id', index=0, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\0010', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='voltage_v', full_name='mavsdk.rpc.telemetry.Battery.voltage_v', index=1, number=1, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='remaining_percent', full_name='mavsdk.rpc.telemetry.Battery.remaining_percent', index=1, + name='remaining_percent', full_name='mavsdk.rpc.telemetry.Battery.remaining_percent', index=2, number=2, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, @@ -4131,7 +4143,7 @@ oneofs=[ ], serialized_start=7864, - serialized_end=7937, + serialized_end=7956, ) @@ -4165,29 +4177,29 @@ is_extension=False, extension_scope=None, serialized_options=b'\202\265\030\005false', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='is_level_calibration_ok', full_name='mavsdk.rpc.telemetry.Health.is_level_calibration_ok', index=3, - number=4, type=8, cpp_type=7, label=1, + name='is_local_position_ok', full_name='mavsdk.rpc.telemetry.Health.is_local_position_ok', index=3, + number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=b'\202\265\030\005false', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='is_local_position_ok', full_name='mavsdk.rpc.telemetry.Health.is_local_position_ok', index=4, - number=5, type=8, cpp_type=7, label=1, + name='is_global_position_ok', full_name='mavsdk.rpc.telemetry.Health.is_global_position_ok', index=4, + number=6, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=b'\202\265\030\005false', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='is_global_position_ok', full_name='mavsdk.rpc.telemetry.Health.is_global_position_ok', index=5, - number=6, type=8, cpp_type=7, label=1, + name='is_home_position_ok', full_name='mavsdk.rpc.telemetry.Health.is_home_position_ok', index=5, + number=7, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=b'\202\265\030\005false', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='is_home_position_ok', full_name='mavsdk.rpc.telemetry.Health.is_home_position_ok', index=6, - number=7, type=8, cpp_type=7, label=1, + name='is_armable', full_name='mavsdk.rpc.telemetry.Health.is_armable', index=6, + number=8, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -4204,8 +4216,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7940, - serialized_end=8266, + serialized_start=7959, + serialized_end=8272, ) @@ -4237,7 +4249,7 @@ has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=b'\202\265\030\0010', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -4250,8 +4262,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8268, - serialized_end=8390, + serialized_start=8274, + serialized_end=8398, ) @@ -4289,8 +4301,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8392, - serialized_end=8470, + serialized_start=8400, + serialized_end=8478, ) @@ -4328,8 +4340,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8472, - serialized_end=8535, + serialized_start=8480, + serialized_end=8543, ) @@ -4367,8 +4379,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8537, - serialized_end=8600, + serialized_start=8545, + serialized_end=8608, ) @@ -4399,8 +4411,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8602, - serialized_end=8641, + serialized_start=8610, + serialized_end=8649, ) @@ -4445,8 +4457,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8643, - serialized_end=8702, + serialized_start=8651, + serialized_end=8710, ) @@ -4491,8 +4503,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8704, - serialized_end=8757, + serialized_start=8712, + serialized_end=8765, ) @@ -4580,8 +4592,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8760, - serialized_end=9380, + serialized_start=8768, + serialized_end=9388, ) @@ -4626,8 +4638,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9382, - serialized_end=9509, + serialized_start=9390, + serialized_end=9517, ) @@ -4686,8 +4698,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9512, - serialized_end=9688, + serialized_start=9520, + serialized_end=9696, ) @@ -4732,8 +4744,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9690, - serialized_end=9779, + serialized_start=9698, + serialized_end=9787, ) @@ -4778,8 +4790,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9781, - serialized_end=9849, + serialized_start=9789, + serialized_end=9857, ) @@ -4817,8 +4829,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9851, - serialized_end=9978, + serialized_start=9859, + serialized_end=9986, ) @@ -4863,8 +4875,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9980, - serialized_end=10094, + serialized_start=9988, + serialized_end=10102, ) @@ -4909,8 +4921,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10096, - serialized_end=10216, + serialized_start=10104, + serialized_end=10224, ) @@ -4955,8 +4967,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10218, - serialized_end=10323, + serialized_start=10226, + serialized_end=10331, ) @@ -5001,8 +5013,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10325, - serialized_end=10436, + serialized_start=10333, + serialized_end=10444, ) @@ -5047,8 +5059,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10438, - serialized_end=10547, + serialized_start=10446, + serialized_end=10555, ) @@ -5107,8 +5119,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10550, - serialized_end=10817, + serialized_start=10558, + serialized_end=10825, ) @@ -5153,8 +5165,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10819, - serialized_end=10928, + serialized_start=10827, + serialized_end=10936, ) @@ -5193,8 +5205,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10931, - serialized_end=11196, + serialized_start=10939, + serialized_end=11228, ) _POSITIONRESPONSE.fields_by_name['position'].message_type = _POSITION @@ -6410,15 +6422,16 @@ _ANGULARVELOCITYBODY.fields_by_name['pitch_rad_s']._options = None _ANGULARVELOCITYBODY.fields_by_name['yaw_rad_s']._options = None _GPSINFO.fields_by_name['num_satellites']._options = None +_BATTERY.fields_by_name['id']._options = None _BATTERY.fields_by_name['voltage_v']._options = None _BATTERY.fields_by_name['remaining_percent']._options = None _HEALTH.fields_by_name['is_gyrometer_calibration_ok']._options = None _HEALTH.fields_by_name['is_accelerometer_calibration_ok']._options = None _HEALTH.fields_by_name['is_magnetometer_calibration_ok']._options = None -_HEALTH.fields_by_name['is_level_calibration_ok']._options = None _HEALTH.fields_by_name['is_local_position_ok']._options = None _HEALTH.fields_by_name['is_global_position_ok']._options = None _HEALTH.fields_by_name['is_home_position_ok']._options = None +_HEALTH.fields_by_name['is_armable']._options = None _RCSTATUS.fields_by_name['was_available_once']._options = None _RCSTATUS.fields_by_name['is_available']._options = None _RCSTATUS.fields_by_name['signal_strength_percent']._options = None @@ -6457,8 +6470,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=12161, - serialized_end=18728, + serialized_start=12193, + serialized_end=18760, methods=[ _descriptor.MethodDescriptor( name='SubscribePosition', diff --git a/mavsdk/telemetry_server.py b/mavsdk/telemetry_server.py new file mode 100644 index 00000000..817b7b37 --- /dev/null +++ b/mavsdk/telemetry_server.py @@ -0,0 +1,3871 @@ +# -*- coding: utf-8 -*- +# DO NOT EDIT! This file is auto-generated from +# https://github.com/mavlink/MAVSDK-Python/tree/main/other/templates/py +from ._base import AsyncBase +from . import telemetry_server_pb2, telemetry_server_pb2_grpc +from enum import Enum + + +class FixType(Enum): + """ + GPS fix type. + + Values + ------ + NO_GPS + No GPS connected + + NO_FIX + No position information, GPS is connected + + FIX_2D + 2D position + + FIX_3D + 3D position + + FIX_DGPS + DGPS/SBAS aided 3D position + + RTK_FLOAT + RTK float, 3D position + + RTK_FIXED + RTK Fixed, 3D position + + """ + + + NO_GPS = 0 + NO_FIX = 1 + FIX_2D = 2 + FIX_3D = 3 + FIX_DGPS = 4 + RTK_FLOAT = 5 + RTK_FIXED = 6 + + def translate_to_rpc(self): + if self == FixType.NO_GPS: + return telemetry_server_pb2.FIX_TYPE_NO_GPS + if self == FixType.NO_FIX: + return telemetry_server_pb2.FIX_TYPE_NO_FIX + if self == FixType.FIX_2D: + return telemetry_server_pb2.FIX_TYPE_FIX_2D + if self == FixType.FIX_3D: + return telemetry_server_pb2.FIX_TYPE_FIX_3D + if self == FixType.FIX_DGPS: + return telemetry_server_pb2.FIX_TYPE_FIX_DGPS + if self == FixType.RTK_FLOAT: + return telemetry_server_pb2.FIX_TYPE_RTK_FLOAT + if self == FixType.RTK_FIXED: + return telemetry_server_pb2.FIX_TYPE_RTK_FIXED + + @staticmethod + def translate_from_rpc(rpc_enum_value): + """ Parses a gRPC response """ + if rpc_enum_value == telemetry_server_pb2.FIX_TYPE_NO_GPS: + return FixType.NO_GPS + if rpc_enum_value == telemetry_server_pb2.FIX_TYPE_NO_FIX: + return FixType.NO_FIX + if rpc_enum_value == telemetry_server_pb2.FIX_TYPE_FIX_2D: + return FixType.FIX_2D + if rpc_enum_value == telemetry_server_pb2.FIX_TYPE_FIX_3D: + return FixType.FIX_3D + if rpc_enum_value == telemetry_server_pb2.FIX_TYPE_FIX_DGPS: + return FixType.FIX_DGPS + if rpc_enum_value == telemetry_server_pb2.FIX_TYPE_RTK_FLOAT: + return FixType.RTK_FLOAT + if rpc_enum_value == telemetry_server_pb2.FIX_TYPE_RTK_FIXED: + return FixType.RTK_FIXED + + def __str__(self): + return self.name + + +class FlightMode(Enum): + """ + Flight modes. + + For more information about flight modes, check out + https://docs.px4.io/master/en/config/flight_mode.html. + + Values + ------ + UNKNOWN + Mode not known + + READY + Armed and ready to take off + + TAKEOFF + Taking off + + HOLD + Holding (hovering in place (or circling for fixed-wing vehicles) + + MISSION + In mission + + RETURN_TO_LAUNCH + Returning to launch position (then landing) + + LAND + Landing + + OFFBOARD + In 'offboard' mode + + FOLLOW_ME + In 'follow-me' mode + + MANUAL + In 'Manual' mode + + ALTCTL + In 'Altitude Control' mode + + POSCTL + In 'Position Control' mode + + ACRO + In 'Acro' mode + + STABILIZED + In 'Stabilize' mode + + RATTITUDE + In 'Rattitude' mode + + """ + + + UNKNOWN = 0 + READY = 1 + TAKEOFF = 2 + HOLD = 3 + MISSION = 4 + RETURN_TO_LAUNCH = 5 + LAND = 6 + OFFBOARD = 7 + FOLLOW_ME = 8 + MANUAL = 9 + ALTCTL = 10 + POSCTL = 11 + ACRO = 12 + STABILIZED = 13 + RATTITUDE = 14 + + def translate_to_rpc(self): + if self == FlightMode.UNKNOWN: + return telemetry_server_pb2.FLIGHT_MODE_UNKNOWN + if self == FlightMode.READY: + return telemetry_server_pb2.FLIGHT_MODE_READY + if self == FlightMode.TAKEOFF: + return telemetry_server_pb2.FLIGHT_MODE_TAKEOFF + if self == FlightMode.HOLD: + return telemetry_server_pb2.FLIGHT_MODE_HOLD + if self == FlightMode.MISSION: + return telemetry_server_pb2.FLIGHT_MODE_MISSION + if self == FlightMode.RETURN_TO_LAUNCH: + return telemetry_server_pb2.FLIGHT_MODE_RETURN_TO_LAUNCH + if self == FlightMode.LAND: + return telemetry_server_pb2.FLIGHT_MODE_LAND + if self == FlightMode.OFFBOARD: + return telemetry_server_pb2.FLIGHT_MODE_OFFBOARD + if self == FlightMode.FOLLOW_ME: + return telemetry_server_pb2.FLIGHT_MODE_FOLLOW_ME + if self == FlightMode.MANUAL: + return telemetry_server_pb2.FLIGHT_MODE_MANUAL + if self == FlightMode.ALTCTL: + return telemetry_server_pb2.FLIGHT_MODE_ALTCTL + if self == FlightMode.POSCTL: + return telemetry_server_pb2.FLIGHT_MODE_POSCTL + if self == FlightMode.ACRO: + return telemetry_server_pb2.FLIGHT_MODE_ACRO + if self == FlightMode.STABILIZED: + return telemetry_server_pb2.FLIGHT_MODE_STABILIZED + if self == FlightMode.RATTITUDE: + return telemetry_server_pb2.FLIGHT_MODE_RATTITUDE + + @staticmethod + def translate_from_rpc(rpc_enum_value): + """ Parses a gRPC response """ + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_UNKNOWN: + return FlightMode.UNKNOWN + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_READY: + return FlightMode.READY + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_TAKEOFF: + return FlightMode.TAKEOFF + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_HOLD: + return FlightMode.HOLD + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_MISSION: + return FlightMode.MISSION + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_RETURN_TO_LAUNCH: + return FlightMode.RETURN_TO_LAUNCH + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_LAND: + return FlightMode.LAND + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_OFFBOARD: + return FlightMode.OFFBOARD + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_FOLLOW_ME: + return FlightMode.FOLLOW_ME + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_MANUAL: + return FlightMode.MANUAL + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_ALTCTL: + return FlightMode.ALTCTL + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_POSCTL: + return FlightMode.POSCTL + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_ACRO: + return FlightMode.ACRO + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_STABILIZED: + return FlightMode.STABILIZED + if rpc_enum_value == telemetry_server_pb2.FLIGHT_MODE_RATTITUDE: + return FlightMode.RATTITUDE + + def __str__(self): + return self.name + + +class StatusTextType(Enum): + """ + Status types. + + Values + ------ + DEBUG + Debug + + INFO + Information + + NOTICE + Notice + + WARNING + Warning + + ERROR + Error + + CRITICAL + Critical + + ALERT + Alert + + EMERGENCY + Emergency + + """ + + + DEBUG = 0 + INFO = 1 + NOTICE = 2 + WARNING = 3 + ERROR = 4 + CRITICAL = 5 + ALERT = 6 + EMERGENCY = 7 + + def translate_to_rpc(self): + if self == StatusTextType.DEBUG: + return telemetry_server_pb2.STATUS_TEXT_TYPE_DEBUG + if self == StatusTextType.INFO: + return telemetry_server_pb2.STATUS_TEXT_TYPE_INFO + if self == StatusTextType.NOTICE: + return telemetry_server_pb2.STATUS_TEXT_TYPE_NOTICE + if self == StatusTextType.WARNING: + return telemetry_server_pb2.STATUS_TEXT_TYPE_WARNING + if self == StatusTextType.ERROR: + return telemetry_server_pb2.STATUS_TEXT_TYPE_ERROR + if self == StatusTextType.CRITICAL: + return telemetry_server_pb2.STATUS_TEXT_TYPE_CRITICAL + if self == StatusTextType.ALERT: + return telemetry_server_pb2.STATUS_TEXT_TYPE_ALERT + if self == StatusTextType.EMERGENCY: + return telemetry_server_pb2.STATUS_TEXT_TYPE_EMERGENCY + + @staticmethod + def translate_from_rpc(rpc_enum_value): + """ Parses a gRPC response """ + if rpc_enum_value == telemetry_server_pb2.STATUS_TEXT_TYPE_DEBUG: + return StatusTextType.DEBUG + if rpc_enum_value == telemetry_server_pb2.STATUS_TEXT_TYPE_INFO: + return StatusTextType.INFO + if rpc_enum_value == telemetry_server_pb2.STATUS_TEXT_TYPE_NOTICE: + return StatusTextType.NOTICE + if rpc_enum_value == telemetry_server_pb2.STATUS_TEXT_TYPE_WARNING: + return StatusTextType.WARNING + if rpc_enum_value == telemetry_server_pb2.STATUS_TEXT_TYPE_ERROR: + return StatusTextType.ERROR + if rpc_enum_value == telemetry_server_pb2.STATUS_TEXT_TYPE_CRITICAL: + return StatusTextType.CRITICAL + if rpc_enum_value == telemetry_server_pb2.STATUS_TEXT_TYPE_ALERT: + return StatusTextType.ALERT + if rpc_enum_value == telemetry_server_pb2.STATUS_TEXT_TYPE_EMERGENCY: + return StatusTextType.EMERGENCY + + def __str__(self): + return self.name + + +class LandedState(Enum): + """ + Landed State enumeration. + + Values + ------ + UNKNOWN + Landed state is unknown + + ON_GROUND + The vehicle is on the ground + + IN_AIR + The vehicle is in the air + + TAKING_OFF + The vehicle is taking off + + LANDING + The vehicle is landing + + """ + + + UNKNOWN = 0 + ON_GROUND = 1 + IN_AIR = 2 + TAKING_OFF = 3 + LANDING = 4 + + def translate_to_rpc(self): + if self == LandedState.UNKNOWN: + return telemetry_server_pb2.LANDED_STATE_UNKNOWN + if self == LandedState.ON_GROUND: + return telemetry_server_pb2.LANDED_STATE_ON_GROUND + if self == LandedState.IN_AIR: + return telemetry_server_pb2.LANDED_STATE_IN_AIR + if self == LandedState.TAKING_OFF: + return telemetry_server_pb2.LANDED_STATE_TAKING_OFF + if self == LandedState.LANDING: + return telemetry_server_pb2.LANDED_STATE_LANDING + + @staticmethod + def translate_from_rpc(rpc_enum_value): + """ Parses a gRPC response """ + if rpc_enum_value == telemetry_server_pb2.LANDED_STATE_UNKNOWN: + return LandedState.UNKNOWN + if rpc_enum_value == telemetry_server_pb2.LANDED_STATE_ON_GROUND: + return LandedState.ON_GROUND + if rpc_enum_value == telemetry_server_pb2.LANDED_STATE_IN_AIR: + return LandedState.IN_AIR + if rpc_enum_value == telemetry_server_pb2.LANDED_STATE_TAKING_OFF: + return LandedState.TAKING_OFF + if rpc_enum_value == telemetry_server_pb2.LANDED_STATE_LANDING: + return LandedState.LANDING + + def __str__(self): + return self.name + + +class Position: + """ + Position type in global coordinates. + + Parameters + ---------- + latitude_deg : double + Latitude in degrees (range: -90 to +90) + + longitude_deg : double + Longitude in degrees (range: -180 to +180) + + absolute_altitude_m : float + Altitude AMSL (above mean sea level) in metres + + relative_altitude_m : float + Altitude relative to takeoff altitude in metres + + """ + + + + def __init__( + self, + latitude_deg, + longitude_deg, + absolute_altitude_m, + relative_altitude_m): + """ Initializes the Position object """ + self.latitude_deg = latitude_deg + self.longitude_deg = longitude_deg + self.absolute_altitude_m = absolute_altitude_m + self.relative_altitude_m = relative_altitude_m + + def __equals__(self, to_compare): + """ Checks if two Position are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # Position object + return \ + (self.latitude_deg == to_compare.latitude_deg) and \ + (self.longitude_deg == to_compare.longitude_deg) and \ + (self.absolute_altitude_m == to_compare.absolute_altitude_m) and \ + (self.relative_altitude_m == to_compare.relative_altitude_m) + + except AttributeError: + return False + + def __str__(self): + """ Position in string representation """ + struct_repr = ", ".join([ + "latitude_deg: " + str(self.latitude_deg), + "longitude_deg: " + str(self.longitude_deg), + "absolute_altitude_m: " + str(self.absolute_altitude_m), + "relative_altitude_m: " + str(self.relative_altitude_m) + ]) + + return f"Position: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcPosition): + """ Translates a gRPC struct to the SDK equivalent """ + return Position( + + rpcPosition.latitude_deg, + + + rpcPosition.longitude_deg, + + + rpcPosition.absolute_altitude_m, + + + rpcPosition.relative_altitude_m + ) + + def translate_to_rpc(self, rpcPosition): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcPosition.latitude_deg = self.latitude_deg + + + + + + rpcPosition.longitude_deg = self.longitude_deg + + + + + + rpcPosition.absolute_altitude_m = self.absolute_altitude_m + + + + + + rpcPosition.relative_altitude_m = self.relative_altitude_m + + + + + +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 + + timestamp_us : uint64_t + Timestamp in microseconds + + """ + + + + def __init__( + self, + w, + x, + y, + z, + timestamp_us): + """ Initializes the Quaternion object """ + self.w = w + self.x = x + self.y = y + self.z = z + self.timestamp_us = timestamp_us + + def __equals__(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) and \ + (self.timestamp_us == to_compare.timestamp_us) + + 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), + "timestamp_us: " + str(self.timestamp_us) + ]) + + 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, + + + rpcQuaternion.timestamp_us + ) + + 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 + + + + + + rpcQuaternion.timestamp_us = self.timestamp_us + + + + + +class EulerAngle: + """ + Euler angle type. + + All rotations and axis systems follow the right-hand rule. + The Euler angles follow the convention of a 3-2-1 intrinsic Tait-Bryan rotation sequence. + + 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 + + timestamp_us : uint64_t + Timestamp in microseconds + + """ + + + + def __init__( + self, + roll_deg, + pitch_deg, + yaw_deg, + timestamp_us): + """ Initializes the EulerAngle object """ + self.roll_deg = roll_deg + self.pitch_deg = pitch_deg + self.yaw_deg = yaw_deg + self.timestamp_us = timestamp_us + + def __equals__(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) and \ + (self.timestamp_us == to_compare.timestamp_us) + + 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), + "timestamp_us: " + str(self.timestamp_us) + ]) + + 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, + + + rpcEulerAngle.timestamp_us + ) + + 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 + + + + + + rpcEulerAngle.timestamp_us = self.timestamp_us + + + + + +class AngularVelocityBody: + """ + Angular velocity 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 __equals__(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 GpsInfo: + """ + GPS information type. + + Parameters + ---------- + num_satellites : int32_t + Number of visible satellites in use + + fix_type : FixType + Fix type + + """ + + + + def __init__( + self, + num_satellites, + fix_type): + """ Initializes the GpsInfo object """ + self.num_satellites = num_satellites + self.fix_type = fix_type + + def __equals__(self, to_compare): + """ Checks if two GpsInfo are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # GpsInfo object + return \ + (self.num_satellites == to_compare.num_satellites) and \ + (self.fix_type == to_compare.fix_type) + + except AttributeError: + return False + + def __str__(self): + """ GpsInfo in string representation """ + struct_repr = ", ".join([ + "num_satellites: " + str(self.num_satellites), + "fix_type: " + str(self.fix_type) + ]) + + return f"GpsInfo: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcGpsInfo): + """ Translates a gRPC struct to the SDK equivalent """ + return GpsInfo( + + rpcGpsInfo.num_satellites, + + + FixType.translate_from_rpc(rpcGpsInfo.fix_type) + ) + + def translate_to_rpc(self, rpcGpsInfo): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcGpsInfo.num_satellites = self.num_satellites + + + + + + rpcGpsInfo.fix_type = self.fix_type.translate_to_rpc() + + + + + +class RawGps: + """ + Raw GPS information type. + + Warning: this is an advanced type! If you want the location of the drone, use + the position instead. This message exposes the raw values of the GNSS sensor. + + Parameters + ---------- + timestamp_us : uint64_t + Timestamp in microseconds (UNIX Epoch time or time since system boot, to be inferred) + + latitude_deg : double + Latitude in degrees (WGS84, EGM96 ellipsoid) + + longitude_deg : double + Longitude in degrees (WGS84, EGM96 ellipsoid) + + absolute_altitude_m : float + Altitude AMSL (above mean sea level) in metres + + hdop : float + GPS HDOP horizontal dilution of position (unitless). If unknown, set to NaN + + vdop : float + GPS VDOP vertical dilution of position (unitless). If unknown, set to NaN + + velocity_m_s : float + Ground velocity in metres per second + + cog_deg : float + Course over ground (NOT heading, but direction of movement) in degrees. If unknown, set to NaN + + altitude_ellipsoid_m : float + Altitude in metres (above WGS84, EGM96 ellipsoid) + + horizontal_uncertainty_m : float + Position uncertainty in metres + + vertical_uncertainty_m : float + Altitude uncertainty in metres + + velocity_uncertainty_m_s : float + Velocity uncertainty in metres per second + + heading_uncertainty_deg : float + Heading uncertainty in degrees + + yaw_deg : float + Yaw in earth frame from north. + + """ + + + + def __init__( + self, + timestamp_us, + latitude_deg, + longitude_deg, + absolute_altitude_m, + hdop, + vdop, + velocity_m_s, + cog_deg, + altitude_ellipsoid_m, + horizontal_uncertainty_m, + vertical_uncertainty_m, + velocity_uncertainty_m_s, + heading_uncertainty_deg, + yaw_deg): + """ Initializes the RawGps object """ + self.timestamp_us = timestamp_us + self.latitude_deg = latitude_deg + self.longitude_deg = longitude_deg + self.absolute_altitude_m = absolute_altitude_m + self.hdop = hdop + self.vdop = vdop + self.velocity_m_s = velocity_m_s + self.cog_deg = cog_deg + self.altitude_ellipsoid_m = altitude_ellipsoid_m + self.horizontal_uncertainty_m = horizontal_uncertainty_m + self.vertical_uncertainty_m = vertical_uncertainty_m + self.velocity_uncertainty_m_s = velocity_uncertainty_m_s + self.heading_uncertainty_deg = heading_uncertainty_deg + self.yaw_deg = yaw_deg + + def __equals__(self, to_compare): + """ Checks if two RawGps are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # RawGps object + return \ + (self.timestamp_us == to_compare.timestamp_us) and \ + (self.latitude_deg == to_compare.latitude_deg) and \ + (self.longitude_deg == to_compare.longitude_deg) and \ + (self.absolute_altitude_m == to_compare.absolute_altitude_m) and \ + (self.hdop == to_compare.hdop) and \ + (self.vdop == to_compare.vdop) and \ + (self.velocity_m_s == to_compare.velocity_m_s) and \ + (self.cog_deg == to_compare.cog_deg) and \ + (self.altitude_ellipsoid_m == to_compare.altitude_ellipsoid_m) and \ + (self.horizontal_uncertainty_m == to_compare.horizontal_uncertainty_m) and \ + (self.vertical_uncertainty_m == to_compare.vertical_uncertainty_m) and \ + (self.velocity_uncertainty_m_s == to_compare.velocity_uncertainty_m_s) and \ + (self.heading_uncertainty_deg == to_compare.heading_uncertainty_deg) and \ + (self.yaw_deg == to_compare.yaw_deg) + + except AttributeError: + return False + + def __str__(self): + """ RawGps in string representation """ + struct_repr = ", ".join([ + "timestamp_us: " + str(self.timestamp_us), + "latitude_deg: " + str(self.latitude_deg), + "longitude_deg: " + str(self.longitude_deg), + "absolute_altitude_m: " + str(self.absolute_altitude_m), + "hdop: " + str(self.hdop), + "vdop: " + str(self.vdop), + "velocity_m_s: " + str(self.velocity_m_s), + "cog_deg: " + str(self.cog_deg), + "altitude_ellipsoid_m: " + str(self.altitude_ellipsoid_m), + "horizontal_uncertainty_m: " + str(self.horizontal_uncertainty_m), + "vertical_uncertainty_m: " + str(self.vertical_uncertainty_m), + "velocity_uncertainty_m_s: " + str(self.velocity_uncertainty_m_s), + "heading_uncertainty_deg: " + str(self.heading_uncertainty_deg), + "yaw_deg: " + str(self.yaw_deg) + ]) + + return f"RawGps: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcRawGps): + """ Translates a gRPC struct to the SDK equivalent """ + return RawGps( + + rpcRawGps.timestamp_us, + + + rpcRawGps.latitude_deg, + + + rpcRawGps.longitude_deg, + + + rpcRawGps.absolute_altitude_m, + + + rpcRawGps.hdop, + + + rpcRawGps.vdop, + + + rpcRawGps.velocity_m_s, + + + rpcRawGps.cog_deg, + + + rpcRawGps.altitude_ellipsoid_m, + + + rpcRawGps.horizontal_uncertainty_m, + + + rpcRawGps.vertical_uncertainty_m, + + + rpcRawGps.velocity_uncertainty_m_s, + + + rpcRawGps.heading_uncertainty_deg, + + + rpcRawGps.yaw_deg + ) + + def translate_to_rpc(self, rpcRawGps): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcRawGps.timestamp_us = self.timestamp_us + + + + + + rpcRawGps.latitude_deg = self.latitude_deg + + + + + + rpcRawGps.longitude_deg = self.longitude_deg + + + + + + rpcRawGps.absolute_altitude_m = self.absolute_altitude_m + + + + + + rpcRawGps.hdop = self.hdop + + + + + + rpcRawGps.vdop = self.vdop + + + + + + rpcRawGps.velocity_m_s = self.velocity_m_s + + + + + + rpcRawGps.cog_deg = self.cog_deg + + + + + + rpcRawGps.altitude_ellipsoid_m = self.altitude_ellipsoid_m + + + + + + rpcRawGps.horizontal_uncertainty_m = self.horizontal_uncertainty_m + + + + + + rpcRawGps.vertical_uncertainty_m = self.vertical_uncertainty_m + + + + + + rpcRawGps.velocity_uncertainty_m_s = self.velocity_uncertainty_m_s + + + + + + rpcRawGps.heading_uncertainty_deg = self.heading_uncertainty_deg + + + + + + rpcRawGps.yaw_deg = self.yaw_deg + + + + + +class Battery: + """ + Battery type. + + Parameters + ---------- + voltage_v : float + Voltage in volts + + remaining_percent : float + Estimated battery remaining (range: 0.0 to 1.0) + + """ + + + + def __init__( + self, + voltage_v, + remaining_percent): + """ Initializes the Battery object """ + self.voltage_v = voltage_v + self.remaining_percent = remaining_percent + + def __equals__(self, to_compare): + """ Checks if two Battery are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # Battery object + return \ + (self.voltage_v == to_compare.voltage_v) and \ + (self.remaining_percent == to_compare.remaining_percent) + + except AttributeError: + return False + + def __str__(self): + """ Battery in string representation """ + struct_repr = ", ".join([ + "voltage_v: " + str(self.voltage_v), + "remaining_percent: " + str(self.remaining_percent) + ]) + + return f"Battery: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcBattery): + """ Translates a gRPC struct to the SDK equivalent """ + return Battery( + + rpcBattery.voltage_v, + + + rpcBattery.remaining_percent + ) + + def translate_to_rpc(self, rpcBattery): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcBattery.voltage_v = self.voltage_v + + + + + + rpcBattery.remaining_percent = self.remaining_percent + + + + + +class Health: + """ + Health type. + + Parameters + ---------- + is_gyrometer_calibration_ok : bool + True if the gyrometer is calibrated + + is_accelerometer_calibration_ok : bool + True if the accelerometer is calibrated + + is_magnetometer_calibration_ok : bool + True if the magnetometer is calibrated + + is_local_position_ok : bool + True if the local position estimate is good enough to fly in 'position control' mode + + is_global_position_ok : bool + True if the global position estimate is good enough to fly in 'position control' mode + + is_home_position_ok : bool + True if the home position has been initialized properly + + is_armable : bool + True if system can be armed + + """ + + + + def __init__( + self, + is_gyrometer_calibration_ok, + is_accelerometer_calibration_ok, + is_magnetometer_calibration_ok, + is_local_position_ok, + is_global_position_ok, + is_home_position_ok, + is_armable): + """ Initializes the Health object """ + self.is_gyrometer_calibration_ok = is_gyrometer_calibration_ok + self.is_accelerometer_calibration_ok = is_accelerometer_calibration_ok + self.is_magnetometer_calibration_ok = is_magnetometer_calibration_ok + self.is_local_position_ok = is_local_position_ok + self.is_global_position_ok = is_global_position_ok + self.is_home_position_ok = is_home_position_ok + self.is_armable = is_armable + + def __equals__(self, to_compare): + """ Checks if two Health are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # Health object + return \ + (self.is_gyrometer_calibration_ok == to_compare.is_gyrometer_calibration_ok) and \ + (self.is_accelerometer_calibration_ok == to_compare.is_accelerometer_calibration_ok) and \ + (self.is_magnetometer_calibration_ok == to_compare.is_magnetometer_calibration_ok) and \ + (self.is_local_position_ok == to_compare.is_local_position_ok) and \ + (self.is_global_position_ok == to_compare.is_global_position_ok) and \ + (self.is_home_position_ok == to_compare.is_home_position_ok) and \ + (self.is_armable == to_compare.is_armable) + + except AttributeError: + return False + + def __str__(self): + """ Health in string representation """ + struct_repr = ", ".join([ + "is_gyrometer_calibration_ok: " + str(self.is_gyrometer_calibration_ok), + "is_accelerometer_calibration_ok: " + str(self.is_accelerometer_calibration_ok), + "is_magnetometer_calibration_ok: " + str(self.is_magnetometer_calibration_ok), + "is_local_position_ok: " + str(self.is_local_position_ok), + "is_global_position_ok: " + str(self.is_global_position_ok), + "is_home_position_ok: " + str(self.is_home_position_ok), + "is_armable: " + str(self.is_armable) + ]) + + return f"Health: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcHealth): + """ Translates a gRPC struct to the SDK equivalent """ + return Health( + + rpcHealth.is_gyrometer_calibration_ok, + + + rpcHealth.is_accelerometer_calibration_ok, + + + rpcHealth.is_magnetometer_calibration_ok, + + + rpcHealth.is_local_position_ok, + + + rpcHealth.is_global_position_ok, + + + rpcHealth.is_home_position_ok, + + + rpcHealth.is_armable + ) + + def translate_to_rpc(self, rpcHealth): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcHealth.is_gyrometer_calibration_ok = self.is_gyrometer_calibration_ok + + + + + + rpcHealth.is_accelerometer_calibration_ok = self.is_accelerometer_calibration_ok + + + + + + rpcHealth.is_magnetometer_calibration_ok = self.is_magnetometer_calibration_ok + + + + + + rpcHealth.is_local_position_ok = self.is_local_position_ok + + + + + + rpcHealth.is_global_position_ok = self.is_global_position_ok + + + + + + rpcHealth.is_home_position_ok = self.is_home_position_ok + + + + + + rpcHealth.is_armable = self.is_armable + + + + + +class RcStatus: + """ + Remote control status type. + + Parameters + ---------- + was_available_once : bool + True if an RC signal has been available once + + is_available : bool + True if the RC signal is available now + + signal_strength_percent : float + Signal strength (range: 0 to 100, NaN if unknown) + + """ + + + + def __init__( + self, + was_available_once, + is_available, + signal_strength_percent): + """ Initializes the RcStatus object """ + self.was_available_once = was_available_once + self.is_available = is_available + self.signal_strength_percent = signal_strength_percent + + def __equals__(self, to_compare): + """ Checks if two RcStatus are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # RcStatus object + return \ + (self.was_available_once == to_compare.was_available_once) and \ + (self.is_available == to_compare.is_available) and \ + (self.signal_strength_percent == to_compare.signal_strength_percent) + + except AttributeError: + return False + + def __str__(self): + """ RcStatus in string representation """ + struct_repr = ", ".join([ + "was_available_once: " + str(self.was_available_once), + "is_available: " + str(self.is_available), + "signal_strength_percent: " + str(self.signal_strength_percent) + ]) + + return f"RcStatus: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcRcStatus): + """ Translates a gRPC struct to the SDK equivalent """ + return RcStatus( + + rpcRcStatus.was_available_once, + + + rpcRcStatus.is_available, + + + rpcRcStatus.signal_strength_percent + ) + + def translate_to_rpc(self, rpcRcStatus): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcRcStatus.was_available_once = self.was_available_once + + + + + + rpcRcStatus.is_available = self.is_available + + + + + + rpcRcStatus.signal_strength_percent = self.signal_strength_percent + + + + + +class StatusText: + """ + StatusText information type. + + Parameters + ---------- + type : StatusTextType + Message type + + text : std::string + MAVLink status message + + """ + + + + def __init__( + self, + type, + text): + """ Initializes the StatusText object """ + self.type = type + self.text = text + + def __equals__(self, to_compare): + """ Checks if two StatusText are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # StatusText object + return \ + (self.type == to_compare.type) and \ + (self.text == to_compare.text) + + except AttributeError: + return False + + def __str__(self): + """ StatusText in string representation """ + struct_repr = ", ".join([ + "type: " + str(self.type), + "text: " + str(self.text) + ]) + + return f"StatusText: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcStatusText): + """ Translates a gRPC struct to the SDK equivalent """ + return StatusText( + + StatusTextType.translate_from_rpc(rpcStatusText.type), + + + rpcStatusText.text + ) + + def translate_to_rpc(self, rpcStatusText): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcStatusText.type = self.type.translate_to_rpc() + + + + + + rpcStatusText.text = self.text + + + + + +class ActuatorControlTarget: + """ + Actuator control target type. + + Parameters + ---------- + group : int32_t + An actuator control group is e.g. 'attitude' for the core flight controls, or 'gimbal' for a payload. + + controls : [float] + Controls normed from -1 to 1, where 0 is neutral position. + + """ + + + + def __init__( + self, + group, + controls): + """ Initializes the ActuatorControlTarget object """ + self.group = group + self.controls = controls + + def __equals__(self, to_compare): + """ Checks if two ActuatorControlTarget are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # ActuatorControlTarget object + return \ + (self.group == to_compare.group) and \ + (self.controls == to_compare.controls) + + except AttributeError: + return False + + def __str__(self): + """ ActuatorControlTarget in string representation """ + struct_repr = ", ".join([ + "group: " + str(self.group), + "controls: " + str(self.controls) + ]) + + return f"ActuatorControlTarget: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcActuatorControlTarget): + """ Translates a gRPC struct to the SDK equivalent """ + return ActuatorControlTarget( + + rpcActuatorControlTarget.group, + + + rpcActuatorControlTarget.controls + ) + + def translate_to_rpc(self, rpcActuatorControlTarget): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcActuatorControlTarget.group = self.group + + + + + + for elem in self.controls: + rpcActuatorControlTarget.controls.append(elem) + + + + + +class ActuatorOutputStatus: + """ + Actuator output status type. + + Parameters + ---------- + active : uint32_t + Active outputs + + actuator : [float] + Servo/motor output values + + """ + + + + def __init__( + self, + active, + actuator): + """ Initializes the ActuatorOutputStatus object """ + self.active = active + self.actuator = actuator + + def __equals__(self, to_compare): + """ Checks if two ActuatorOutputStatus are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # ActuatorOutputStatus object + return \ + (self.active == to_compare.active) and \ + (self.actuator == to_compare.actuator) + + except AttributeError: + return False + + def __str__(self): + """ ActuatorOutputStatus in string representation """ + struct_repr = ", ".join([ + "active: " + str(self.active), + "actuator: " + str(self.actuator) + ]) + + return f"ActuatorOutputStatus: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcActuatorOutputStatus): + """ Translates a gRPC struct to the SDK equivalent """ + return ActuatorOutputStatus( + + rpcActuatorOutputStatus.active, + + + rpcActuatorOutputStatus.actuator + ) + + def translate_to_rpc(self, rpcActuatorOutputStatus): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcActuatorOutputStatus.active = self.active + + + + + + for elem in self.actuator: + rpcActuatorOutputStatus.actuator.append(elem) + + + + + +class Covariance: + """ + Covariance type. + + Row-major representation of a 6x6 cross-covariance matrix + upper right triangle. + Set first to NaN if unknown. + + Parameters + ---------- + covariance_matrix : [float] + Representation of a covariance matrix. + + """ + + + + def __init__( + self, + covariance_matrix): + """ Initializes the Covariance object """ + self.covariance_matrix = covariance_matrix + + def __equals__(self, to_compare): + """ Checks if two Covariance are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # Covariance object + return \ + (self.covariance_matrix == to_compare.covariance_matrix) + + except AttributeError: + return False + + def __str__(self): + """ Covariance in string representation """ + struct_repr = ", ".join([ + "covariance_matrix: " + str(self.covariance_matrix) + ]) + + return f"Covariance: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcCovariance): + """ Translates a gRPC struct to the SDK equivalent """ + return Covariance( + + rpcCovariance.covariance_matrix + ) + + def translate_to_rpc(self, rpcCovariance): + """ Translates this SDK object into its gRPC equivalent """ + + + + + for elem in self.covariance_matrix: + rpcCovariance.covariance_matrix.append(elem) + + + + + +class VelocityBody: + """ + Velocity type, represented in the Body (X Y Z) frame and in metres/second. + + Parameters + ---------- + x_m_s : float + Velocity in X in metres/second + + y_m_s : float + Velocity in Y in metres/second + + z_m_s : float + Velocity in Z in metres/second + + """ + + + + def __init__( + self, + x_m_s, + y_m_s, + z_m_s): + """ Initializes the VelocityBody object """ + self.x_m_s = x_m_s + self.y_m_s = y_m_s + self.z_m_s = z_m_s + + def __equals__(self, to_compare): + """ Checks if two VelocityBody are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # VelocityBody object + return \ + (self.x_m_s == to_compare.x_m_s) and \ + (self.y_m_s == to_compare.y_m_s) and \ + (self.z_m_s == to_compare.z_m_s) + + except AttributeError: + return False + + def __str__(self): + """ VelocityBody in string representation """ + struct_repr = ", ".join([ + "x_m_s: " + str(self.x_m_s), + "y_m_s: " + str(self.y_m_s), + "z_m_s: " + str(self.z_m_s) + ]) + + return f"VelocityBody: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcVelocityBody): + """ Translates a gRPC struct to the SDK equivalent """ + return VelocityBody( + + rpcVelocityBody.x_m_s, + + + rpcVelocityBody.y_m_s, + + + rpcVelocityBody.z_m_s + ) + + def translate_to_rpc(self, rpcVelocityBody): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcVelocityBody.x_m_s = self.x_m_s + + + + + + rpcVelocityBody.y_m_s = self.y_m_s + + + + + + rpcVelocityBody.z_m_s = self.z_m_s + + + + + +class PositionBody: + """ + Position type, represented in the Body (X Y Z) frame + + Parameters + ---------- + x_m : float + X Position in metres. + + y_m : float + Y Position in metres. + + z_m : float + Z Position in metres. + + """ + + + + def __init__( + self, + x_m, + y_m, + z_m): + """ Initializes the PositionBody object """ + self.x_m = x_m + self.y_m = y_m + self.z_m = z_m + + def __equals__(self, to_compare): + """ Checks if two PositionBody are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # PositionBody object + return \ + (self.x_m == to_compare.x_m) and \ + (self.y_m == to_compare.y_m) and \ + (self.z_m == to_compare.z_m) + + except AttributeError: + return False + + def __str__(self): + """ PositionBody in string representation """ + struct_repr = ", ".join([ + "x_m: " + str(self.x_m), + "y_m: " + str(self.y_m), + "z_m: " + str(self.z_m) + ]) + + return f"PositionBody: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcPositionBody): + """ Translates a gRPC struct to the SDK equivalent """ + return PositionBody( + + rpcPositionBody.x_m, + + + rpcPositionBody.y_m, + + + rpcPositionBody.z_m + ) + + def translate_to_rpc(self, rpcPositionBody): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcPositionBody.x_m = self.x_m + + + + + + rpcPositionBody.y_m = self.y_m + + + + + + rpcPositionBody.z_m = self.z_m + + + + + +class Odometry: + """ + Odometry message type. + + Parameters + ---------- + time_usec : uint64_t + Timestamp (0 to use Backend timestamp). + + frame_id : MavFrame + Coordinate frame of reference for the pose data. + + child_frame_id : MavFrame + Coordinate frame of reference for the velocity in free space (twist) data. + + position_body : PositionBody + Position. + + q : Quaternion + Quaternion components, w, x, y, z (1 0 0 0 is the null-rotation). + + velocity_body : VelocityBody + Linear velocity (m/s). + + angular_velocity_body : AngularVelocityBody + Angular velocity (rad/s). + + pose_covariance : Covariance + Pose cross-covariance matrix. + + velocity_covariance : Covariance + Velocity cross-covariance matrix. + + """ + + + + class MavFrame(Enum): + """ + Mavlink frame id + + Values + ------ + UNDEF + Frame is undefined. + + BODY_NED + Setpoint in body NED frame. This makes sense if all position control is externalized - e.g. useful to command 2 m/s^2 acceleration to the right. + + VISION_NED + Odometry local coordinate frame of data given by a vision estimation system, Z-down (x: north, y: east, z: down). + + ESTIM_NED + Odometry local coordinate frame of data given by an estimator running onboard the vehicle, Z-down (x: north, y: east, z: down). + + """ + + + UNDEF = 0 + BODY_NED = 1 + VISION_NED = 2 + ESTIM_NED = 3 + + def translate_to_rpc(self): + if self == Odometry.MavFrame.UNDEF: + return telemetry_server_pb2.Odometry.MAV_FRAME_UNDEF + if self == Odometry.MavFrame.BODY_NED: + return telemetry_server_pb2.Odometry.MAV_FRAME_BODY_NED + if self == Odometry.MavFrame.VISION_NED: + return telemetry_server_pb2.Odometry.MAV_FRAME_VISION_NED + if self == Odometry.MavFrame.ESTIM_NED: + return telemetry_server_pb2.Odometry.MAV_FRAME_ESTIM_NED + + @staticmethod + def translate_from_rpc(rpc_enum_value): + """ Parses a gRPC response """ + if rpc_enum_value == telemetry_server_pb2.Odometry.MAV_FRAME_UNDEF: + return Odometry.MavFrame.UNDEF + if rpc_enum_value == telemetry_server_pb2.Odometry.MAV_FRAME_BODY_NED: + return Odometry.MavFrame.BODY_NED + if rpc_enum_value == telemetry_server_pb2.Odometry.MAV_FRAME_VISION_NED: + return Odometry.MavFrame.VISION_NED + if rpc_enum_value == telemetry_server_pb2.Odometry.MAV_FRAME_ESTIM_NED: + return Odometry.MavFrame.ESTIM_NED + + def __str__(self): + return self.name + + + def __init__( + self, + time_usec, + frame_id, + child_frame_id, + position_body, + q, + velocity_body, + angular_velocity_body, + pose_covariance, + velocity_covariance): + """ Initializes the Odometry object """ + self.time_usec = time_usec + self.frame_id = frame_id + self.child_frame_id = child_frame_id + self.position_body = position_body + self.q = q + self.velocity_body = velocity_body + self.angular_velocity_body = angular_velocity_body + self.pose_covariance = pose_covariance + self.velocity_covariance = velocity_covariance + + def __equals__(self, to_compare): + """ Checks if two Odometry are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # Odometry object + return \ + (self.time_usec == to_compare.time_usec) and \ + (self.frame_id == to_compare.frame_id) and \ + (self.child_frame_id == to_compare.child_frame_id) and \ + (self.position_body == to_compare.position_body) and \ + (self.q == to_compare.q) and \ + (self.velocity_body == to_compare.velocity_body) and \ + (self.angular_velocity_body == to_compare.angular_velocity_body) and \ + (self.pose_covariance == to_compare.pose_covariance) and \ + (self.velocity_covariance == to_compare.velocity_covariance) + + except AttributeError: + return False + + def __str__(self): + """ Odometry in string representation """ + struct_repr = ", ".join([ + "time_usec: " + str(self.time_usec), + "frame_id: " + str(self.frame_id), + "child_frame_id: " + str(self.child_frame_id), + "position_body: " + str(self.position_body), + "q: " + str(self.q), + "velocity_body: " + str(self.velocity_body), + "angular_velocity_body: " + str(self.angular_velocity_body), + "pose_covariance: " + str(self.pose_covariance), + "velocity_covariance: " + str(self.velocity_covariance) + ]) + + return f"Odometry: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcOdometry): + """ Translates a gRPC struct to the SDK equivalent """ + return Odometry( + + rpcOdometry.time_usec, + + + Odometry.MavFrame.translate_from_rpc(rpcOdometry.frame_id), + + + Odometry.MavFrame.translate_from_rpc(rpcOdometry.child_frame_id), + + + PositionBody.translate_from_rpc(rpcOdometry.position_body), + + + Quaternion.translate_from_rpc(rpcOdometry.q), + + + VelocityBody.translate_from_rpc(rpcOdometry.velocity_body), + + + AngularVelocityBody.translate_from_rpc(rpcOdometry.angular_velocity_body), + + + Covariance.translate_from_rpc(rpcOdometry.pose_covariance), + + + Covariance.translate_from_rpc(rpcOdometry.velocity_covariance) + ) + + def translate_to_rpc(self, rpcOdometry): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcOdometry.time_usec = self.time_usec + + + + + + rpcOdometry.frame_id = self.frame_id.translate_to_rpc() + + + + + + rpcOdometry.child_frame_id = self.child_frame_id.translate_to_rpc() + + + + + + self.position_body.translate_to_rpc(rpcOdometry.position_body) + + + + + + self.q.translate_to_rpc(rpcOdometry.q) + + + + + + self.velocity_body.translate_to_rpc(rpcOdometry.velocity_body) + + + + + + self.angular_velocity_body.translate_to_rpc(rpcOdometry.angular_velocity_body) + + + + + + self.pose_covariance.translate_to_rpc(rpcOdometry.pose_covariance) + + + + + + self.velocity_covariance.translate_to_rpc(rpcOdometry.velocity_covariance) + + + + + +class DistanceSensor: + """ + DistanceSensor message type. + + Parameters + ---------- + minimum_distance_m : float + Minimum distance the sensor can measure, NaN if unknown. + + maximum_distance_m : float + Maximum distance the sensor can measure, NaN if unknown. + + current_distance_m : float + Current distance reading, NaN if unknown. + + """ + + + + def __init__( + self, + minimum_distance_m, + maximum_distance_m, + current_distance_m): + """ Initializes the DistanceSensor object """ + self.minimum_distance_m = minimum_distance_m + self.maximum_distance_m = maximum_distance_m + self.current_distance_m = current_distance_m + + def __equals__(self, to_compare): + """ Checks if two DistanceSensor are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # DistanceSensor object + return \ + (self.minimum_distance_m == to_compare.minimum_distance_m) and \ + (self.maximum_distance_m == to_compare.maximum_distance_m) and \ + (self.current_distance_m == to_compare.current_distance_m) + + except AttributeError: + return False + + def __str__(self): + """ DistanceSensor in string representation """ + struct_repr = ", ".join([ + "minimum_distance_m: " + str(self.minimum_distance_m), + "maximum_distance_m: " + str(self.maximum_distance_m), + "current_distance_m: " + str(self.current_distance_m) + ]) + + return f"DistanceSensor: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcDistanceSensor): + """ Translates a gRPC struct to the SDK equivalent """ + return DistanceSensor( + + rpcDistanceSensor.minimum_distance_m, + + + rpcDistanceSensor.maximum_distance_m, + + + rpcDistanceSensor.current_distance_m + ) + + def translate_to_rpc(self, rpcDistanceSensor): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcDistanceSensor.minimum_distance_m = self.minimum_distance_m + + + + + + rpcDistanceSensor.maximum_distance_m = self.maximum_distance_m + + + + + + rpcDistanceSensor.current_distance_m = self.current_distance_m + + + + + +class ScaledPressure: + """ + Scaled Pressure message type. + + Parameters + ---------- + timestamp_us : uint64_t + Timestamp (time since system boot) + + absolute_pressure_hpa : float + Absolute pressure in hPa + + differential_pressure_hpa : float + Differential pressure 1 in hPa + + temperature_deg : float + Absolute pressure temperature (in celsius) + + differential_pressure_temperature_deg : float + Differential pressure temperature (in celsius, 0 if not available) + + """ + + + + def __init__( + self, + timestamp_us, + absolute_pressure_hpa, + differential_pressure_hpa, + temperature_deg, + differential_pressure_temperature_deg): + """ Initializes the ScaledPressure object """ + self.timestamp_us = timestamp_us + self.absolute_pressure_hpa = absolute_pressure_hpa + self.differential_pressure_hpa = differential_pressure_hpa + self.temperature_deg = temperature_deg + self.differential_pressure_temperature_deg = differential_pressure_temperature_deg + + def __equals__(self, to_compare): + """ Checks if two ScaledPressure are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # ScaledPressure object + return \ + (self.timestamp_us == to_compare.timestamp_us) and \ + (self.absolute_pressure_hpa == to_compare.absolute_pressure_hpa) and \ + (self.differential_pressure_hpa == to_compare.differential_pressure_hpa) and \ + (self.temperature_deg == to_compare.temperature_deg) and \ + (self.differential_pressure_temperature_deg == to_compare.differential_pressure_temperature_deg) + + except AttributeError: + return False + + def __str__(self): + """ ScaledPressure in string representation """ + struct_repr = ", ".join([ + "timestamp_us: " + str(self.timestamp_us), + "absolute_pressure_hpa: " + str(self.absolute_pressure_hpa), + "differential_pressure_hpa: " + str(self.differential_pressure_hpa), + "temperature_deg: " + str(self.temperature_deg), + "differential_pressure_temperature_deg: " + str(self.differential_pressure_temperature_deg) + ]) + + return f"ScaledPressure: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcScaledPressure): + """ Translates a gRPC struct to the SDK equivalent """ + return ScaledPressure( + + rpcScaledPressure.timestamp_us, + + + rpcScaledPressure.absolute_pressure_hpa, + + + rpcScaledPressure.differential_pressure_hpa, + + + rpcScaledPressure.temperature_deg, + + + rpcScaledPressure.differential_pressure_temperature_deg + ) + + def translate_to_rpc(self, rpcScaledPressure): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcScaledPressure.timestamp_us = self.timestamp_us + + + + + + rpcScaledPressure.absolute_pressure_hpa = self.absolute_pressure_hpa + + + + + + rpcScaledPressure.differential_pressure_hpa = self.differential_pressure_hpa + + + + + + rpcScaledPressure.temperature_deg = self.temperature_deg + + + + + + rpcScaledPressure.differential_pressure_temperature_deg = self.differential_pressure_temperature_deg + + + + + +class PositionNed: + """ + PositionNed message type. + + Parameters + ---------- + north_m : float + Position along north direction in metres + + east_m : float + Position along east direction in metres + + down_m : float + Position along down direction in metres + + """ + + + + def __init__( + self, + north_m, + east_m, + down_m): + """ Initializes the PositionNed object """ + self.north_m = north_m + self.east_m = east_m + self.down_m = down_m + + def __equals__(self, to_compare): + """ Checks if two PositionNed are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # PositionNed object + return \ + (self.north_m == to_compare.north_m) and \ + (self.east_m == to_compare.east_m) and \ + (self.down_m == to_compare.down_m) + + except AttributeError: + return False + + def __str__(self): + """ PositionNed in string representation """ + struct_repr = ", ".join([ + "north_m: " + str(self.north_m), + "east_m: " + str(self.east_m), + "down_m: " + str(self.down_m) + ]) + + return f"PositionNed: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcPositionNed): + """ Translates a gRPC struct to the SDK equivalent """ + return PositionNed( + + rpcPositionNed.north_m, + + + rpcPositionNed.east_m, + + + rpcPositionNed.down_m + ) + + def translate_to_rpc(self, rpcPositionNed): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcPositionNed.north_m = self.north_m + + + + + + rpcPositionNed.east_m = self.east_m + + + + + + rpcPositionNed.down_m = self.down_m + + + + + +class VelocityNed: + """ + VelocityNed message type. + + Parameters + ---------- + north_m_s : float + Velocity along north direction in metres per second + + east_m_s : float + Velocity along east direction in metres per second + + down_m_s : float + Velocity along down direction in metres per second + + """ + + + + def __init__( + self, + north_m_s, + east_m_s, + down_m_s): + """ Initializes the VelocityNed object """ + self.north_m_s = north_m_s + self.east_m_s = east_m_s + self.down_m_s = down_m_s + + def __equals__(self, to_compare): + """ Checks if two VelocityNed are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # VelocityNed object + return \ + (self.north_m_s == to_compare.north_m_s) and \ + (self.east_m_s == to_compare.east_m_s) and \ + (self.down_m_s == to_compare.down_m_s) + + except AttributeError: + return False + + def __str__(self): + """ VelocityNed in string representation """ + struct_repr = ", ".join([ + "north_m_s: " + str(self.north_m_s), + "east_m_s: " + str(self.east_m_s), + "down_m_s: " + str(self.down_m_s) + ]) + + return f"VelocityNed: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcVelocityNed): + """ Translates a gRPC struct to the SDK equivalent """ + return VelocityNed( + + rpcVelocityNed.north_m_s, + + + rpcVelocityNed.east_m_s, + + + rpcVelocityNed.down_m_s + ) + + def translate_to_rpc(self, rpcVelocityNed): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcVelocityNed.north_m_s = self.north_m_s + + + + + + rpcVelocityNed.east_m_s = self.east_m_s + + + + + + rpcVelocityNed.down_m_s = self.down_m_s + + + + + +class PositionVelocityNed: + """ + PositionVelocityNed message type. + + Parameters + ---------- + position : PositionNed + Position (NED) + + velocity : VelocityNed + Velocity (NED) + + """ + + + + def __init__( + self, + position, + velocity): + """ Initializes the PositionVelocityNed object """ + self.position = position + self.velocity = velocity + + def __equals__(self, to_compare): + """ Checks if two PositionVelocityNed are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # PositionVelocityNed object + return \ + (self.position == to_compare.position) and \ + (self.velocity == to_compare.velocity) + + except AttributeError: + return False + + def __str__(self): + """ PositionVelocityNed in string representation """ + struct_repr = ", ".join([ + "position: " + str(self.position), + "velocity: " + str(self.velocity) + ]) + + return f"PositionVelocityNed: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcPositionVelocityNed): + """ Translates a gRPC struct to the SDK equivalent """ + return PositionVelocityNed( + + PositionNed.translate_from_rpc(rpcPositionVelocityNed.position), + + + VelocityNed.translate_from_rpc(rpcPositionVelocityNed.velocity) + ) + + def translate_to_rpc(self, rpcPositionVelocityNed): + """ Translates this SDK object into its gRPC equivalent """ + + + + + self.position.translate_to_rpc(rpcPositionVelocityNed.position) + + + + + + self.velocity.translate_to_rpc(rpcPositionVelocityNed.velocity) + + + + + +class GroundTruth: + """ + GroundTruth message type. + + Parameters + ---------- + latitude_deg : double + Latitude in degrees (range: -90 to +90) + + longitude_deg : double + Longitude in degrees (range: -180 to 180) + + absolute_altitude_m : float + Altitude AMSL (above mean sea level) in metres + + """ + + + + def __init__( + self, + latitude_deg, + longitude_deg, + absolute_altitude_m): + """ Initializes the GroundTruth object """ + self.latitude_deg = latitude_deg + self.longitude_deg = longitude_deg + self.absolute_altitude_m = absolute_altitude_m + + def __equals__(self, to_compare): + """ Checks if two GroundTruth are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # GroundTruth object + return \ + (self.latitude_deg == to_compare.latitude_deg) and \ + (self.longitude_deg == to_compare.longitude_deg) and \ + (self.absolute_altitude_m == to_compare.absolute_altitude_m) + + except AttributeError: + return False + + def __str__(self): + """ GroundTruth in string representation """ + struct_repr = ", ".join([ + "latitude_deg: " + str(self.latitude_deg), + "longitude_deg: " + str(self.longitude_deg), + "absolute_altitude_m: " + str(self.absolute_altitude_m) + ]) + + return f"GroundTruth: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcGroundTruth): + """ Translates a gRPC struct to the SDK equivalent """ + return GroundTruth( + + rpcGroundTruth.latitude_deg, + + + rpcGroundTruth.longitude_deg, + + + rpcGroundTruth.absolute_altitude_m + ) + + def translate_to_rpc(self, rpcGroundTruth): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcGroundTruth.latitude_deg = self.latitude_deg + + + + + + rpcGroundTruth.longitude_deg = self.longitude_deg + + + + + + rpcGroundTruth.absolute_altitude_m = self.absolute_altitude_m + + + + + +class FixedwingMetrics: + """ + FixedwingMetrics message type. + + Parameters + ---------- + airspeed_m_s : float + Current indicated airspeed (IAS) in metres per second + + throttle_percentage : float + Current throttle setting (0 to 100) + + climb_rate_m_s : float + Current climb rate in metres per second + + """ + + + + def __init__( + self, + airspeed_m_s, + throttle_percentage, + climb_rate_m_s): + """ Initializes the FixedwingMetrics object """ + self.airspeed_m_s = airspeed_m_s + self.throttle_percentage = throttle_percentage + self.climb_rate_m_s = climb_rate_m_s + + def __equals__(self, to_compare): + """ Checks if two FixedwingMetrics are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # FixedwingMetrics object + return \ + (self.airspeed_m_s == to_compare.airspeed_m_s) and \ + (self.throttle_percentage == to_compare.throttle_percentage) and \ + (self.climb_rate_m_s == to_compare.climb_rate_m_s) + + except AttributeError: + return False + + def __str__(self): + """ FixedwingMetrics in string representation """ + struct_repr = ", ".join([ + "airspeed_m_s: " + str(self.airspeed_m_s), + "throttle_percentage: " + str(self.throttle_percentage), + "climb_rate_m_s: " + str(self.climb_rate_m_s) + ]) + + return f"FixedwingMetrics: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcFixedwingMetrics): + """ Translates a gRPC struct to the SDK equivalent """ + return FixedwingMetrics( + + rpcFixedwingMetrics.airspeed_m_s, + + + rpcFixedwingMetrics.throttle_percentage, + + + rpcFixedwingMetrics.climb_rate_m_s + ) + + def translate_to_rpc(self, rpcFixedwingMetrics): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcFixedwingMetrics.airspeed_m_s = self.airspeed_m_s + + + + + + rpcFixedwingMetrics.throttle_percentage = self.throttle_percentage + + + + + + rpcFixedwingMetrics.climb_rate_m_s = self.climb_rate_m_s + + + + + +class AccelerationFrd: + """ + AccelerationFrd message type. + + Parameters + ---------- + forward_m_s2 : float + Acceleration in forward direction in metres per second^2 + + right_m_s2 : float + Acceleration in right direction in metres per second^2 + + down_m_s2 : float + Acceleration in down direction in metres per second^2 + + """ + + + + def __init__( + self, + forward_m_s2, + right_m_s2, + down_m_s2): + """ Initializes the AccelerationFrd object """ + self.forward_m_s2 = forward_m_s2 + self.right_m_s2 = right_m_s2 + self.down_m_s2 = down_m_s2 + + def __equals__(self, to_compare): + """ Checks if two AccelerationFrd are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # AccelerationFrd object + return \ + (self.forward_m_s2 == to_compare.forward_m_s2) and \ + (self.right_m_s2 == to_compare.right_m_s2) and \ + (self.down_m_s2 == to_compare.down_m_s2) + + except AttributeError: + return False + + def __str__(self): + """ AccelerationFrd in string representation """ + struct_repr = ", ".join([ + "forward_m_s2: " + str(self.forward_m_s2), + "right_m_s2: " + str(self.right_m_s2), + "down_m_s2: " + str(self.down_m_s2) + ]) + + return f"AccelerationFrd: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcAccelerationFrd): + """ Translates a gRPC struct to the SDK equivalent """ + return AccelerationFrd( + + rpcAccelerationFrd.forward_m_s2, + + + rpcAccelerationFrd.right_m_s2, + + + rpcAccelerationFrd.down_m_s2 + ) + + def translate_to_rpc(self, rpcAccelerationFrd): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcAccelerationFrd.forward_m_s2 = self.forward_m_s2 + + + + + + rpcAccelerationFrd.right_m_s2 = self.right_m_s2 + + + + + + rpcAccelerationFrd.down_m_s2 = self.down_m_s2 + + + + + +class AngularVelocityFrd: + """ + AngularVelocityFrd message type. + + Parameters + ---------- + forward_rad_s : float + Angular velocity in forward direction in radians per second + + right_rad_s : float + Angular velocity in right direction in radians per second + + down_rad_s : float + Angular velocity in Down direction in radians per second + + """ + + + + def __init__( + self, + forward_rad_s, + right_rad_s, + down_rad_s): + """ Initializes the AngularVelocityFrd object """ + self.forward_rad_s = forward_rad_s + self.right_rad_s = right_rad_s + self.down_rad_s = down_rad_s + + def __equals__(self, to_compare): + """ Checks if two AngularVelocityFrd are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # AngularVelocityFrd object + return \ + (self.forward_rad_s == to_compare.forward_rad_s) and \ + (self.right_rad_s == to_compare.right_rad_s) and \ + (self.down_rad_s == to_compare.down_rad_s) + + except AttributeError: + return False + + def __str__(self): + """ AngularVelocityFrd in string representation """ + struct_repr = ", ".join([ + "forward_rad_s: " + str(self.forward_rad_s), + "right_rad_s: " + str(self.right_rad_s), + "down_rad_s: " + str(self.down_rad_s) + ]) + + return f"AngularVelocityFrd: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcAngularVelocityFrd): + """ Translates a gRPC struct to the SDK equivalent """ + return AngularVelocityFrd( + + rpcAngularVelocityFrd.forward_rad_s, + + + rpcAngularVelocityFrd.right_rad_s, + + + rpcAngularVelocityFrd.down_rad_s + ) + + def translate_to_rpc(self, rpcAngularVelocityFrd): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcAngularVelocityFrd.forward_rad_s = self.forward_rad_s + + + + + + rpcAngularVelocityFrd.right_rad_s = self.right_rad_s + + + + + + rpcAngularVelocityFrd.down_rad_s = self.down_rad_s + + + + + +class MagneticFieldFrd: + """ + MagneticFieldFrd message type. + + Parameters + ---------- + forward_gauss : float + Magnetic field in forward direction measured in Gauss + + right_gauss : float + Magnetic field in East direction measured in Gauss + + down_gauss : float + Magnetic field in Down direction measured in Gauss + + """ + + + + def __init__( + self, + forward_gauss, + right_gauss, + down_gauss): + """ Initializes the MagneticFieldFrd object """ + self.forward_gauss = forward_gauss + self.right_gauss = right_gauss + self.down_gauss = down_gauss + + def __equals__(self, to_compare): + """ Checks if two MagneticFieldFrd are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # MagneticFieldFrd object + return \ + (self.forward_gauss == to_compare.forward_gauss) and \ + (self.right_gauss == to_compare.right_gauss) and \ + (self.down_gauss == to_compare.down_gauss) + + except AttributeError: + return False + + def __str__(self): + """ MagneticFieldFrd in string representation """ + struct_repr = ", ".join([ + "forward_gauss: " + str(self.forward_gauss), + "right_gauss: " + str(self.right_gauss), + "down_gauss: " + str(self.down_gauss) + ]) + + return f"MagneticFieldFrd: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcMagneticFieldFrd): + """ Translates a gRPC struct to the SDK equivalent """ + return MagneticFieldFrd( + + rpcMagneticFieldFrd.forward_gauss, + + + rpcMagneticFieldFrd.right_gauss, + + + rpcMagneticFieldFrd.down_gauss + ) + + def translate_to_rpc(self, rpcMagneticFieldFrd): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcMagneticFieldFrd.forward_gauss = self.forward_gauss + + + + + + rpcMagneticFieldFrd.right_gauss = self.right_gauss + + + + + + rpcMagneticFieldFrd.down_gauss = self.down_gauss + + + + + +class Imu: + """ + Imu message type. + + Parameters + ---------- + acceleration_frd : AccelerationFrd + Acceleration + + angular_velocity_frd : AngularVelocityFrd + Angular velocity + + magnetic_field_frd : MagneticFieldFrd + Magnetic field + + temperature_degc : float + Temperature + + timestamp_us : uint64_t + Timestamp in microseconds + + """ + + + + def __init__( + self, + acceleration_frd, + angular_velocity_frd, + magnetic_field_frd, + temperature_degc, + timestamp_us): + """ Initializes the Imu object """ + self.acceleration_frd = acceleration_frd + self.angular_velocity_frd = angular_velocity_frd + self.magnetic_field_frd = magnetic_field_frd + self.temperature_degc = temperature_degc + self.timestamp_us = timestamp_us + + def __equals__(self, to_compare): + """ Checks if two Imu are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # Imu object + return \ + (self.acceleration_frd == to_compare.acceleration_frd) and \ + (self.angular_velocity_frd == to_compare.angular_velocity_frd) and \ + (self.magnetic_field_frd == to_compare.magnetic_field_frd) and \ + (self.temperature_degc == to_compare.temperature_degc) and \ + (self.timestamp_us == to_compare.timestamp_us) + + except AttributeError: + return False + + def __str__(self): + """ Imu in string representation """ + struct_repr = ", ".join([ + "acceleration_frd: " + str(self.acceleration_frd), + "angular_velocity_frd: " + str(self.angular_velocity_frd), + "magnetic_field_frd: " + str(self.magnetic_field_frd), + "temperature_degc: " + str(self.temperature_degc), + "timestamp_us: " + str(self.timestamp_us) + ]) + + return f"Imu: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcImu): + """ Translates a gRPC struct to the SDK equivalent """ + return Imu( + + AccelerationFrd.translate_from_rpc(rpcImu.acceleration_frd), + + + AngularVelocityFrd.translate_from_rpc(rpcImu.angular_velocity_frd), + + + MagneticFieldFrd.translate_from_rpc(rpcImu.magnetic_field_frd), + + + rpcImu.temperature_degc, + + + rpcImu.timestamp_us + ) + + def translate_to_rpc(self, rpcImu): + """ Translates this SDK object into its gRPC equivalent """ + + + + + self.acceleration_frd.translate_to_rpc(rpcImu.acceleration_frd) + + + + + + self.angular_velocity_frd.translate_to_rpc(rpcImu.angular_velocity_frd) + + + + + + self.magnetic_field_frd.translate_to_rpc(rpcImu.magnetic_field_frd) + + + + + + rpcImu.temperature_degc = self.temperature_degc + + + + + + rpcImu.timestamp_us = self.timestamp_us + + + + + +class TelemetryServerResult: + """ + Result type. + + Parameters + ---------- + result : Result + Result enum value + + result_str : std::string + Human-readable English string describing the result + + """ + + + + class Result(Enum): + """ + Possible results returned for telemetry requests. + + Values + ------ + UNKNOWN + Unknown result + + SUCCESS + Success: the telemetry command was accepted by the vehicle + + NO_SYSTEM + No system connected + + CONNECTION_ERROR + Connection error + + BUSY + Vehicle is busy + + COMMAND_DENIED + Command refused by vehicle + + TIMEOUT + Request timed out + + UNSUPPORTED + Request not supported + + """ + + + UNKNOWN = 0 + SUCCESS = 1 + NO_SYSTEM = 2 + CONNECTION_ERROR = 3 + BUSY = 4 + COMMAND_DENIED = 5 + TIMEOUT = 6 + UNSUPPORTED = 7 + + def translate_to_rpc(self): + if self == TelemetryServerResult.Result.UNKNOWN: + return telemetry_server_pb2.TelemetryServerResult.RESULT_UNKNOWN + if self == TelemetryServerResult.Result.SUCCESS: + return telemetry_server_pb2.TelemetryServerResult.RESULT_SUCCESS + if self == TelemetryServerResult.Result.NO_SYSTEM: + return telemetry_server_pb2.TelemetryServerResult.RESULT_NO_SYSTEM + if self == TelemetryServerResult.Result.CONNECTION_ERROR: + return telemetry_server_pb2.TelemetryServerResult.RESULT_CONNECTION_ERROR + if self == TelemetryServerResult.Result.BUSY: + return telemetry_server_pb2.TelemetryServerResult.RESULT_BUSY + if self == TelemetryServerResult.Result.COMMAND_DENIED: + return telemetry_server_pb2.TelemetryServerResult.RESULT_COMMAND_DENIED + if self == TelemetryServerResult.Result.TIMEOUT: + return telemetry_server_pb2.TelemetryServerResult.RESULT_TIMEOUT + if self == TelemetryServerResult.Result.UNSUPPORTED: + return telemetry_server_pb2.TelemetryServerResult.RESULT_UNSUPPORTED + + @staticmethod + def translate_from_rpc(rpc_enum_value): + """ Parses a gRPC response """ + if rpc_enum_value == telemetry_server_pb2.TelemetryServerResult.RESULT_UNKNOWN: + return TelemetryServerResult.Result.UNKNOWN + if rpc_enum_value == telemetry_server_pb2.TelemetryServerResult.RESULT_SUCCESS: + return TelemetryServerResult.Result.SUCCESS + if rpc_enum_value == telemetry_server_pb2.TelemetryServerResult.RESULT_NO_SYSTEM: + return TelemetryServerResult.Result.NO_SYSTEM + if rpc_enum_value == telemetry_server_pb2.TelemetryServerResult.RESULT_CONNECTION_ERROR: + return TelemetryServerResult.Result.CONNECTION_ERROR + if rpc_enum_value == telemetry_server_pb2.TelemetryServerResult.RESULT_BUSY: + return TelemetryServerResult.Result.BUSY + if rpc_enum_value == telemetry_server_pb2.TelemetryServerResult.RESULT_COMMAND_DENIED: + return TelemetryServerResult.Result.COMMAND_DENIED + if rpc_enum_value == telemetry_server_pb2.TelemetryServerResult.RESULT_TIMEOUT: + return TelemetryServerResult.Result.TIMEOUT + if rpc_enum_value == telemetry_server_pb2.TelemetryServerResult.RESULT_UNSUPPORTED: + return TelemetryServerResult.Result.UNSUPPORTED + + def __str__(self): + return self.name + + + def __init__( + self, + result, + result_str): + """ Initializes the TelemetryServerResult object """ + self.result = result + self.result_str = result_str + + def __equals__(self, to_compare): + """ Checks if two TelemetryServerResult are the same """ + try: + # Try to compare - this likely fails when it is compared to a non + # TelemetryServerResult object + return \ + (self.result == to_compare.result) and \ + (self.result_str == to_compare.result_str) + + except AttributeError: + return False + + def __str__(self): + """ TelemetryServerResult in string representation """ + struct_repr = ", ".join([ + "result: " + str(self.result), + "result_str: " + str(self.result_str) + ]) + + return f"TelemetryServerResult: [{struct_repr}]" + + @staticmethod + def translate_from_rpc(rpcTelemetryServerResult): + """ Translates a gRPC struct to the SDK equivalent """ + return TelemetryServerResult( + + TelemetryServerResult.Result.translate_from_rpc(rpcTelemetryServerResult.result), + + + rpcTelemetryServerResult.result_str + ) + + def translate_to_rpc(self, rpcTelemetryServerResult): + """ Translates this SDK object into its gRPC equivalent """ + + + + + rpcTelemetryServerResult.result = self.result.translate_to_rpc() + + + + + + rpcTelemetryServerResult.result_str = self.result_str + + + + + + +class TelemetryServerError(Exception): + """ Raised when a TelemetryServerResult is a fail code """ + + def __init__(self, result, origin, *params): + self._result = result + self._origin = origin + self._params = params + + def __str__(self): + return f"{self._result.result}: '{self._result.result_str}'; origin: {self._origin}; params: {self._params}" + + +class TelemetryServer(AsyncBase): + """ + Allow users to provide vehicle telemetry and state information + (e.g. battery, GPS, RC connection, flight mode etc.) and set telemetry update rates. + + Generated by dcsdkgen - MAVSDK TelemetryServer API + """ + + # Plugin name + name = "TelemetryServer" + + def _setup_stub(self, channel): + """ Setups the api stub """ + self._stub = telemetry_server_pb2_grpc.TelemetryServerServiceStub(channel) + + + def _extract_result(self, response): + """ Returns the response status and description """ + return TelemetryServerResult.translate_from_rpc(response.telemetry_server_result) + + + async def publish_position(self, position, velocity_ned): + """ + Publish to 'position' updates. + + Parameters + ---------- + position : Position + The next position + + velocity_ned : VelocityNed + The next velocity (NED) + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishPositionRequest() + + position.translate_to_rpc(request.position) + + + + velocity_ned.translate_to_rpc(request.velocity_ned) + + + response = await self._stub.PublishPosition(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_position()", position, velocity_ned) + + + async def publish_home(self, home): + """ + Publish to 'home position' updates. + + Parameters + ---------- + home : Position + The next home position + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishHomeRequest() + + home.translate_to_rpc(request.home) + + + response = await self._stub.PublishHome(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_home()", home) + + + async def publish_armed(self, is_armed): + """ + Publish to armed updates. + + Parameters + ---------- + is_armed : bool + The next 'armed' state + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishArmedRequest() + request.is_armed = is_armed + response = await self._stub.PublishArmed(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_armed()", is_armed) + + + async def publish_raw_gps(self, raw_gps, gps_info): + """ + Publish to 'Raw GPS' updates. + + Parameters + ---------- + raw_gps : RawGps + The next 'Raw GPS' state. Warning: this is an advanced feature, use `Position` updates to get the location of the drone! + + gps_info : GpsInfo + The next 'GPS info' state + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishRawGpsRequest() + + raw_gps.translate_to_rpc(request.raw_gps) + + + + gps_info.translate_to_rpc(request.gps_info) + + + response = await self._stub.PublishRawGps(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_raw_gps()", raw_gps, gps_info) + + + async def publish_battery(self, battery): + """ + Publish to 'battery' updates. + + Parameters + ---------- + battery : Battery + The next 'battery' state + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishBatteryRequest() + + battery.translate_to_rpc(request.battery) + + + response = await self._stub.PublishBattery(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_battery()", battery) + + + async def publish_flight_mode(self, flight_mode): + """ + Publish to 'flight mode' updates. + + Parameters + ---------- + flight_mode : FlightMode + The next flight mode + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishFlightModeRequest() + + request.flight_mode = flight_mode.translate_to_rpc() + + + response = await self._stub.PublishFlightMode(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_flight_mode()", flight_mode) + + + async def publish_health(self, health): + """ + Publish to 'health' updates. + + Parameters + ---------- + health : Health + The next 'health' state + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishHealthRequest() + + health.translate_to_rpc(request.health) + + + response = await self._stub.PublishHealth(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_health()", health) + + + async def publish_status_text(self, status_text): + """ + Publish to 'status text' updates. + + Parameters + ---------- + status_text : StatusText + The next 'status text' + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishStatusTextRequest() + + status_text.translate_to_rpc(request.status_text) + + + response = await self._stub.PublishStatusText(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_status_text()", status_text) + + + async def publish_odometry(self, odometry): + """ + Publish to 'odometry' updates. + + Parameters + ---------- + odometry : Odometry + The next odometry status + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishOdometryRequest() + + odometry.translate_to_rpc(request.odometry) + + + response = await self._stub.PublishOdometry(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_odometry()", odometry) + + + async def publish_position_velocity_ned(self, position_velocity_ned): + """ + Publish to 'position velocity' updates. + + Parameters + ---------- + position_velocity_ned : PositionVelocityNed + The next position and velocity status + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishPositionVelocityNedRequest() + + position_velocity_ned.translate_to_rpc(request.position_velocity_ned) + + + response = await self._stub.PublishPositionVelocityNed(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_position_velocity_ned()", position_velocity_ned) + + + async def publish_ground_truth(self, ground_truth): + """ + Publish to 'ground truth' updates. + + Parameters + ---------- + ground_truth : GroundTruth + Ground truth position information available in simulation + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishGroundTruthRequest() + + ground_truth.translate_to_rpc(request.ground_truth) + + + response = await self._stub.PublishGroundTruth(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_ground_truth()", ground_truth) + + + async def publish_imu(self, imu): + """ + Publish to 'IMU' updates (in SI units in NED body frame). + + Parameters + ---------- + imu : Imu + The next IMU status + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishImuRequest() + + imu.translate_to_rpc(request.imu) + + + response = await self._stub.PublishImu(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_imu()", imu) + + + async def publish_scaled_imu(self, imu): + """ + Publish to 'Scaled IMU' updates. + + Parameters + ---------- + imu : Imu + The next scaled IMU status + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishScaledImuRequest() + + imu.translate_to_rpc(request.imu) + + + response = await self._stub.PublishScaledImu(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_scaled_imu()", imu) + + + async def publish_raw_imu(self, imu): + """ + Publish to 'Raw IMU' updates. + + Parameters + ---------- + imu : Imu + The next raw IMU status + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishRawImuRequest() + + imu.translate_to_rpc(request.imu) + + + response = await self._stub.PublishRawImu(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_raw_imu()", imu) + + + async def publish_health_all_ok(self, is_health_all_ok): + """ + Publish to 'HealthAllOk' updates. + + Parameters + ---------- + is_health_all_ok : bool + The next 'health all ok' status + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishHealthAllOkRequest() + request.is_health_all_ok = is_health_all_ok + response = await self._stub.PublishHealthAllOk(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_health_all_ok()", is_health_all_ok) + + + async def publish_unix_epoch_time(self, time_us): + """ + Publish to 'unix epoch time' updates. + + Parameters + ---------- + time_us : uint64_t + The next 'unix epoch time' status + + Raises + ------ + TelemetryServerError + If the request fails. The error contains the reason for the failure. + """ + + request = telemetry_server_pb2.PublishUnixEpochTimeRequest() + request.time_us = time_us + response = await self._stub.PublishUnixEpochTime(request) + + + result = self._extract_result(response) + + if result.result is not TelemetryServerResult.Result.SUCCESS: + raise TelemetryServerError(result, "publish_unix_epoch_time()", time_us) + \ No newline at end of file diff --git a/mavsdk/telemetry_server_pb2.py b/mavsdk/telemetry_server_pb2.py new file mode 100644 index 00000000..6704b926 --- /dev/null +++ b/mavsdk/telemetry_server_pb2.py @@ -0,0 +1,3748 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: telemetry_server/telemetry_server.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from . import mavsdk_options_pb2 as mavsdk__options__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='telemetry_server/telemetry_server.proto', + package='mavsdk.rpc.telemetry_server', + syntax='proto3', + serialized_options=b'\n\032io.mavsdk.telemetry_serverB\024TelemetryServerProto', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n\'telemetry_server/telemetry_server.proto\x12\x1bmavsdk.rpc.telemetry_server\x1a\x14mavsdk_options.proto\"\x91\x01\n\x16PublishPositionRequest\x12\x37\n\x08position\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry_server.Position\x12>\n\x0cvelocity_ned\x18\x02 \x01(\x0b\x32(.mavsdk.rpc.telemetry_server.VelocityNed\"I\n\x12PublishHomeRequest\x12\x33\n\x04home\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry_server.Position\"(\n\x13PublishInAirRequest\x12\x11\n\tis_in_air\x18\x01 \x01(\x08\"[\n\x19PublishLandedStateRequest\x12>\n\x0clanded_state\x18\x01 \x01(\x0e\x32(.mavsdk.rpc.telemetry_server.LandedState\"\'\n\x13PublishArmedRequest\x12\x10\n\x08is_armed\x18\x01 \x01(\x08\"\x84\x01\n\x14PublishRawGpsRequest\x12\x34\n\x07raw_gps\x18\x01 \x01(\x0b\x32#.mavsdk.rpc.telemetry_server.RawGps\x12\x36\n\x08gps_info\x18\x02 \x01(\x0b\x32$.mavsdk.rpc.telemetry_server.GpsInfo\"N\n\x15PublishBatteryRequest\x12\x35\n\x07\x62\x61ttery\x18\x01 \x01(\x0b\x32$.mavsdk.rpc.telemetry_server.Battery\"X\n\x18PublishFlightModeRequest\x12<\n\x0b\x66light_mode\x18\x01 \x01(\x0e\x32\'.mavsdk.rpc.telemetry_server.FlightMode\"K\n\x14PublishHealthRequest\x12\x33\n\x06health\x18\x01 \x01(\x0b\x32#.mavsdk.rpc.telemetry_server.Health\"R\n\x16PublishRcStatusRequest\x12\x38\n\trc_status\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry_server.RcStatus\"X\n\x18PublishStatusTextRequest\x12<\n\x0bstatus_text\x18\x01 \x01(\x0b\x32\'.mavsdk.rpc.telemetry_server.StatusText\"Q\n\x16PublishOdometryRequest\x12\x37\n\x08odometry\x18\x01 \x01(\x0b\x32%.mavsdk.rpc.telemetry_server.Odometry\"t\n!PublishPositionVelocityNedRequest\x12O\n\x15position_velocity_ned\x18\x01 \x01(\x0b\x32\x30.mavsdk.rpc.telemetry_server.PositionVelocityNed\"[\n\x19PublishGroundTruthRequest\x12>\n\x0cground_truth\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.telemetry_server.GroundTruth\"B\n\x11PublishImuRequest\x12-\n\x03imu\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.telemetry_server.Imu\"H\n\x17PublishScaledImuRequest\x12-\n\x03imu\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.telemetry_server.Imu\"E\n\x14PublishRawImuRequest\x12-\n\x03imu\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.telemetry_server.Imu\"5\n\x19PublishHealthAllOkRequest\x12\x18\n\x10is_health_all_ok\x18\x01 \x01(\x08\".\n\x1bPublishUnixEpochTimeRequest\x12\x0f\n\x07time_us\x18\x01 \x01(\x04\"n\n\x17PublishPositionResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"j\n\x13PublishHomeResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"k\n\x14PublishArmedResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"l\n\x15PublishRawGpsResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"m\n\x16PublishBatteryResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"p\n\x19PublishFlightModeResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"l\n\x15PublishHealthResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"p\n\x19PublishStatusTextResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"n\n\x17PublishOdometryResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"y\n\"PublishPositionVelocityNedResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"q\n\x1aPublishGroundTruthResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"i\n\x12PublishImuResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"o\n\x18PublishScaledImuResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"l\n\x15PublishRawImuResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"q\n\x1aPublishHealthAllOkResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"s\n\x1cPublishUnixEpochTimeResponse\x12S\n\x17telemetry_server_result\x18\x01 \x01(\x0b\x32\x32.mavsdk.rpc.telemetry_server.TelemetryServerResult\"\x95\x01\n\x08Position\x12\x1d\n\x0clatitude_deg\x18\x01 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12\x1e\n\rlongitude_deg\x18\x02 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12$\n\x13\x61\x62solute_altitude_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12$\n\x13relative_altitude_m\x18\x04 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"r\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\x12\x14\n\x0ctimestamp_us\x18\x05 \x01(\x04\"s\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\x12\x14\n\x0ctimestamp_us\x18\x04 \x01(\x04\"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\"`\n\x07GpsInfo\x12\x1d\n\x0enum_satellites\x18\x01 \x01(\x05\x42\x05\x82\xb5\x18\x01\x30\x12\x36\n\x08\x66ix_type\x18\x02 \x01(\x0e\x32$.mavsdk.rpc.telemetry_server.FixType\"\xdf\x02\n\x06RawGps\x12\x14\n\x0ctimestamp_us\x18\x01 \x01(\x04\x12\x14\n\x0clatitude_deg\x18\x02 \x01(\x01\x12\x15\n\rlongitude_deg\x18\x03 \x01(\x01\x12\x1b\n\x13\x61\x62solute_altitude_m\x18\x04 \x01(\x02\x12\x0c\n\x04hdop\x18\x05 \x01(\x02\x12\x0c\n\x04vdop\x18\x06 \x01(\x02\x12\x14\n\x0cvelocity_m_s\x18\x07 \x01(\x02\x12\x0f\n\x07\x63og_deg\x18\x08 \x01(\x02\x12\x1c\n\x14\x61ltitude_ellipsoid_m\x18\t \x01(\x02\x12 \n\x18horizontal_uncertainty_m\x18\n \x01(\x02\x12\x1e\n\x16vertical_uncertainty_m\x18\x0b \x01(\x02\x12 \n\x18velocity_uncertainty_m_s\x18\x0c \x01(\x02\x12\x1f\n\x17heading_uncertainty_deg\x18\r \x01(\x02\x12\x0f\n\x07yaw_deg\x18\x0e \x01(\x02\"I\n\x07\x42\x61ttery\x12\x1a\n\tvoltage_v\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\"\n\x11remaining_percent\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"\xb9\x02\n\x06Health\x12.\n\x1bis_gyrometer_calibration_ok\x18\x01 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12\x32\n\x1fis_accelerometer_calibration_ok\x18\x02 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12\x31\n\x1eis_magnetometer_calibration_ok\x18\x03 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12\'\n\x14is_local_position_ok\x18\x05 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12(\n\x15is_global_position_ok\x18\x06 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12&\n\x13is_home_position_ok\x18\x07 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12\x1d\n\nis_armable\x18\x08 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\"|\n\x08RcStatus\x12%\n\x12was_available_once\x18\x01 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12\x1f\n\x0cis_available\x18\x02 \x01(\x08\x42\t\x82\xb5\x18\x05\x66\x61lse\x12(\n\x17signal_strength_percent\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"U\n\nStatusText\x12\x39\n\x04type\x18\x01 \x01(\x0e\x32+.mavsdk.rpc.telemetry_server.StatusTextType\x12\x0c\n\x04text\x18\x02 \x01(\t\"?\n\x15\x41\x63tuatorControlTarget\x12\x14\n\x05group\x18\x01 \x01(\x05\x42\x05\x82\xb5\x18\x01\x30\x12\x10\n\x08\x63ontrols\x18\x02 \x03(\x02\"?\n\x14\x41\x63tuatorOutputStatus\x12\x15\n\x06\x61\x63tive\x18\x01 \x01(\rB\x05\x82\xb5\x18\x01\x30\x12\x10\n\x08\x61\x63tuator\x18\x02 \x03(\x02\"\'\n\nCovariance\x12\x19\n\x11\x63ovariance_matrix\x18\x01 \x03(\x02\";\n\x0cVelocityBody\x12\r\n\x05x_m_s\x18\x01 \x01(\x02\x12\r\n\x05y_m_s\x18\x02 \x01(\x02\x12\r\n\x05z_m_s\x18\x03 \x01(\x02\"5\n\x0cPositionBody\x12\x0b\n\x03x_m\x18\x01 \x01(\x02\x12\x0b\n\x03y_m\x18\x02 \x01(\x02\x12\x0b\n\x03z_m\x18\x03 \x01(\x02\"\xa4\x05\n\x08Odometry\x12\x11\n\ttime_usec\x18\x01 \x01(\x04\x12@\n\x08\x66rame_id\x18\x02 \x01(\x0e\x32..mavsdk.rpc.telemetry_server.Odometry.MavFrame\x12\x46\n\x0e\x63hild_frame_id\x18\x03 \x01(\x0e\x32..mavsdk.rpc.telemetry_server.Odometry.MavFrame\x12@\n\rposition_body\x18\x04 \x01(\x0b\x32).mavsdk.rpc.telemetry_server.PositionBody\x12\x32\n\x01q\x18\x05 \x01(\x0b\x32\'.mavsdk.rpc.telemetry_server.Quaternion\x12@\n\rvelocity_body\x18\x06 \x01(\x0b\x32).mavsdk.rpc.telemetry_server.VelocityBody\x12O\n\x15\x61ngular_velocity_body\x18\x07 \x01(\x0b\x32\x30.mavsdk.rpc.telemetry_server.AngularVelocityBody\x12@\n\x0fpose_covariance\x18\x08 \x01(\x0b\x32\'.mavsdk.rpc.telemetry_server.Covariance\x12\x44\n\x13velocity_covariance\x18\t \x01(\x0b\x32\'.mavsdk.rpc.telemetry_server.Covariance\"j\n\x08MavFrame\x12\x13\n\x0fMAV_FRAME_UNDEF\x10\x00\x12\x16\n\x12MAV_FRAME_BODY_NED\x10\x08\x12\x18\n\x14MAV_FRAME_VISION_NED\x10\x10\x12\x17\n\x13MAV_FRAME_ESTIM_NED\x10\x12\"\x7f\n\x0e\x44istanceSensor\x12#\n\x12minimum_distance_m\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12#\n\x12maximum_distance_m\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12#\n\x12\x63urrent_distance_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"\xb0\x01\n\x0eScaledPressure\x12\x14\n\x0ctimestamp_us\x18\x01 \x01(\x04\x12\x1d\n\x15\x61\x62solute_pressure_hpa\x18\x02 \x01(\x02\x12!\n\x19\x64ifferential_pressure_hpa\x18\x03 \x01(\x02\x12\x17\n\x0ftemperature_deg\x18\x04 \x01(\x02\x12-\n%differential_pressure_temperature_deg\x18\x05 \x01(\x02\"Y\n\x0bPositionNed\x12\x18\n\x07north_m\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x17\n\x06\x65\x61st_m\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x17\n\x06\x64own_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"D\n\x0bVelocityNed\x12\x11\n\tnorth_m_s\x18\x01 \x01(\x02\x12\x10\n\x08\x65\x61st_m_s\x18\x02 \x01(\x02\x12\x10\n\x08\x64own_m_s\x18\x03 \x01(\x02\"\x8d\x01\n\x13PositionVelocityNed\x12:\n\x08position\x18\x01 \x01(\x0b\x32(.mavsdk.rpc.telemetry_server.PositionNed\x12:\n\x08velocity\x18\x02 \x01(\x0b\x32(.mavsdk.rpc.telemetry_server.VelocityNed\"r\n\x0bGroundTruth\x12\x1d\n\x0clatitude_deg\x18\x01 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12\x1e\n\rlongitude_deg\x18\x02 \x01(\x01\x42\x07\x82\xb5\x18\x03NaN\x12$\n\x13\x61\x62solute_altitude_m\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"x\n\x10\x46ixedwingMetrics\x12\x1d\n\x0c\x61irspeed_m_s\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12$\n\x13throttle_percentage\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1f\n\x0e\x63limb_rate_m_s\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"i\n\x0f\x41\x63\x63\x65lerationFrd\x12\x1d\n\x0c\x66orward_m_s2\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1b\n\nright_m_s2\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1a\n\tdown_m_s2\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"o\n\x12\x41ngularVelocityFrd\x12\x1e\n\rforward_rad_s\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1c\n\x0bright_rad_s\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1b\n\ndown_rad_s\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"m\n\x10MagneticFieldFrd\x12\x1e\n\rforward_gauss\x18\x01 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1c\n\x0bright_gauss\x18\x02 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x1b\n\ndown_gauss\x18\x03 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\"\xa0\x02\n\x03Imu\x12\x46\n\x10\x61\x63\x63\x65leration_frd\x18\x01 \x01(\x0b\x32,.mavsdk.rpc.telemetry_server.AccelerationFrd\x12M\n\x14\x61ngular_velocity_frd\x18\x02 \x01(\x0b\x32/.mavsdk.rpc.telemetry_server.AngularVelocityFrd\x12I\n\x12magnetic_field_frd\x18\x03 \x01(\x0b\x32-.mavsdk.rpc.telemetry_server.MagneticFieldFrd\x12!\n\x10temperature_degc\x18\x04 \x01(\x02\x42\x07\x82\xb5\x18\x03NaN\x12\x14\n\x0ctimestamp_us\x18\x05 \x01(\x04\"\xb4\x02\n\x15TelemetryServerResult\x12I\n\x06result\x18\x01 \x01(\x0e\x32\x39.mavsdk.rpc.telemetry_server.TelemetryServerResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\xbb\x01\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x02\x12\x1b\n\x17RESULT_CONNECTION_ERROR\x10\x03\x12\x0f\n\x0bRESULT_BUSY\x10\x04\x12\x19\n\x15RESULT_COMMAND_DENIED\x10\x05\x12\x12\n\x0eRESULT_TIMEOUT\x10\x06\x12\x16\n\x12RESULT_UNSUPPORTED\x10\x07*\xa4\x01\n\x07\x46ixType\x12\x13\n\x0f\x46IX_TYPE_NO_GPS\x10\x00\x12\x13\n\x0f\x46IX_TYPE_NO_FIX\x10\x01\x12\x13\n\x0f\x46IX_TYPE_FIX_2D\x10\x02\x12\x13\n\x0f\x46IX_TYPE_FIX_3D\x10\x03\x12\x15\n\x11\x46IX_TYPE_FIX_DGPS\x10\x04\x12\x16\n\x12\x46IX_TYPE_RTK_FLOAT\x10\x05\x12\x16\n\x12\x46IX_TYPE_RTK_FIXED\x10\x06*\x86\x03\n\nFlightMode\x12\x17\n\x13\x46LIGHT_MODE_UNKNOWN\x10\x00\x12\x15\n\x11\x46LIGHT_MODE_READY\x10\x01\x12\x17\n\x13\x46LIGHT_MODE_TAKEOFF\x10\x02\x12\x14\n\x10\x46LIGHT_MODE_HOLD\x10\x03\x12\x17\n\x13\x46LIGHT_MODE_MISSION\x10\x04\x12 \n\x1c\x46LIGHT_MODE_RETURN_TO_LAUNCH\x10\x05\x12\x14\n\x10\x46LIGHT_MODE_LAND\x10\x06\x12\x18\n\x14\x46LIGHT_MODE_OFFBOARD\x10\x07\x12\x19\n\x15\x46LIGHT_MODE_FOLLOW_ME\x10\x08\x12\x16\n\x12\x46LIGHT_MODE_MANUAL\x10\t\x12\x16\n\x12\x46LIGHT_MODE_ALTCTL\x10\n\x12\x16\n\x12\x46LIGHT_MODE_POSCTL\x10\x0b\x12\x14\n\x10\x46LIGHT_MODE_ACRO\x10\x0c\x12\x1a\n\x16\x46LIGHT_MODE_STABILIZED\x10\r\x12\x19\n\x15\x46LIGHT_MODE_RATTITUDE\x10\x0e*\xf9\x01\n\x0eStatusTextType\x12\x1a\n\x16STATUS_TEXT_TYPE_DEBUG\x10\x00\x12\x19\n\x15STATUS_TEXT_TYPE_INFO\x10\x01\x12\x1b\n\x17STATUS_TEXT_TYPE_NOTICE\x10\x02\x12\x1c\n\x18STATUS_TEXT_TYPE_WARNING\x10\x03\x12\x1a\n\x16STATUS_TEXT_TYPE_ERROR\x10\x04\x12\x1d\n\x19STATUS_TEXT_TYPE_CRITICAL\x10\x05\x12\x1a\n\x16STATUS_TEXT_TYPE_ALERT\x10\x06\x12\x1e\n\x1aSTATUS_TEXT_TYPE_EMERGENCY\x10\x07*\x93\x01\n\x0bLandedState\x12\x18\n\x14LANDED_STATE_UNKNOWN\x10\x00\x12\x1a\n\x16LANDED_STATE_ON_GROUND\x10\x01\x12\x17\n\x13LANDED_STATE_IN_AIR\x10\x02\x12\x1b\n\x17LANDED_STATE_TAKING_OFF\x10\x03\x12\x18\n\x14LANDED_STATE_LANDING\x10\x04\x32\xb7\x10\n\x16TelemetryServerService\x12~\n\x0fPublishPosition\x12\x33.mavsdk.rpc.telemetry_server.PublishPositionRequest\x1a\x34.mavsdk.rpc.telemetry_server.PublishPositionResponse\"\x00\x12r\n\x0bPublishHome\x12/.mavsdk.rpc.telemetry_server.PublishHomeRequest\x1a\x30.mavsdk.rpc.telemetry_server.PublishHomeResponse\"\x00\x12u\n\x0cPublishArmed\x12\x30.mavsdk.rpc.telemetry_server.PublishArmedRequest\x1a\x31.mavsdk.rpc.telemetry_server.PublishArmedResponse\"\x00\x12x\n\rPublishRawGps\x12\x31.mavsdk.rpc.telemetry_server.PublishRawGpsRequest\x1a\x32.mavsdk.rpc.telemetry_server.PublishRawGpsResponse\"\x00\x12{\n\x0ePublishBattery\x12\x32.mavsdk.rpc.telemetry_server.PublishBatteryRequest\x1a\x33.mavsdk.rpc.telemetry_server.PublishBatteryResponse\"\x00\x12\x84\x01\n\x11PublishFlightMode\x12\x35.mavsdk.rpc.telemetry_server.PublishFlightModeRequest\x1a\x36.mavsdk.rpc.telemetry_server.PublishFlightModeResponse\"\x00\x12x\n\rPublishHealth\x12\x31.mavsdk.rpc.telemetry_server.PublishHealthRequest\x1a\x32.mavsdk.rpc.telemetry_server.PublishHealthResponse\"\x00\x12\x84\x01\n\x11PublishStatusText\x12\x35.mavsdk.rpc.telemetry_server.PublishStatusTextRequest\x1a\x36.mavsdk.rpc.telemetry_server.PublishStatusTextResponse\"\x00\x12~\n\x0fPublishOdometry\x12\x33.mavsdk.rpc.telemetry_server.PublishOdometryRequest\x1a\x34.mavsdk.rpc.telemetry_server.PublishOdometryResponse\"\x00\x12\x9f\x01\n\x1aPublishPositionVelocityNed\x12>.mavsdk.rpc.telemetry_server.PublishPositionVelocityNedRequest\x1a?.mavsdk.rpc.telemetry_server.PublishPositionVelocityNedResponse\"\x00\x12\x87\x01\n\x12PublishGroundTruth\x12\x36.mavsdk.rpc.telemetry_server.PublishGroundTruthRequest\x1a\x37.mavsdk.rpc.telemetry_server.PublishGroundTruthResponse\"\x00\x12o\n\nPublishImu\x12..mavsdk.rpc.telemetry_server.PublishImuRequest\x1a/.mavsdk.rpc.telemetry_server.PublishImuResponse\"\x00\x12\x81\x01\n\x10PublishScaledImu\x12\x34.mavsdk.rpc.telemetry_server.PublishScaledImuRequest\x1a\x35.mavsdk.rpc.telemetry_server.PublishScaledImuResponse\"\x00\x12x\n\rPublishRawImu\x12\x31.mavsdk.rpc.telemetry_server.PublishRawImuRequest\x1a\x32.mavsdk.rpc.telemetry_server.PublishRawImuResponse\"\x00\x12\x87\x01\n\x12PublishHealthAllOk\x12\x36.mavsdk.rpc.telemetry_server.PublishHealthAllOkRequest\x1a\x37.mavsdk.rpc.telemetry_server.PublishHealthAllOkResponse\"\x00\x12\x8d\x01\n\x14PublishUnixEpochTime\x12\x38.mavsdk.rpc.telemetry_server.PublishUnixEpochTimeRequest\x1a\x39.mavsdk.rpc.telemetry_server.PublishUnixEpochTimeResponse\"\x00\x42\x32\n\x1aio.mavsdk.telemetry_serverB\x14TelemetryServerProtob\x06proto3' + , + dependencies=[mavsdk__options__pb2.DESCRIPTOR,]) + +_FIXTYPE = _descriptor.EnumDescriptor( + name='FixType', + full_name='mavsdk.rpc.telemetry_server.FixType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='FIX_TYPE_NO_GPS', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FIX_TYPE_NO_FIX', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FIX_TYPE_FIX_2D', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FIX_TYPE_FIX_3D', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FIX_TYPE_FIX_DGPS', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FIX_TYPE_RTK_FLOAT', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FIX_TYPE_RTK_FIXED', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=7761, + serialized_end=7925, +) +_sym_db.RegisterEnumDescriptor(_FIXTYPE) + +FixType = enum_type_wrapper.EnumTypeWrapper(_FIXTYPE) +_FLIGHTMODE = _descriptor.EnumDescriptor( + name='FlightMode', + full_name='mavsdk.rpc.telemetry_server.FlightMode', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_UNKNOWN', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_READY', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_TAKEOFF', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_HOLD', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_MISSION', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_RETURN_TO_LAUNCH', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_LAND', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_OFFBOARD', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_FOLLOW_ME', index=8, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_MANUAL', index=9, number=9, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_ALTCTL', index=10, number=10, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_POSCTL', index=11, number=11, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_ACRO', index=12, number=12, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_STABILIZED', index=13, number=13, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FLIGHT_MODE_RATTITUDE', index=14, number=14, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=7928, + serialized_end=8318, +) +_sym_db.RegisterEnumDescriptor(_FLIGHTMODE) + +FlightMode = enum_type_wrapper.EnumTypeWrapper(_FLIGHTMODE) +_STATUSTEXTTYPE = _descriptor.EnumDescriptor( + name='StatusTextType', + full_name='mavsdk.rpc.telemetry_server.StatusTextType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='STATUS_TEXT_TYPE_DEBUG', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='STATUS_TEXT_TYPE_INFO', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='STATUS_TEXT_TYPE_NOTICE', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='STATUS_TEXT_TYPE_WARNING', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='STATUS_TEXT_TYPE_ERROR', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='STATUS_TEXT_TYPE_CRITICAL', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='STATUS_TEXT_TYPE_ALERT', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='STATUS_TEXT_TYPE_EMERGENCY', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=8321, + serialized_end=8570, +) +_sym_db.RegisterEnumDescriptor(_STATUSTEXTTYPE) + +StatusTextType = enum_type_wrapper.EnumTypeWrapper(_STATUSTEXTTYPE) +_LANDEDSTATE = _descriptor.EnumDescriptor( + name='LandedState', + full_name='mavsdk.rpc.telemetry_server.LandedState', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='LANDED_STATE_UNKNOWN', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='LANDED_STATE_ON_GROUND', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='LANDED_STATE_IN_AIR', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='LANDED_STATE_TAKING_OFF', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='LANDED_STATE_LANDING', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=8573, + serialized_end=8720, +) +_sym_db.RegisterEnumDescriptor(_LANDEDSTATE) + +LandedState = enum_type_wrapper.EnumTypeWrapper(_LANDEDSTATE) +FIX_TYPE_NO_GPS = 0 +FIX_TYPE_NO_FIX = 1 +FIX_TYPE_FIX_2D = 2 +FIX_TYPE_FIX_3D = 3 +FIX_TYPE_FIX_DGPS = 4 +FIX_TYPE_RTK_FLOAT = 5 +FIX_TYPE_RTK_FIXED = 6 +FLIGHT_MODE_UNKNOWN = 0 +FLIGHT_MODE_READY = 1 +FLIGHT_MODE_TAKEOFF = 2 +FLIGHT_MODE_HOLD = 3 +FLIGHT_MODE_MISSION = 4 +FLIGHT_MODE_RETURN_TO_LAUNCH = 5 +FLIGHT_MODE_LAND = 6 +FLIGHT_MODE_OFFBOARD = 7 +FLIGHT_MODE_FOLLOW_ME = 8 +FLIGHT_MODE_MANUAL = 9 +FLIGHT_MODE_ALTCTL = 10 +FLIGHT_MODE_POSCTL = 11 +FLIGHT_MODE_ACRO = 12 +FLIGHT_MODE_STABILIZED = 13 +FLIGHT_MODE_RATTITUDE = 14 +STATUS_TEXT_TYPE_DEBUG = 0 +STATUS_TEXT_TYPE_INFO = 1 +STATUS_TEXT_TYPE_NOTICE = 2 +STATUS_TEXT_TYPE_WARNING = 3 +STATUS_TEXT_TYPE_ERROR = 4 +STATUS_TEXT_TYPE_CRITICAL = 5 +STATUS_TEXT_TYPE_ALERT = 6 +STATUS_TEXT_TYPE_EMERGENCY = 7 +LANDED_STATE_UNKNOWN = 0 +LANDED_STATE_ON_GROUND = 1 +LANDED_STATE_IN_AIR = 2 +LANDED_STATE_TAKING_OFF = 3 +LANDED_STATE_LANDING = 4 + + +_ODOMETRY_MAVFRAME = _descriptor.EnumDescriptor( + name='MavFrame', + full_name='mavsdk.rpc.telemetry_server.Odometry.MavFrame', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='MAV_FRAME_UNDEF', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='MAV_FRAME_BODY_NED', index=1, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='MAV_FRAME_VISION_NED', index=2, number=16, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='MAV_FRAME_ESTIM_NED', index=3, number=18, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=5868, + serialized_end=5974, +) +_sym_db.RegisterEnumDescriptor(_ODOMETRY_MAVFRAME) + +_TELEMETRYSERVERRESULT_RESULT = _descriptor.EnumDescriptor( + name='Result', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerResult.Result', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='RESULT_UNKNOWN', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_SUCCESS', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_NO_SYSTEM', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_CONNECTION_ERROR', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_BUSY', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_COMMAND_DENIED', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_TIMEOUT', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_UNSUPPORTED', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=7571, + serialized_end=7758, +) +_sym_db.RegisterEnumDescriptor(_TELEMETRYSERVERRESULT_RESULT) + + +_PUBLISHPOSITIONREQUEST = _descriptor.Descriptor( + name='PublishPositionRequest', + full_name='mavsdk.rpc.telemetry_server.PublishPositionRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='position', full_name='mavsdk.rpc.telemetry_server.PublishPositionRequest.position', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='velocity_ned', full_name='mavsdk.rpc.telemetry_server.PublishPositionRequest.velocity_ned', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=95, + serialized_end=240, +) + + +_PUBLISHHOMEREQUEST = _descriptor.Descriptor( + name='PublishHomeRequest', + full_name='mavsdk.rpc.telemetry_server.PublishHomeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='home', full_name='mavsdk.rpc.telemetry_server.PublishHomeRequest.home', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=242, + serialized_end=315, +) + + +_PUBLISHINAIRREQUEST = _descriptor.Descriptor( + name='PublishInAirRequest', + full_name='mavsdk.rpc.telemetry_server.PublishInAirRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='is_in_air', full_name='mavsdk.rpc.telemetry_server.PublishInAirRequest.is_in_air', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=317, + serialized_end=357, +) + + +_PUBLISHLANDEDSTATEREQUEST = _descriptor.Descriptor( + name='PublishLandedStateRequest', + full_name='mavsdk.rpc.telemetry_server.PublishLandedStateRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='landed_state', full_name='mavsdk.rpc.telemetry_server.PublishLandedStateRequest.landed_state', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=359, + serialized_end=450, +) + + +_PUBLISHARMEDREQUEST = _descriptor.Descriptor( + name='PublishArmedRequest', + full_name='mavsdk.rpc.telemetry_server.PublishArmedRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='is_armed', full_name='mavsdk.rpc.telemetry_server.PublishArmedRequest.is_armed', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=452, + serialized_end=491, +) + + +_PUBLISHRAWGPSREQUEST = _descriptor.Descriptor( + name='PublishRawGpsRequest', + full_name='mavsdk.rpc.telemetry_server.PublishRawGpsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='raw_gps', full_name='mavsdk.rpc.telemetry_server.PublishRawGpsRequest.raw_gps', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='gps_info', full_name='mavsdk.rpc.telemetry_server.PublishRawGpsRequest.gps_info', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=494, + serialized_end=626, +) + + +_PUBLISHBATTERYREQUEST = _descriptor.Descriptor( + name='PublishBatteryRequest', + full_name='mavsdk.rpc.telemetry_server.PublishBatteryRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='battery', full_name='mavsdk.rpc.telemetry_server.PublishBatteryRequest.battery', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=628, + serialized_end=706, +) + + +_PUBLISHFLIGHTMODEREQUEST = _descriptor.Descriptor( + name='PublishFlightModeRequest', + full_name='mavsdk.rpc.telemetry_server.PublishFlightModeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='flight_mode', full_name='mavsdk.rpc.telemetry_server.PublishFlightModeRequest.flight_mode', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=708, + serialized_end=796, +) + + +_PUBLISHHEALTHREQUEST = _descriptor.Descriptor( + name='PublishHealthRequest', + full_name='mavsdk.rpc.telemetry_server.PublishHealthRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='health', full_name='mavsdk.rpc.telemetry_server.PublishHealthRequest.health', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=798, + serialized_end=873, +) + + +_PUBLISHRCSTATUSREQUEST = _descriptor.Descriptor( + name='PublishRcStatusRequest', + full_name='mavsdk.rpc.telemetry_server.PublishRcStatusRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='rc_status', full_name='mavsdk.rpc.telemetry_server.PublishRcStatusRequest.rc_status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=875, + serialized_end=957, +) + + +_PUBLISHSTATUSTEXTREQUEST = _descriptor.Descriptor( + name='PublishStatusTextRequest', + full_name='mavsdk.rpc.telemetry_server.PublishStatusTextRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='status_text', full_name='mavsdk.rpc.telemetry_server.PublishStatusTextRequest.status_text', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=959, + serialized_end=1047, +) + + +_PUBLISHODOMETRYREQUEST = _descriptor.Descriptor( + name='PublishOdometryRequest', + full_name='mavsdk.rpc.telemetry_server.PublishOdometryRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='odometry', full_name='mavsdk.rpc.telemetry_server.PublishOdometryRequest.odometry', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1049, + serialized_end=1130, +) + + +_PUBLISHPOSITIONVELOCITYNEDREQUEST = _descriptor.Descriptor( + name='PublishPositionVelocityNedRequest', + full_name='mavsdk.rpc.telemetry_server.PublishPositionVelocityNedRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='position_velocity_ned', full_name='mavsdk.rpc.telemetry_server.PublishPositionVelocityNedRequest.position_velocity_ned', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1132, + serialized_end=1248, +) + + +_PUBLISHGROUNDTRUTHREQUEST = _descriptor.Descriptor( + name='PublishGroundTruthRequest', + full_name='mavsdk.rpc.telemetry_server.PublishGroundTruthRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='ground_truth', full_name='mavsdk.rpc.telemetry_server.PublishGroundTruthRequest.ground_truth', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1250, + serialized_end=1341, +) + + +_PUBLISHIMUREQUEST = _descriptor.Descriptor( + name='PublishImuRequest', + full_name='mavsdk.rpc.telemetry_server.PublishImuRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='imu', full_name='mavsdk.rpc.telemetry_server.PublishImuRequest.imu', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1343, + serialized_end=1409, +) + + +_PUBLISHSCALEDIMUREQUEST = _descriptor.Descriptor( + name='PublishScaledImuRequest', + full_name='mavsdk.rpc.telemetry_server.PublishScaledImuRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='imu', full_name='mavsdk.rpc.telemetry_server.PublishScaledImuRequest.imu', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1411, + serialized_end=1483, +) + + +_PUBLISHRAWIMUREQUEST = _descriptor.Descriptor( + name='PublishRawImuRequest', + full_name='mavsdk.rpc.telemetry_server.PublishRawImuRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='imu', full_name='mavsdk.rpc.telemetry_server.PublishRawImuRequest.imu', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1485, + serialized_end=1554, +) + + +_PUBLISHHEALTHALLOKREQUEST = _descriptor.Descriptor( + name='PublishHealthAllOkRequest', + full_name='mavsdk.rpc.telemetry_server.PublishHealthAllOkRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='is_health_all_ok', full_name='mavsdk.rpc.telemetry_server.PublishHealthAllOkRequest.is_health_all_ok', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1556, + serialized_end=1609, +) + + +_PUBLISHUNIXEPOCHTIMEREQUEST = _descriptor.Descriptor( + name='PublishUnixEpochTimeRequest', + full_name='mavsdk.rpc.telemetry_server.PublishUnixEpochTimeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='time_us', full_name='mavsdk.rpc.telemetry_server.PublishUnixEpochTimeRequest.time_us', index=0, + number=1, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1611, + serialized_end=1657, +) + + +_PUBLISHPOSITIONRESPONSE = _descriptor.Descriptor( + name='PublishPositionResponse', + full_name='mavsdk.rpc.telemetry_server.PublishPositionResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishPositionResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1659, + serialized_end=1769, +) + + +_PUBLISHHOMERESPONSE = _descriptor.Descriptor( + name='PublishHomeResponse', + full_name='mavsdk.rpc.telemetry_server.PublishHomeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishHomeResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1771, + serialized_end=1877, +) + + +_PUBLISHARMEDRESPONSE = _descriptor.Descriptor( + name='PublishArmedResponse', + full_name='mavsdk.rpc.telemetry_server.PublishArmedResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishArmedResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1879, + serialized_end=1986, +) + + +_PUBLISHRAWGPSRESPONSE = _descriptor.Descriptor( + name='PublishRawGpsResponse', + full_name='mavsdk.rpc.telemetry_server.PublishRawGpsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishRawGpsResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1988, + serialized_end=2096, +) + + +_PUBLISHBATTERYRESPONSE = _descriptor.Descriptor( + name='PublishBatteryResponse', + full_name='mavsdk.rpc.telemetry_server.PublishBatteryResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishBatteryResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2098, + serialized_end=2207, +) + + +_PUBLISHFLIGHTMODERESPONSE = _descriptor.Descriptor( + name='PublishFlightModeResponse', + full_name='mavsdk.rpc.telemetry_server.PublishFlightModeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishFlightModeResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2209, + serialized_end=2321, +) + + +_PUBLISHHEALTHRESPONSE = _descriptor.Descriptor( + name='PublishHealthResponse', + full_name='mavsdk.rpc.telemetry_server.PublishHealthResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishHealthResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2323, + serialized_end=2431, +) + + +_PUBLISHSTATUSTEXTRESPONSE = _descriptor.Descriptor( + name='PublishStatusTextResponse', + full_name='mavsdk.rpc.telemetry_server.PublishStatusTextResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishStatusTextResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2433, + serialized_end=2545, +) + + +_PUBLISHODOMETRYRESPONSE = _descriptor.Descriptor( + name='PublishOdometryResponse', + full_name='mavsdk.rpc.telemetry_server.PublishOdometryResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishOdometryResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2547, + serialized_end=2657, +) + + +_PUBLISHPOSITIONVELOCITYNEDRESPONSE = _descriptor.Descriptor( + name='PublishPositionVelocityNedResponse', + full_name='mavsdk.rpc.telemetry_server.PublishPositionVelocityNedResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishPositionVelocityNedResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2659, + serialized_end=2780, +) + + +_PUBLISHGROUNDTRUTHRESPONSE = _descriptor.Descriptor( + name='PublishGroundTruthResponse', + full_name='mavsdk.rpc.telemetry_server.PublishGroundTruthResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishGroundTruthResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2782, + serialized_end=2895, +) + + +_PUBLISHIMURESPONSE = _descriptor.Descriptor( + name='PublishImuResponse', + full_name='mavsdk.rpc.telemetry_server.PublishImuResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishImuResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2897, + serialized_end=3002, +) + + +_PUBLISHSCALEDIMURESPONSE = _descriptor.Descriptor( + name='PublishScaledImuResponse', + full_name='mavsdk.rpc.telemetry_server.PublishScaledImuResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishScaledImuResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3004, + serialized_end=3115, +) + + +_PUBLISHRAWIMURESPONSE = _descriptor.Descriptor( + name='PublishRawImuResponse', + full_name='mavsdk.rpc.telemetry_server.PublishRawImuResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishRawImuResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3117, + serialized_end=3225, +) + + +_PUBLISHHEALTHALLOKRESPONSE = _descriptor.Descriptor( + name='PublishHealthAllOkResponse', + full_name='mavsdk.rpc.telemetry_server.PublishHealthAllOkResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishHealthAllOkResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3227, + serialized_end=3340, +) + + +_PUBLISHUNIXEPOCHTIMERESPONSE = _descriptor.Descriptor( + name='PublishUnixEpochTimeResponse', + full_name='mavsdk.rpc.telemetry_server.PublishUnixEpochTimeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='telemetry_server_result', full_name='mavsdk.rpc.telemetry_server.PublishUnixEpochTimeResponse.telemetry_server_result', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3342, + serialized_end=3457, +) + + +_POSITION = _descriptor.Descriptor( + name='Position', + full_name='mavsdk.rpc.telemetry_server.Position', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='latitude_deg', full_name='mavsdk.rpc.telemetry_server.Position.latitude_deg', index=0, + number=1, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='longitude_deg', full_name='mavsdk.rpc.telemetry_server.Position.longitude_deg', index=1, + number=2, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='absolute_altitude_m', full_name='mavsdk.rpc.telemetry_server.Position.absolute_altitude_m', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='relative_altitude_m', full_name='mavsdk.rpc.telemetry_server.Position.relative_altitude_m', index=3, + number=4, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3460, + serialized_end=3609, +) + + +_QUATERNION = _descriptor.Descriptor( + name='Quaternion', + full_name='mavsdk.rpc.telemetry_server.Quaternion', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='w', full_name='mavsdk.rpc.telemetry_server.Quaternion.w', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='x', full_name='mavsdk.rpc.telemetry_server.Quaternion.x', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='y', full_name='mavsdk.rpc.telemetry_server.Quaternion.y', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='z', full_name='mavsdk.rpc.telemetry_server.Quaternion.z', index=3, + number=4, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='timestamp_us', full_name='mavsdk.rpc.telemetry_server.Quaternion.timestamp_us', index=4, + number=5, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3611, + serialized_end=3725, +) + + +_EULERANGLE = _descriptor.Descriptor( + name='EulerAngle', + full_name='mavsdk.rpc.telemetry_server.EulerAngle', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='roll_deg', full_name='mavsdk.rpc.telemetry_server.EulerAngle.roll_deg', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pitch_deg', full_name='mavsdk.rpc.telemetry_server.EulerAngle.pitch_deg', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='yaw_deg', full_name='mavsdk.rpc.telemetry_server.EulerAngle.yaw_deg', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='timestamp_us', full_name='mavsdk.rpc.telemetry_server.EulerAngle.timestamp_us', index=3, + number=4, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3727, + serialized_end=3842, +) + + +_ANGULARVELOCITYBODY = _descriptor.Descriptor( + name='AngularVelocityBody', + full_name='mavsdk.rpc.telemetry_server.AngularVelocityBody', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='roll_rad_s', full_name='mavsdk.rpc.telemetry_server.AngularVelocityBody.roll_rad_s', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pitch_rad_s', full_name='mavsdk.rpc.telemetry_server.AngularVelocityBody.pitch_rad_s', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='yaw_rad_s', full_name='mavsdk.rpc.telemetry_server.AngularVelocityBody.yaw_rad_s', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3844, + serialized_end=3952, +) + + +_GPSINFO = _descriptor.Descriptor( + name='GpsInfo', + full_name='mavsdk.rpc.telemetry_server.GpsInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='num_satellites', full_name='mavsdk.rpc.telemetry_server.GpsInfo.num_satellites', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\0010', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fix_type', full_name='mavsdk.rpc.telemetry_server.GpsInfo.fix_type', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3954, + serialized_end=4050, +) + + +_RAWGPS = _descriptor.Descriptor( + name='RawGps', + full_name='mavsdk.rpc.telemetry_server.RawGps', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='timestamp_us', full_name='mavsdk.rpc.telemetry_server.RawGps.timestamp_us', index=0, + number=1, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='latitude_deg', full_name='mavsdk.rpc.telemetry_server.RawGps.latitude_deg', index=1, + number=2, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='longitude_deg', full_name='mavsdk.rpc.telemetry_server.RawGps.longitude_deg', index=2, + number=3, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='absolute_altitude_m', full_name='mavsdk.rpc.telemetry_server.RawGps.absolute_altitude_m', index=3, + number=4, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='hdop', full_name='mavsdk.rpc.telemetry_server.RawGps.hdop', index=4, + number=5, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='vdop', full_name='mavsdk.rpc.telemetry_server.RawGps.vdop', index=5, + number=6, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='velocity_m_s', full_name='mavsdk.rpc.telemetry_server.RawGps.velocity_m_s', index=6, + number=7, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='cog_deg', full_name='mavsdk.rpc.telemetry_server.RawGps.cog_deg', index=7, + number=8, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='altitude_ellipsoid_m', full_name='mavsdk.rpc.telemetry_server.RawGps.altitude_ellipsoid_m', index=8, + number=9, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='horizontal_uncertainty_m', full_name='mavsdk.rpc.telemetry_server.RawGps.horizontal_uncertainty_m', index=9, + number=10, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='vertical_uncertainty_m', full_name='mavsdk.rpc.telemetry_server.RawGps.vertical_uncertainty_m', index=10, + number=11, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='velocity_uncertainty_m_s', full_name='mavsdk.rpc.telemetry_server.RawGps.velocity_uncertainty_m_s', index=11, + number=12, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='heading_uncertainty_deg', full_name='mavsdk.rpc.telemetry_server.RawGps.heading_uncertainty_deg', index=12, + number=13, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='yaw_deg', full_name='mavsdk.rpc.telemetry_server.RawGps.yaw_deg', index=13, + number=14, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4053, + serialized_end=4404, +) + + +_BATTERY = _descriptor.Descriptor( + name='Battery', + full_name='mavsdk.rpc.telemetry_server.Battery', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='voltage_v', full_name='mavsdk.rpc.telemetry_server.Battery.voltage_v', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remaining_percent', full_name='mavsdk.rpc.telemetry_server.Battery.remaining_percent', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4406, + serialized_end=4479, +) + + +_HEALTH = _descriptor.Descriptor( + name='Health', + full_name='mavsdk.rpc.telemetry_server.Health', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='is_gyrometer_calibration_ok', full_name='mavsdk.rpc.telemetry_server.Health.is_gyrometer_calibration_ok', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\005false', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='is_accelerometer_calibration_ok', full_name='mavsdk.rpc.telemetry_server.Health.is_accelerometer_calibration_ok', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\005false', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='is_magnetometer_calibration_ok', full_name='mavsdk.rpc.telemetry_server.Health.is_magnetometer_calibration_ok', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\005false', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='is_local_position_ok', full_name='mavsdk.rpc.telemetry_server.Health.is_local_position_ok', index=3, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\005false', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='is_global_position_ok', full_name='mavsdk.rpc.telemetry_server.Health.is_global_position_ok', index=4, + number=6, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\005false', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='is_home_position_ok', full_name='mavsdk.rpc.telemetry_server.Health.is_home_position_ok', index=5, + number=7, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\005false', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='is_armable', full_name='mavsdk.rpc.telemetry_server.Health.is_armable', index=6, + number=8, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\005false', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4482, + serialized_end=4795, +) + + +_RCSTATUS = _descriptor.Descriptor( + name='RcStatus', + full_name='mavsdk.rpc.telemetry_server.RcStatus', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='was_available_once', full_name='mavsdk.rpc.telemetry_server.RcStatus.was_available_once', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\005false', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='is_available', full_name='mavsdk.rpc.telemetry_server.RcStatus.is_available', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\005false', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='signal_strength_percent', full_name='mavsdk.rpc.telemetry_server.RcStatus.signal_strength_percent', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4797, + serialized_end=4921, +) + + +_STATUSTEXT = _descriptor.Descriptor( + name='StatusText', + full_name='mavsdk.rpc.telemetry_server.StatusText', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='type', full_name='mavsdk.rpc.telemetry_server.StatusText.type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='text', full_name='mavsdk.rpc.telemetry_server.StatusText.text', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4923, + serialized_end=5008, +) + + +_ACTUATORCONTROLTARGET = _descriptor.Descriptor( + name='ActuatorControlTarget', + full_name='mavsdk.rpc.telemetry_server.ActuatorControlTarget', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='group', full_name='mavsdk.rpc.telemetry_server.ActuatorControlTarget.group', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\0010', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='controls', full_name='mavsdk.rpc.telemetry_server.ActuatorControlTarget.controls', index=1, + number=2, type=2, cpp_type=6, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5010, + serialized_end=5073, +) + + +_ACTUATOROUTPUTSTATUS = _descriptor.Descriptor( + name='ActuatorOutputStatus', + full_name='mavsdk.rpc.telemetry_server.ActuatorOutputStatus', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='active', full_name='mavsdk.rpc.telemetry_server.ActuatorOutputStatus.active', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\0010', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='actuator', full_name='mavsdk.rpc.telemetry_server.ActuatorOutputStatus.actuator', index=1, + number=2, type=2, cpp_type=6, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5075, + serialized_end=5138, +) + + +_COVARIANCE = _descriptor.Descriptor( + name='Covariance', + full_name='mavsdk.rpc.telemetry_server.Covariance', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='covariance_matrix', full_name='mavsdk.rpc.telemetry_server.Covariance.covariance_matrix', index=0, + number=1, type=2, cpp_type=6, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5140, + serialized_end=5179, +) + + +_VELOCITYBODY = _descriptor.Descriptor( + name='VelocityBody', + full_name='mavsdk.rpc.telemetry_server.VelocityBody', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='x_m_s', full_name='mavsdk.rpc.telemetry_server.VelocityBody.x_m_s', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='y_m_s', full_name='mavsdk.rpc.telemetry_server.VelocityBody.y_m_s', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='z_m_s', full_name='mavsdk.rpc.telemetry_server.VelocityBody.z_m_s', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5181, + serialized_end=5240, +) + + +_POSITIONBODY = _descriptor.Descriptor( + name='PositionBody', + full_name='mavsdk.rpc.telemetry_server.PositionBody', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='x_m', full_name='mavsdk.rpc.telemetry_server.PositionBody.x_m', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='y_m', full_name='mavsdk.rpc.telemetry_server.PositionBody.y_m', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='z_m', full_name='mavsdk.rpc.telemetry_server.PositionBody.z_m', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5242, + serialized_end=5295, +) + + +_ODOMETRY = _descriptor.Descriptor( + name='Odometry', + full_name='mavsdk.rpc.telemetry_server.Odometry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='time_usec', full_name='mavsdk.rpc.telemetry_server.Odometry.time_usec', index=0, + number=1, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='frame_id', full_name='mavsdk.rpc.telemetry_server.Odometry.frame_id', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='child_frame_id', full_name='mavsdk.rpc.telemetry_server.Odometry.child_frame_id', index=2, + number=3, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='position_body', full_name='mavsdk.rpc.telemetry_server.Odometry.position_body', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='q', full_name='mavsdk.rpc.telemetry_server.Odometry.q', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='velocity_body', full_name='mavsdk.rpc.telemetry_server.Odometry.velocity_body', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='angular_velocity_body', full_name='mavsdk.rpc.telemetry_server.Odometry.angular_velocity_body', index=6, + number=7, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pose_covariance', full_name='mavsdk.rpc.telemetry_server.Odometry.pose_covariance', index=7, + number=8, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='velocity_covariance', full_name='mavsdk.rpc.telemetry_server.Odometry.velocity_covariance', index=8, + number=9, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _ODOMETRY_MAVFRAME, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5298, + serialized_end=5974, +) + + +_DISTANCESENSOR = _descriptor.Descriptor( + name='DistanceSensor', + full_name='mavsdk.rpc.telemetry_server.DistanceSensor', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='minimum_distance_m', full_name='mavsdk.rpc.telemetry_server.DistanceSensor.minimum_distance_m', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='maximum_distance_m', full_name='mavsdk.rpc.telemetry_server.DistanceSensor.maximum_distance_m', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='current_distance_m', full_name='mavsdk.rpc.telemetry_server.DistanceSensor.current_distance_m', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5976, + serialized_end=6103, +) + + +_SCALEDPRESSURE = _descriptor.Descriptor( + name='ScaledPressure', + full_name='mavsdk.rpc.telemetry_server.ScaledPressure', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='timestamp_us', full_name='mavsdk.rpc.telemetry_server.ScaledPressure.timestamp_us', index=0, + number=1, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='absolute_pressure_hpa', full_name='mavsdk.rpc.telemetry_server.ScaledPressure.absolute_pressure_hpa', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='differential_pressure_hpa', full_name='mavsdk.rpc.telemetry_server.ScaledPressure.differential_pressure_hpa', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='temperature_deg', full_name='mavsdk.rpc.telemetry_server.ScaledPressure.temperature_deg', index=3, + number=4, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='differential_pressure_temperature_deg', full_name='mavsdk.rpc.telemetry_server.ScaledPressure.differential_pressure_temperature_deg', index=4, + number=5, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6106, + serialized_end=6282, +) + + +_POSITIONNED = _descriptor.Descriptor( + name='PositionNed', + full_name='mavsdk.rpc.telemetry_server.PositionNed', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='north_m', full_name='mavsdk.rpc.telemetry_server.PositionNed.north_m', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='east_m', full_name='mavsdk.rpc.telemetry_server.PositionNed.east_m', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='down_m', full_name='mavsdk.rpc.telemetry_server.PositionNed.down_m', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6284, + serialized_end=6373, +) + + +_VELOCITYNED = _descriptor.Descriptor( + name='VelocityNed', + full_name='mavsdk.rpc.telemetry_server.VelocityNed', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='north_m_s', full_name='mavsdk.rpc.telemetry_server.VelocityNed.north_m_s', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='east_m_s', full_name='mavsdk.rpc.telemetry_server.VelocityNed.east_m_s', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='down_m_s', full_name='mavsdk.rpc.telemetry_server.VelocityNed.down_m_s', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6375, + serialized_end=6443, +) + + +_POSITIONVELOCITYNED = _descriptor.Descriptor( + name='PositionVelocityNed', + full_name='mavsdk.rpc.telemetry_server.PositionVelocityNed', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='position', full_name='mavsdk.rpc.telemetry_server.PositionVelocityNed.position', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='velocity', full_name='mavsdk.rpc.telemetry_server.PositionVelocityNed.velocity', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6446, + serialized_end=6587, +) + + +_GROUNDTRUTH = _descriptor.Descriptor( + name='GroundTruth', + full_name='mavsdk.rpc.telemetry_server.GroundTruth', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='latitude_deg', full_name='mavsdk.rpc.telemetry_server.GroundTruth.latitude_deg', index=0, + number=1, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='longitude_deg', full_name='mavsdk.rpc.telemetry_server.GroundTruth.longitude_deg', index=1, + number=2, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='absolute_altitude_m', full_name='mavsdk.rpc.telemetry_server.GroundTruth.absolute_altitude_m', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6589, + serialized_end=6703, +) + + +_FIXEDWINGMETRICS = _descriptor.Descriptor( + name='FixedwingMetrics', + full_name='mavsdk.rpc.telemetry_server.FixedwingMetrics', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='airspeed_m_s', full_name='mavsdk.rpc.telemetry_server.FixedwingMetrics.airspeed_m_s', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='throttle_percentage', full_name='mavsdk.rpc.telemetry_server.FixedwingMetrics.throttle_percentage', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='climb_rate_m_s', full_name='mavsdk.rpc.telemetry_server.FixedwingMetrics.climb_rate_m_s', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6705, + serialized_end=6825, +) + + +_ACCELERATIONFRD = _descriptor.Descriptor( + name='AccelerationFrd', + full_name='mavsdk.rpc.telemetry_server.AccelerationFrd', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='forward_m_s2', full_name='mavsdk.rpc.telemetry_server.AccelerationFrd.forward_m_s2', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='right_m_s2', full_name='mavsdk.rpc.telemetry_server.AccelerationFrd.right_m_s2', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='down_m_s2', full_name='mavsdk.rpc.telemetry_server.AccelerationFrd.down_m_s2', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6827, + serialized_end=6932, +) + + +_ANGULARVELOCITYFRD = _descriptor.Descriptor( + name='AngularVelocityFrd', + full_name='mavsdk.rpc.telemetry_server.AngularVelocityFrd', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='forward_rad_s', full_name='mavsdk.rpc.telemetry_server.AngularVelocityFrd.forward_rad_s', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='right_rad_s', full_name='mavsdk.rpc.telemetry_server.AngularVelocityFrd.right_rad_s', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='down_rad_s', full_name='mavsdk.rpc.telemetry_server.AngularVelocityFrd.down_rad_s', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6934, + serialized_end=7045, +) + + +_MAGNETICFIELDFRD = _descriptor.Descriptor( + name='MagneticFieldFrd', + full_name='mavsdk.rpc.telemetry_server.MagneticFieldFrd', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='forward_gauss', full_name='mavsdk.rpc.telemetry_server.MagneticFieldFrd.forward_gauss', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='right_gauss', full_name='mavsdk.rpc.telemetry_server.MagneticFieldFrd.right_gauss', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='down_gauss', full_name='mavsdk.rpc.telemetry_server.MagneticFieldFrd.down_gauss', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7047, + serialized_end=7156, +) + + +_IMU = _descriptor.Descriptor( + name='Imu', + full_name='mavsdk.rpc.telemetry_server.Imu', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='acceleration_frd', full_name='mavsdk.rpc.telemetry_server.Imu.acceleration_frd', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='angular_velocity_frd', full_name='mavsdk.rpc.telemetry_server.Imu.angular_velocity_frd', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='magnetic_field_frd', full_name='mavsdk.rpc.telemetry_server.Imu.magnetic_field_frd', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='temperature_degc', full_name='mavsdk.rpc.telemetry_server.Imu.temperature_degc', index=3, + number=4, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\202\265\030\003NaN', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='timestamp_us', full_name='mavsdk.rpc.telemetry_server.Imu.timestamp_us', index=4, + number=5, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7159, + serialized_end=7447, +) + + +_TELEMETRYSERVERRESULT = _descriptor.Descriptor( + name='TelemetryServerResult', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerResult', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='result', full_name='mavsdk.rpc.telemetry_server.TelemetryServerResult.result', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='result_str', full_name='mavsdk.rpc.telemetry_server.TelemetryServerResult.result_str', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _TELEMETRYSERVERRESULT_RESULT, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7450, + serialized_end=7758, +) + +_PUBLISHPOSITIONREQUEST.fields_by_name['position'].message_type = _POSITION +_PUBLISHPOSITIONREQUEST.fields_by_name['velocity_ned'].message_type = _VELOCITYNED +_PUBLISHHOMEREQUEST.fields_by_name['home'].message_type = _POSITION +_PUBLISHLANDEDSTATEREQUEST.fields_by_name['landed_state'].enum_type = _LANDEDSTATE +_PUBLISHRAWGPSREQUEST.fields_by_name['raw_gps'].message_type = _RAWGPS +_PUBLISHRAWGPSREQUEST.fields_by_name['gps_info'].message_type = _GPSINFO +_PUBLISHBATTERYREQUEST.fields_by_name['battery'].message_type = _BATTERY +_PUBLISHFLIGHTMODEREQUEST.fields_by_name['flight_mode'].enum_type = _FLIGHTMODE +_PUBLISHHEALTHREQUEST.fields_by_name['health'].message_type = _HEALTH +_PUBLISHRCSTATUSREQUEST.fields_by_name['rc_status'].message_type = _RCSTATUS +_PUBLISHSTATUSTEXTREQUEST.fields_by_name['status_text'].message_type = _STATUSTEXT +_PUBLISHODOMETRYREQUEST.fields_by_name['odometry'].message_type = _ODOMETRY +_PUBLISHPOSITIONVELOCITYNEDREQUEST.fields_by_name['position_velocity_ned'].message_type = _POSITIONVELOCITYNED +_PUBLISHGROUNDTRUTHREQUEST.fields_by_name['ground_truth'].message_type = _GROUNDTRUTH +_PUBLISHIMUREQUEST.fields_by_name['imu'].message_type = _IMU +_PUBLISHSCALEDIMUREQUEST.fields_by_name['imu'].message_type = _IMU +_PUBLISHRAWIMUREQUEST.fields_by_name['imu'].message_type = _IMU +_PUBLISHPOSITIONRESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHHOMERESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHARMEDRESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHRAWGPSRESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHBATTERYRESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHFLIGHTMODERESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHHEALTHRESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHSTATUSTEXTRESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHODOMETRYRESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHPOSITIONVELOCITYNEDRESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHGROUNDTRUTHRESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHIMURESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHSCALEDIMURESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHRAWIMURESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHHEALTHALLOKRESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_PUBLISHUNIXEPOCHTIMERESPONSE.fields_by_name['telemetry_server_result'].message_type = _TELEMETRYSERVERRESULT +_GPSINFO.fields_by_name['fix_type'].enum_type = _FIXTYPE +_STATUSTEXT.fields_by_name['type'].enum_type = _STATUSTEXTTYPE +_ODOMETRY.fields_by_name['frame_id'].enum_type = _ODOMETRY_MAVFRAME +_ODOMETRY.fields_by_name['child_frame_id'].enum_type = _ODOMETRY_MAVFRAME +_ODOMETRY.fields_by_name['position_body'].message_type = _POSITIONBODY +_ODOMETRY.fields_by_name['q'].message_type = _QUATERNION +_ODOMETRY.fields_by_name['velocity_body'].message_type = _VELOCITYBODY +_ODOMETRY.fields_by_name['angular_velocity_body'].message_type = _ANGULARVELOCITYBODY +_ODOMETRY.fields_by_name['pose_covariance'].message_type = _COVARIANCE +_ODOMETRY.fields_by_name['velocity_covariance'].message_type = _COVARIANCE +_ODOMETRY_MAVFRAME.containing_type = _ODOMETRY +_POSITIONVELOCITYNED.fields_by_name['position'].message_type = _POSITIONNED +_POSITIONVELOCITYNED.fields_by_name['velocity'].message_type = _VELOCITYNED +_IMU.fields_by_name['acceleration_frd'].message_type = _ACCELERATIONFRD +_IMU.fields_by_name['angular_velocity_frd'].message_type = _ANGULARVELOCITYFRD +_IMU.fields_by_name['magnetic_field_frd'].message_type = _MAGNETICFIELDFRD +_TELEMETRYSERVERRESULT.fields_by_name['result'].enum_type = _TELEMETRYSERVERRESULT_RESULT +_TELEMETRYSERVERRESULT_RESULT.containing_type = _TELEMETRYSERVERRESULT +DESCRIPTOR.message_types_by_name['PublishPositionRequest'] = _PUBLISHPOSITIONREQUEST +DESCRIPTOR.message_types_by_name['PublishHomeRequest'] = _PUBLISHHOMEREQUEST +DESCRIPTOR.message_types_by_name['PublishInAirRequest'] = _PUBLISHINAIRREQUEST +DESCRIPTOR.message_types_by_name['PublishLandedStateRequest'] = _PUBLISHLANDEDSTATEREQUEST +DESCRIPTOR.message_types_by_name['PublishArmedRequest'] = _PUBLISHARMEDREQUEST +DESCRIPTOR.message_types_by_name['PublishRawGpsRequest'] = _PUBLISHRAWGPSREQUEST +DESCRIPTOR.message_types_by_name['PublishBatteryRequest'] = _PUBLISHBATTERYREQUEST +DESCRIPTOR.message_types_by_name['PublishFlightModeRequest'] = _PUBLISHFLIGHTMODEREQUEST +DESCRIPTOR.message_types_by_name['PublishHealthRequest'] = _PUBLISHHEALTHREQUEST +DESCRIPTOR.message_types_by_name['PublishRcStatusRequest'] = _PUBLISHRCSTATUSREQUEST +DESCRIPTOR.message_types_by_name['PublishStatusTextRequest'] = _PUBLISHSTATUSTEXTREQUEST +DESCRIPTOR.message_types_by_name['PublishOdometryRequest'] = _PUBLISHODOMETRYREQUEST +DESCRIPTOR.message_types_by_name['PublishPositionVelocityNedRequest'] = _PUBLISHPOSITIONVELOCITYNEDREQUEST +DESCRIPTOR.message_types_by_name['PublishGroundTruthRequest'] = _PUBLISHGROUNDTRUTHREQUEST +DESCRIPTOR.message_types_by_name['PublishImuRequest'] = _PUBLISHIMUREQUEST +DESCRIPTOR.message_types_by_name['PublishScaledImuRequest'] = _PUBLISHSCALEDIMUREQUEST +DESCRIPTOR.message_types_by_name['PublishRawImuRequest'] = _PUBLISHRAWIMUREQUEST +DESCRIPTOR.message_types_by_name['PublishHealthAllOkRequest'] = _PUBLISHHEALTHALLOKREQUEST +DESCRIPTOR.message_types_by_name['PublishUnixEpochTimeRequest'] = _PUBLISHUNIXEPOCHTIMEREQUEST +DESCRIPTOR.message_types_by_name['PublishPositionResponse'] = _PUBLISHPOSITIONRESPONSE +DESCRIPTOR.message_types_by_name['PublishHomeResponse'] = _PUBLISHHOMERESPONSE +DESCRIPTOR.message_types_by_name['PublishArmedResponse'] = _PUBLISHARMEDRESPONSE +DESCRIPTOR.message_types_by_name['PublishRawGpsResponse'] = _PUBLISHRAWGPSRESPONSE +DESCRIPTOR.message_types_by_name['PublishBatteryResponse'] = _PUBLISHBATTERYRESPONSE +DESCRIPTOR.message_types_by_name['PublishFlightModeResponse'] = _PUBLISHFLIGHTMODERESPONSE +DESCRIPTOR.message_types_by_name['PublishHealthResponse'] = _PUBLISHHEALTHRESPONSE +DESCRIPTOR.message_types_by_name['PublishStatusTextResponse'] = _PUBLISHSTATUSTEXTRESPONSE +DESCRIPTOR.message_types_by_name['PublishOdometryResponse'] = _PUBLISHODOMETRYRESPONSE +DESCRIPTOR.message_types_by_name['PublishPositionVelocityNedResponse'] = _PUBLISHPOSITIONVELOCITYNEDRESPONSE +DESCRIPTOR.message_types_by_name['PublishGroundTruthResponse'] = _PUBLISHGROUNDTRUTHRESPONSE +DESCRIPTOR.message_types_by_name['PublishImuResponse'] = _PUBLISHIMURESPONSE +DESCRIPTOR.message_types_by_name['PublishScaledImuResponse'] = _PUBLISHSCALEDIMURESPONSE +DESCRIPTOR.message_types_by_name['PublishRawImuResponse'] = _PUBLISHRAWIMURESPONSE +DESCRIPTOR.message_types_by_name['PublishHealthAllOkResponse'] = _PUBLISHHEALTHALLOKRESPONSE +DESCRIPTOR.message_types_by_name['PublishUnixEpochTimeResponse'] = _PUBLISHUNIXEPOCHTIMERESPONSE +DESCRIPTOR.message_types_by_name['Position'] = _POSITION +DESCRIPTOR.message_types_by_name['Quaternion'] = _QUATERNION +DESCRIPTOR.message_types_by_name['EulerAngle'] = _EULERANGLE +DESCRIPTOR.message_types_by_name['AngularVelocityBody'] = _ANGULARVELOCITYBODY +DESCRIPTOR.message_types_by_name['GpsInfo'] = _GPSINFO +DESCRIPTOR.message_types_by_name['RawGps'] = _RAWGPS +DESCRIPTOR.message_types_by_name['Battery'] = _BATTERY +DESCRIPTOR.message_types_by_name['Health'] = _HEALTH +DESCRIPTOR.message_types_by_name['RcStatus'] = _RCSTATUS +DESCRIPTOR.message_types_by_name['StatusText'] = _STATUSTEXT +DESCRIPTOR.message_types_by_name['ActuatorControlTarget'] = _ACTUATORCONTROLTARGET +DESCRIPTOR.message_types_by_name['ActuatorOutputStatus'] = _ACTUATOROUTPUTSTATUS +DESCRIPTOR.message_types_by_name['Covariance'] = _COVARIANCE +DESCRIPTOR.message_types_by_name['VelocityBody'] = _VELOCITYBODY +DESCRIPTOR.message_types_by_name['PositionBody'] = _POSITIONBODY +DESCRIPTOR.message_types_by_name['Odometry'] = _ODOMETRY +DESCRIPTOR.message_types_by_name['DistanceSensor'] = _DISTANCESENSOR +DESCRIPTOR.message_types_by_name['ScaledPressure'] = _SCALEDPRESSURE +DESCRIPTOR.message_types_by_name['PositionNed'] = _POSITIONNED +DESCRIPTOR.message_types_by_name['VelocityNed'] = _VELOCITYNED +DESCRIPTOR.message_types_by_name['PositionVelocityNed'] = _POSITIONVELOCITYNED +DESCRIPTOR.message_types_by_name['GroundTruth'] = _GROUNDTRUTH +DESCRIPTOR.message_types_by_name['FixedwingMetrics'] = _FIXEDWINGMETRICS +DESCRIPTOR.message_types_by_name['AccelerationFrd'] = _ACCELERATIONFRD +DESCRIPTOR.message_types_by_name['AngularVelocityFrd'] = _ANGULARVELOCITYFRD +DESCRIPTOR.message_types_by_name['MagneticFieldFrd'] = _MAGNETICFIELDFRD +DESCRIPTOR.message_types_by_name['Imu'] = _IMU +DESCRIPTOR.message_types_by_name['TelemetryServerResult'] = _TELEMETRYSERVERRESULT +DESCRIPTOR.enum_types_by_name['FixType'] = _FIXTYPE +DESCRIPTOR.enum_types_by_name['FlightMode'] = _FLIGHTMODE +DESCRIPTOR.enum_types_by_name['StatusTextType'] = _STATUSTEXTTYPE +DESCRIPTOR.enum_types_by_name['LandedState'] = _LANDEDSTATE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +PublishPositionRequest = _reflection.GeneratedProtocolMessageType('PublishPositionRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHPOSITIONREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishPositionRequest) + }) +_sym_db.RegisterMessage(PublishPositionRequest) + +PublishHomeRequest = _reflection.GeneratedProtocolMessageType('PublishHomeRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHHOMEREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishHomeRequest) + }) +_sym_db.RegisterMessage(PublishHomeRequest) + +PublishInAirRequest = _reflection.GeneratedProtocolMessageType('PublishInAirRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHINAIRREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishInAirRequest) + }) +_sym_db.RegisterMessage(PublishInAirRequest) + +PublishLandedStateRequest = _reflection.GeneratedProtocolMessageType('PublishLandedStateRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHLANDEDSTATEREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishLandedStateRequest) + }) +_sym_db.RegisterMessage(PublishLandedStateRequest) + +PublishArmedRequest = _reflection.GeneratedProtocolMessageType('PublishArmedRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHARMEDREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishArmedRequest) + }) +_sym_db.RegisterMessage(PublishArmedRequest) + +PublishRawGpsRequest = _reflection.GeneratedProtocolMessageType('PublishRawGpsRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHRAWGPSREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishRawGpsRequest) + }) +_sym_db.RegisterMessage(PublishRawGpsRequest) + +PublishBatteryRequest = _reflection.GeneratedProtocolMessageType('PublishBatteryRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHBATTERYREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishBatteryRequest) + }) +_sym_db.RegisterMessage(PublishBatteryRequest) + +PublishFlightModeRequest = _reflection.GeneratedProtocolMessageType('PublishFlightModeRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHFLIGHTMODEREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishFlightModeRequest) + }) +_sym_db.RegisterMessage(PublishFlightModeRequest) + +PublishHealthRequest = _reflection.GeneratedProtocolMessageType('PublishHealthRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHHEALTHREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishHealthRequest) + }) +_sym_db.RegisterMessage(PublishHealthRequest) + +PublishRcStatusRequest = _reflection.GeneratedProtocolMessageType('PublishRcStatusRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHRCSTATUSREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishRcStatusRequest) + }) +_sym_db.RegisterMessage(PublishRcStatusRequest) + +PublishStatusTextRequest = _reflection.GeneratedProtocolMessageType('PublishStatusTextRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHSTATUSTEXTREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishStatusTextRequest) + }) +_sym_db.RegisterMessage(PublishStatusTextRequest) + +PublishOdometryRequest = _reflection.GeneratedProtocolMessageType('PublishOdometryRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHODOMETRYREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishOdometryRequest) + }) +_sym_db.RegisterMessage(PublishOdometryRequest) + +PublishPositionVelocityNedRequest = _reflection.GeneratedProtocolMessageType('PublishPositionVelocityNedRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHPOSITIONVELOCITYNEDREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishPositionVelocityNedRequest) + }) +_sym_db.RegisterMessage(PublishPositionVelocityNedRequest) + +PublishGroundTruthRequest = _reflection.GeneratedProtocolMessageType('PublishGroundTruthRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHGROUNDTRUTHREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishGroundTruthRequest) + }) +_sym_db.RegisterMessage(PublishGroundTruthRequest) + +PublishImuRequest = _reflection.GeneratedProtocolMessageType('PublishImuRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHIMUREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishImuRequest) + }) +_sym_db.RegisterMessage(PublishImuRequest) + +PublishScaledImuRequest = _reflection.GeneratedProtocolMessageType('PublishScaledImuRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHSCALEDIMUREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishScaledImuRequest) + }) +_sym_db.RegisterMessage(PublishScaledImuRequest) + +PublishRawImuRequest = _reflection.GeneratedProtocolMessageType('PublishRawImuRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHRAWIMUREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishRawImuRequest) + }) +_sym_db.RegisterMessage(PublishRawImuRequest) + +PublishHealthAllOkRequest = _reflection.GeneratedProtocolMessageType('PublishHealthAllOkRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHHEALTHALLOKREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishHealthAllOkRequest) + }) +_sym_db.RegisterMessage(PublishHealthAllOkRequest) + +PublishUnixEpochTimeRequest = _reflection.GeneratedProtocolMessageType('PublishUnixEpochTimeRequest', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHUNIXEPOCHTIMEREQUEST, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishUnixEpochTimeRequest) + }) +_sym_db.RegisterMessage(PublishUnixEpochTimeRequest) + +PublishPositionResponse = _reflection.GeneratedProtocolMessageType('PublishPositionResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHPOSITIONRESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishPositionResponse) + }) +_sym_db.RegisterMessage(PublishPositionResponse) + +PublishHomeResponse = _reflection.GeneratedProtocolMessageType('PublishHomeResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHHOMERESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishHomeResponse) + }) +_sym_db.RegisterMessage(PublishHomeResponse) + +PublishArmedResponse = _reflection.GeneratedProtocolMessageType('PublishArmedResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHARMEDRESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishArmedResponse) + }) +_sym_db.RegisterMessage(PublishArmedResponse) + +PublishRawGpsResponse = _reflection.GeneratedProtocolMessageType('PublishRawGpsResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHRAWGPSRESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishRawGpsResponse) + }) +_sym_db.RegisterMessage(PublishRawGpsResponse) + +PublishBatteryResponse = _reflection.GeneratedProtocolMessageType('PublishBatteryResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHBATTERYRESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishBatteryResponse) + }) +_sym_db.RegisterMessage(PublishBatteryResponse) + +PublishFlightModeResponse = _reflection.GeneratedProtocolMessageType('PublishFlightModeResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHFLIGHTMODERESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishFlightModeResponse) + }) +_sym_db.RegisterMessage(PublishFlightModeResponse) + +PublishHealthResponse = _reflection.GeneratedProtocolMessageType('PublishHealthResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHHEALTHRESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishHealthResponse) + }) +_sym_db.RegisterMessage(PublishHealthResponse) + +PublishStatusTextResponse = _reflection.GeneratedProtocolMessageType('PublishStatusTextResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHSTATUSTEXTRESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishStatusTextResponse) + }) +_sym_db.RegisterMessage(PublishStatusTextResponse) + +PublishOdometryResponse = _reflection.GeneratedProtocolMessageType('PublishOdometryResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHODOMETRYRESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishOdometryResponse) + }) +_sym_db.RegisterMessage(PublishOdometryResponse) + +PublishPositionVelocityNedResponse = _reflection.GeneratedProtocolMessageType('PublishPositionVelocityNedResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHPOSITIONVELOCITYNEDRESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishPositionVelocityNedResponse) + }) +_sym_db.RegisterMessage(PublishPositionVelocityNedResponse) + +PublishGroundTruthResponse = _reflection.GeneratedProtocolMessageType('PublishGroundTruthResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHGROUNDTRUTHRESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishGroundTruthResponse) + }) +_sym_db.RegisterMessage(PublishGroundTruthResponse) + +PublishImuResponse = _reflection.GeneratedProtocolMessageType('PublishImuResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHIMURESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishImuResponse) + }) +_sym_db.RegisterMessage(PublishImuResponse) + +PublishScaledImuResponse = _reflection.GeneratedProtocolMessageType('PublishScaledImuResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHSCALEDIMURESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishScaledImuResponse) + }) +_sym_db.RegisterMessage(PublishScaledImuResponse) + +PublishRawImuResponse = _reflection.GeneratedProtocolMessageType('PublishRawImuResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHRAWIMURESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishRawImuResponse) + }) +_sym_db.RegisterMessage(PublishRawImuResponse) + +PublishHealthAllOkResponse = _reflection.GeneratedProtocolMessageType('PublishHealthAllOkResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHHEALTHALLOKRESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishHealthAllOkResponse) + }) +_sym_db.RegisterMessage(PublishHealthAllOkResponse) + +PublishUnixEpochTimeResponse = _reflection.GeneratedProtocolMessageType('PublishUnixEpochTimeResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHUNIXEPOCHTIMERESPONSE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PublishUnixEpochTimeResponse) + }) +_sym_db.RegisterMessage(PublishUnixEpochTimeResponse) + +Position = _reflection.GeneratedProtocolMessageType('Position', (_message.Message,), { + 'DESCRIPTOR' : _POSITION, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.Position) + }) +_sym_db.RegisterMessage(Position) + +Quaternion = _reflection.GeneratedProtocolMessageType('Quaternion', (_message.Message,), { + 'DESCRIPTOR' : _QUATERNION, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.Quaternion) + }) +_sym_db.RegisterMessage(Quaternion) + +EulerAngle = _reflection.GeneratedProtocolMessageType('EulerAngle', (_message.Message,), { + 'DESCRIPTOR' : _EULERANGLE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.EulerAngle) + }) +_sym_db.RegisterMessage(EulerAngle) + +AngularVelocityBody = _reflection.GeneratedProtocolMessageType('AngularVelocityBody', (_message.Message,), { + 'DESCRIPTOR' : _ANGULARVELOCITYBODY, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.AngularVelocityBody) + }) +_sym_db.RegisterMessage(AngularVelocityBody) + +GpsInfo = _reflection.GeneratedProtocolMessageType('GpsInfo', (_message.Message,), { + 'DESCRIPTOR' : _GPSINFO, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.GpsInfo) + }) +_sym_db.RegisterMessage(GpsInfo) + +RawGps = _reflection.GeneratedProtocolMessageType('RawGps', (_message.Message,), { + 'DESCRIPTOR' : _RAWGPS, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.RawGps) + }) +_sym_db.RegisterMessage(RawGps) + +Battery = _reflection.GeneratedProtocolMessageType('Battery', (_message.Message,), { + 'DESCRIPTOR' : _BATTERY, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.Battery) + }) +_sym_db.RegisterMessage(Battery) + +Health = _reflection.GeneratedProtocolMessageType('Health', (_message.Message,), { + 'DESCRIPTOR' : _HEALTH, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.Health) + }) +_sym_db.RegisterMessage(Health) + +RcStatus = _reflection.GeneratedProtocolMessageType('RcStatus', (_message.Message,), { + 'DESCRIPTOR' : _RCSTATUS, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.RcStatus) + }) +_sym_db.RegisterMessage(RcStatus) + +StatusText = _reflection.GeneratedProtocolMessageType('StatusText', (_message.Message,), { + 'DESCRIPTOR' : _STATUSTEXT, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.StatusText) + }) +_sym_db.RegisterMessage(StatusText) + +ActuatorControlTarget = _reflection.GeneratedProtocolMessageType('ActuatorControlTarget', (_message.Message,), { + 'DESCRIPTOR' : _ACTUATORCONTROLTARGET, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.ActuatorControlTarget) + }) +_sym_db.RegisterMessage(ActuatorControlTarget) + +ActuatorOutputStatus = _reflection.GeneratedProtocolMessageType('ActuatorOutputStatus', (_message.Message,), { + 'DESCRIPTOR' : _ACTUATOROUTPUTSTATUS, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.ActuatorOutputStatus) + }) +_sym_db.RegisterMessage(ActuatorOutputStatus) + +Covariance = _reflection.GeneratedProtocolMessageType('Covariance', (_message.Message,), { + 'DESCRIPTOR' : _COVARIANCE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.Covariance) + }) +_sym_db.RegisterMessage(Covariance) + +VelocityBody = _reflection.GeneratedProtocolMessageType('VelocityBody', (_message.Message,), { + 'DESCRIPTOR' : _VELOCITYBODY, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.VelocityBody) + }) +_sym_db.RegisterMessage(VelocityBody) + +PositionBody = _reflection.GeneratedProtocolMessageType('PositionBody', (_message.Message,), { + 'DESCRIPTOR' : _POSITIONBODY, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PositionBody) + }) +_sym_db.RegisterMessage(PositionBody) + +Odometry = _reflection.GeneratedProtocolMessageType('Odometry', (_message.Message,), { + 'DESCRIPTOR' : _ODOMETRY, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.Odometry) + }) +_sym_db.RegisterMessage(Odometry) + +DistanceSensor = _reflection.GeneratedProtocolMessageType('DistanceSensor', (_message.Message,), { + 'DESCRIPTOR' : _DISTANCESENSOR, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.DistanceSensor) + }) +_sym_db.RegisterMessage(DistanceSensor) + +ScaledPressure = _reflection.GeneratedProtocolMessageType('ScaledPressure', (_message.Message,), { + 'DESCRIPTOR' : _SCALEDPRESSURE, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.ScaledPressure) + }) +_sym_db.RegisterMessage(ScaledPressure) + +PositionNed = _reflection.GeneratedProtocolMessageType('PositionNed', (_message.Message,), { + 'DESCRIPTOR' : _POSITIONNED, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PositionNed) + }) +_sym_db.RegisterMessage(PositionNed) + +VelocityNed = _reflection.GeneratedProtocolMessageType('VelocityNed', (_message.Message,), { + 'DESCRIPTOR' : _VELOCITYNED, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.VelocityNed) + }) +_sym_db.RegisterMessage(VelocityNed) + +PositionVelocityNed = _reflection.GeneratedProtocolMessageType('PositionVelocityNed', (_message.Message,), { + 'DESCRIPTOR' : _POSITIONVELOCITYNED, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.PositionVelocityNed) + }) +_sym_db.RegisterMessage(PositionVelocityNed) + +GroundTruth = _reflection.GeneratedProtocolMessageType('GroundTruth', (_message.Message,), { + 'DESCRIPTOR' : _GROUNDTRUTH, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.GroundTruth) + }) +_sym_db.RegisterMessage(GroundTruth) + +FixedwingMetrics = _reflection.GeneratedProtocolMessageType('FixedwingMetrics', (_message.Message,), { + 'DESCRIPTOR' : _FIXEDWINGMETRICS, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.FixedwingMetrics) + }) +_sym_db.RegisterMessage(FixedwingMetrics) + +AccelerationFrd = _reflection.GeneratedProtocolMessageType('AccelerationFrd', (_message.Message,), { + 'DESCRIPTOR' : _ACCELERATIONFRD, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.AccelerationFrd) + }) +_sym_db.RegisterMessage(AccelerationFrd) + +AngularVelocityFrd = _reflection.GeneratedProtocolMessageType('AngularVelocityFrd', (_message.Message,), { + 'DESCRIPTOR' : _ANGULARVELOCITYFRD, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.AngularVelocityFrd) + }) +_sym_db.RegisterMessage(AngularVelocityFrd) + +MagneticFieldFrd = _reflection.GeneratedProtocolMessageType('MagneticFieldFrd', (_message.Message,), { + 'DESCRIPTOR' : _MAGNETICFIELDFRD, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.MagneticFieldFrd) + }) +_sym_db.RegisterMessage(MagneticFieldFrd) + +Imu = _reflection.GeneratedProtocolMessageType('Imu', (_message.Message,), { + 'DESCRIPTOR' : _IMU, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.Imu) + }) +_sym_db.RegisterMessage(Imu) + +TelemetryServerResult = _reflection.GeneratedProtocolMessageType('TelemetryServerResult', (_message.Message,), { + 'DESCRIPTOR' : _TELEMETRYSERVERRESULT, + '__module__' : 'telemetry_server.telemetry_server_pb2' + # @@protoc_insertion_point(class_scope:mavsdk.rpc.telemetry_server.TelemetryServerResult) + }) +_sym_db.RegisterMessage(TelemetryServerResult) + + +DESCRIPTOR._options = None +_POSITION.fields_by_name['latitude_deg']._options = None +_POSITION.fields_by_name['longitude_deg']._options = None +_POSITION.fields_by_name['absolute_altitude_m']._options = None +_POSITION.fields_by_name['relative_altitude_m']._options = None +_QUATERNION.fields_by_name['w']._options = None +_QUATERNION.fields_by_name['x']._options = None +_QUATERNION.fields_by_name['y']._options = None +_QUATERNION.fields_by_name['z']._options = None +_EULERANGLE.fields_by_name['roll_deg']._options = None +_EULERANGLE.fields_by_name['pitch_deg']._options = None +_EULERANGLE.fields_by_name['yaw_deg']._options = None +_ANGULARVELOCITYBODY.fields_by_name['roll_rad_s']._options = None +_ANGULARVELOCITYBODY.fields_by_name['pitch_rad_s']._options = None +_ANGULARVELOCITYBODY.fields_by_name['yaw_rad_s']._options = None +_GPSINFO.fields_by_name['num_satellites']._options = None +_BATTERY.fields_by_name['voltage_v']._options = None +_BATTERY.fields_by_name['remaining_percent']._options = None +_HEALTH.fields_by_name['is_gyrometer_calibration_ok']._options = None +_HEALTH.fields_by_name['is_accelerometer_calibration_ok']._options = None +_HEALTH.fields_by_name['is_magnetometer_calibration_ok']._options = None +_HEALTH.fields_by_name['is_local_position_ok']._options = None +_HEALTH.fields_by_name['is_global_position_ok']._options = None +_HEALTH.fields_by_name['is_home_position_ok']._options = None +_HEALTH.fields_by_name['is_armable']._options = None +_RCSTATUS.fields_by_name['was_available_once']._options = None +_RCSTATUS.fields_by_name['is_available']._options = None +_RCSTATUS.fields_by_name['signal_strength_percent']._options = None +_ACTUATORCONTROLTARGET.fields_by_name['group']._options = None +_ACTUATOROUTPUTSTATUS.fields_by_name['active']._options = None +_DISTANCESENSOR.fields_by_name['minimum_distance_m']._options = None +_DISTANCESENSOR.fields_by_name['maximum_distance_m']._options = None +_DISTANCESENSOR.fields_by_name['current_distance_m']._options = None +_POSITIONNED.fields_by_name['north_m']._options = None +_POSITIONNED.fields_by_name['east_m']._options = None +_POSITIONNED.fields_by_name['down_m']._options = None +_GROUNDTRUTH.fields_by_name['latitude_deg']._options = None +_GROUNDTRUTH.fields_by_name['longitude_deg']._options = None +_GROUNDTRUTH.fields_by_name['absolute_altitude_m']._options = None +_FIXEDWINGMETRICS.fields_by_name['airspeed_m_s']._options = None +_FIXEDWINGMETRICS.fields_by_name['throttle_percentage']._options = None +_FIXEDWINGMETRICS.fields_by_name['climb_rate_m_s']._options = None +_ACCELERATIONFRD.fields_by_name['forward_m_s2']._options = None +_ACCELERATIONFRD.fields_by_name['right_m_s2']._options = None +_ACCELERATIONFRD.fields_by_name['down_m_s2']._options = None +_ANGULARVELOCITYFRD.fields_by_name['forward_rad_s']._options = None +_ANGULARVELOCITYFRD.fields_by_name['right_rad_s']._options = None +_ANGULARVELOCITYFRD.fields_by_name['down_rad_s']._options = None +_MAGNETICFIELDFRD.fields_by_name['forward_gauss']._options = None +_MAGNETICFIELDFRD.fields_by_name['right_gauss']._options = None +_MAGNETICFIELDFRD.fields_by_name['down_gauss']._options = None +_IMU.fields_by_name['temperature_degc']._options = None + +_TELEMETRYSERVERSERVICE = _descriptor.ServiceDescriptor( + name='TelemetryServerService', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=8723, + serialized_end=10826, + methods=[ + _descriptor.MethodDescriptor( + name='PublishPosition', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishPosition', + index=0, + containing_service=None, + input_type=_PUBLISHPOSITIONREQUEST, + output_type=_PUBLISHPOSITIONRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishHome', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishHome', + index=1, + containing_service=None, + input_type=_PUBLISHHOMEREQUEST, + output_type=_PUBLISHHOMERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishArmed', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishArmed', + index=2, + containing_service=None, + input_type=_PUBLISHARMEDREQUEST, + output_type=_PUBLISHARMEDRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishRawGps', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishRawGps', + index=3, + containing_service=None, + input_type=_PUBLISHRAWGPSREQUEST, + output_type=_PUBLISHRAWGPSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishBattery', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishBattery', + index=4, + containing_service=None, + input_type=_PUBLISHBATTERYREQUEST, + output_type=_PUBLISHBATTERYRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishFlightMode', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishFlightMode', + index=5, + containing_service=None, + input_type=_PUBLISHFLIGHTMODEREQUEST, + output_type=_PUBLISHFLIGHTMODERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishHealth', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishHealth', + index=6, + containing_service=None, + input_type=_PUBLISHHEALTHREQUEST, + output_type=_PUBLISHHEALTHRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishStatusText', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishStatusText', + index=7, + containing_service=None, + input_type=_PUBLISHSTATUSTEXTREQUEST, + output_type=_PUBLISHSTATUSTEXTRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishOdometry', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishOdometry', + index=8, + containing_service=None, + input_type=_PUBLISHODOMETRYREQUEST, + output_type=_PUBLISHODOMETRYRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishPositionVelocityNed', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishPositionVelocityNed', + index=9, + containing_service=None, + input_type=_PUBLISHPOSITIONVELOCITYNEDREQUEST, + output_type=_PUBLISHPOSITIONVELOCITYNEDRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishGroundTruth', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishGroundTruth', + index=10, + containing_service=None, + input_type=_PUBLISHGROUNDTRUTHREQUEST, + output_type=_PUBLISHGROUNDTRUTHRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishImu', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishImu', + index=11, + containing_service=None, + input_type=_PUBLISHIMUREQUEST, + output_type=_PUBLISHIMURESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishScaledImu', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishScaledImu', + index=12, + containing_service=None, + input_type=_PUBLISHSCALEDIMUREQUEST, + output_type=_PUBLISHSCALEDIMURESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishRawImu', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishRawImu', + index=13, + containing_service=None, + input_type=_PUBLISHRAWIMUREQUEST, + output_type=_PUBLISHRAWIMURESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishHealthAllOk', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishHealthAllOk', + index=14, + containing_service=None, + input_type=_PUBLISHHEALTHALLOKREQUEST, + output_type=_PUBLISHHEALTHALLOKRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishUnixEpochTime', + full_name='mavsdk.rpc.telemetry_server.TelemetryServerService.PublishUnixEpochTime', + index=15, + containing_service=None, + input_type=_PUBLISHUNIXEPOCHTIMEREQUEST, + output_type=_PUBLISHUNIXEPOCHTIMERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_TELEMETRYSERVERSERVICE) + +DESCRIPTOR.services_by_name['TelemetryServerService'] = _TELEMETRYSERVERSERVICE + +# @@protoc_insertion_point(module_scope) diff --git a/mavsdk/telemetry_server_pb2_grpc.py b/mavsdk/telemetry_server_pb2_grpc.py new file mode 100644 index 00000000..a9cca53b --- /dev/null +++ b/mavsdk/telemetry_server_pb2_grpc.py @@ -0,0 +1,586 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from . import telemetry_server_pb2 as telemetry__server_dot_telemetry__server__pb2 + + +class TelemetryServerServiceStub(object): + """ + Allow users to provide vehicle telemetry and state information + (e.g. battery, GPS, RC connection, flight mode etc.) and set telemetry update rates. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.PublishPosition = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishPosition', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishPositionRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishPositionResponse.FromString, + ) + self.PublishHome = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishHome', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishHomeRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishHomeResponse.FromString, + ) + self.PublishArmed = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishArmed', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishArmedRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishArmedResponse.FromString, + ) + self.PublishRawGps = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishRawGps', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishRawGpsRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishRawGpsResponse.FromString, + ) + self.PublishBattery = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishBattery', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishBatteryRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishBatteryResponse.FromString, + ) + self.PublishFlightMode = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishFlightMode', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishFlightModeRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishFlightModeResponse.FromString, + ) + self.PublishHealth = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishHealth', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishHealthRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishHealthResponse.FromString, + ) + self.PublishStatusText = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishStatusText', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishStatusTextRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishStatusTextResponse.FromString, + ) + self.PublishOdometry = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishOdometry', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishOdometryRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishOdometryResponse.FromString, + ) + self.PublishPositionVelocityNed = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishPositionVelocityNed', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishPositionVelocityNedRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishPositionVelocityNedResponse.FromString, + ) + self.PublishGroundTruth = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishGroundTruth', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishGroundTruthRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishGroundTruthResponse.FromString, + ) + self.PublishImu = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishImu', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishImuRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishImuResponse.FromString, + ) + self.PublishScaledImu = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishScaledImu', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishScaledImuRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishScaledImuResponse.FromString, + ) + self.PublishRawImu = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishRawImu', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishRawImuRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishRawImuResponse.FromString, + ) + self.PublishHealthAllOk = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishHealthAllOk', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishHealthAllOkRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishHealthAllOkResponse.FromString, + ) + self.PublishUnixEpochTime = channel.unary_unary( + '/mavsdk.rpc.telemetry_server.TelemetryServerService/PublishUnixEpochTime', + request_serializer=telemetry__server_dot_telemetry__server__pb2.PublishUnixEpochTimeRequest.SerializeToString, + response_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishUnixEpochTimeResponse.FromString, + ) + + +class TelemetryServerServiceServicer(object): + """ + Allow users to provide vehicle telemetry and state information + (e.g. battery, GPS, RC connection, flight mode etc.) and set telemetry update rates. + """ + + def PublishPosition(self, request, context): + """Publish to 'position' updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishHome(self, request, context): + """Publish to 'home position' updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishArmed(self, request, context): + """Publish to armed updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishRawGps(self, request, context): + """Publish to 'Raw GPS' updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishBattery(self, request, context): + """Publish to 'battery' updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishFlightMode(self, request, context): + """Publish to 'flight mode' updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishHealth(self, request, context): + """Publish to 'health' updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishStatusText(self, request, context): + """Publish to 'status text' updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishOdometry(self, request, context): + """Publish to 'odometry' updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishPositionVelocityNed(self, request, context): + """Publish to 'position velocity' updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishGroundTruth(self, request, context): + """Publish to 'ground truth' updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishImu(self, request, context): + """Publish to 'IMU' updates (in SI units in NED body frame). + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishScaledImu(self, request, context): + """Publish to 'Scaled IMU' updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishRawImu(self, request, context): + """Publish to 'Raw IMU' updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishHealthAllOk(self, request, context): + """Publish to 'HealthAllOk' updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishUnixEpochTime(self, request, context): + """Publish to 'unix epoch time' updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_TelemetryServerServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'PublishPosition': grpc.unary_unary_rpc_method_handler( + servicer.PublishPosition, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishPositionRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishPositionResponse.SerializeToString, + ), + 'PublishHome': grpc.unary_unary_rpc_method_handler( + servicer.PublishHome, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishHomeRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishHomeResponse.SerializeToString, + ), + 'PublishArmed': grpc.unary_unary_rpc_method_handler( + servicer.PublishArmed, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishArmedRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishArmedResponse.SerializeToString, + ), + 'PublishRawGps': grpc.unary_unary_rpc_method_handler( + servicer.PublishRawGps, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishRawGpsRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishRawGpsResponse.SerializeToString, + ), + 'PublishBattery': grpc.unary_unary_rpc_method_handler( + servicer.PublishBattery, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishBatteryRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishBatteryResponse.SerializeToString, + ), + 'PublishFlightMode': grpc.unary_unary_rpc_method_handler( + servicer.PublishFlightMode, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishFlightModeRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishFlightModeResponse.SerializeToString, + ), + 'PublishHealth': grpc.unary_unary_rpc_method_handler( + servicer.PublishHealth, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishHealthRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishHealthResponse.SerializeToString, + ), + 'PublishStatusText': grpc.unary_unary_rpc_method_handler( + servicer.PublishStatusText, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishStatusTextRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishStatusTextResponse.SerializeToString, + ), + 'PublishOdometry': grpc.unary_unary_rpc_method_handler( + servicer.PublishOdometry, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishOdometryRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishOdometryResponse.SerializeToString, + ), + 'PublishPositionVelocityNed': grpc.unary_unary_rpc_method_handler( + servicer.PublishPositionVelocityNed, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishPositionVelocityNedRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishPositionVelocityNedResponse.SerializeToString, + ), + 'PublishGroundTruth': grpc.unary_unary_rpc_method_handler( + servicer.PublishGroundTruth, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishGroundTruthRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishGroundTruthResponse.SerializeToString, + ), + 'PublishImu': grpc.unary_unary_rpc_method_handler( + servicer.PublishImu, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishImuRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishImuResponse.SerializeToString, + ), + 'PublishScaledImu': grpc.unary_unary_rpc_method_handler( + servicer.PublishScaledImu, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishScaledImuRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishScaledImuResponse.SerializeToString, + ), + 'PublishRawImu': grpc.unary_unary_rpc_method_handler( + servicer.PublishRawImu, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishRawImuRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishRawImuResponse.SerializeToString, + ), + 'PublishHealthAllOk': grpc.unary_unary_rpc_method_handler( + servicer.PublishHealthAllOk, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishHealthAllOkRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishHealthAllOkResponse.SerializeToString, + ), + 'PublishUnixEpochTime': grpc.unary_unary_rpc_method_handler( + servicer.PublishUnixEpochTime, + request_deserializer=telemetry__server_dot_telemetry__server__pb2.PublishUnixEpochTimeRequest.FromString, + response_serializer=telemetry__server_dot_telemetry__server__pb2.PublishUnixEpochTimeResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'mavsdk.rpc.telemetry_server.TelemetryServerService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class TelemetryServerService(object): + """ + Allow users to provide vehicle telemetry and state information + (e.g. battery, GPS, RC connection, flight mode etc.) and set telemetry update rates. + """ + + @staticmethod + def PublishPosition(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.telemetry_server.TelemetryServerService/PublishPosition', + telemetry__server_dot_telemetry__server__pb2.PublishPositionRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishPositionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishHome(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.telemetry_server.TelemetryServerService/PublishHome', + telemetry__server_dot_telemetry__server__pb2.PublishHomeRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishHomeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishArmed(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.telemetry_server.TelemetryServerService/PublishArmed', + telemetry__server_dot_telemetry__server__pb2.PublishArmedRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishArmedResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishRawGps(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.telemetry_server.TelemetryServerService/PublishRawGps', + telemetry__server_dot_telemetry__server__pb2.PublishRawGpsRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishRawGpsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishBattery(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.telemetry_server.TelemetryServerService/PublishBattery', + telemetry__server_dot_telemetry__server__pb2.PublishBatteryRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishBatteryResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishFlightMode(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.telemetry_server.TelemetryServerService/PublishFlightMode', + telemetry__server_dot_telemetry__server__pb2.PublishFlightModeRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishFlightModeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishHealth(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.telemetry_server.TelemetryServerService/PublishHealth', + telemetry__server_dot_telemetry__server__pb2.PublishHealthRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishHealthResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishStatusText(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.telemetry_server.TelemetryServerService/PublishStatusText', + telemetry__server_dot_telemetry__server__pb2.PublishStatusTextRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishStatusTextResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishOdometry(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.telemetry_server.TelemetryServerService/PublishOdometry', + telemetry__server_dot_telemetry__server__pb2.PublishOdometryRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishOdometryResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishPositionVelocityNed(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.telemetry_server.TelemetryServerService/PublishPositionVelocityNed', + telemetry__server_dot_telemetry__server__pb2.PublishPositionVelocityNedRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishPositionVelocityNedResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishGroundTruth(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.telemetry_server.TelemetryServerService/PublishGroundTruth', + telemetry__server_dot_telemetry__server__pb2.PublishGroundTruthRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishGroundTruthResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishImu(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.telemetry_server.TelemetryServerService/PublishImu', + telemetry__server_dot_telemetry__server__pb2.PublishImuRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishImuResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishScaledImu(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.telemetry_server.TelemetryServerService/PublishScaledImu', + telemetry__server_dot_telemetry__server__pb2.PublishScaledImuRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishScaledImuResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishRawImu(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.telemetry_server.TelemetryServerService/PublishRawImu', + telemetry__server_dot_telemetry__server__pb2.PublishRawImuRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishRawImuResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishHealthAllOk(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.telemetry_server.TelemetryServerService/PublishHealthAllOk', + telemetry__server_dot_telemetry__server__pb2.PublishHealthAllOkRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishHealthAllOkResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishUnixEpochTime(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.telemetry_server.TelemetryServerService/PublishUnixEpochTime', + telemetry__server_dot_telemetry__server__pb2.PublishUnixEpochTimeRequest.SerializeToString, + telemetry__server_dot_telemetry__server__pb2.PublishUnixEpochTimeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/mavsdk/tune.py b/mavsdk/tune.py index 416b9a06..3599a150 100644 --- a/mavsdk/tune.py +++ b/mavsdk/tune.py @@ -310,6 +310,9 @@ class Result(Enum): ERROR Failed to send the request + NO_SYSTEM + No system connected + """ @@ -318,6 +321,7 @@ class Result(Enum): INVALID_TEMPO = 2 TUNE_TOO_LONG = 3 ERROR = 4 + NO_SYSTEM = 5 def translate_to_rpc(self): if self == TuneResult.Result.UNKNOWN: @@ -330,6 +334,8 @@ def translate_to_rpc(self): return tune_pb2.TuneResult.RESULT_TUNE_TOO_LONG if self == TuneResult.Result.ERROR: return tune_pb2.TuneResult.RESULT_ERROR + if self == TuneResult.Result.NO_SYSTEM: + return tune_pb2.TuneResult.RESULT_NO_SYSTEM @staticmethod def translate_from_rpc(rpc_enum_value): @@ -344,6 +350,8 @@ def translate_from_rpc(rpc_enum_value): return TuneResult.Result.TUNE_TOO_LONG if rpc_enum_value == tune_pb2.TuneResult.RESULT_ERROR: return TuneResult.Result.ERROR + if rpc_enum_value == tune_pb2.TuneResult.RESULT_NO_SYSTEM: + return TuneResult.Result.NO_SYSTEM def __str__(self): return self.name diff --git a/mavsdk/tune_pb2.py b/mavsdk/tune_pb2.py index ea1569a8..2b7a6895 100644 --- a/mavsdk/tune_pb2.py +++ b/mavsdk/tune_pb2.py @@ -20,7 +20,7 @@ syntax='proto3', serialized_options=b'\n\016io.mavsdk.tuneB\tTuneProto', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x0ftune/tune.proto\x12\x0fmavsdk.rpc.tune\"M\n\x0fPlayTuneRequest\x12:\n\x10tune_description\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.tune.TuneDescription\"D\n\x10PlayTuneResponse\x12\x30\n\x0btune_result\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.tune.TuneResult\"U\n\x0fTuneDescription\x12\x33\n\rsong_elements\x18\x01 \x03(\x0e\x32\x1c.mavsdk.rpc.tune.SongElement\x12\r\n\x05tempo\x18\x02 \x01(\x05\"\xcc\x01\n\nTuneResult\x12\x32\n\x06result\x18\x01 \x01(\x0e\x32\".mavsdk.rpc.tune.TuneResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"v\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x18\n\x14RESULT_INVALID_TEMPO\x10\x02\x12\x18\n\x14RESULT_TUNE_TOO_LONG\x10\x03\x12\x10\n\x0cRESULT_ERROR\x10\x04*\xd1\x04\n\x0bSongElement\x12\x1d\n\x19SONG_ELEMENT_STYLE_LEGATO\x10\x00\x12\x1d\n\x19SONG_ELEMENT_STYLE_NORMAL\x10\x01\x12\x1f\n\x1bSONG_ELEMENT_STYLE_STACCATO\x10\x02\x12\x1b\n\x17SONG_ELEMENT_DURATION_1\x10\x03\x12\x1b\n\x17SONG_ELEMENT_DURATION_2\x10\x04\x12\x1b\n\x17SONG_ELEMENT_DURATION_4\x10\x05\x12\x1b\n\x17SONG_ELEMENT_DURATION_8\x10\x06\x12\x1c\n\x18SONG_ELEMENT_DURATION_16\x10\x07\x12\x1c\n\x18SONG_ELEMENT_DURATION_32\x10\x08\x12\x17\n\x13SONG_ELEMENT_NOTE_A\x10\t\x12\x17\n\x13SONG_ELEMENT_NOTE_B\x10\n\x12\x17\n\x13SONG_ELEMENT_NOTE_C\x10\x0b\x12\x17\n\x13SONG_ELEMENT_NOTE_D\x10\x0c\x12\x17\n\x13SONG_ELEMENT_NOTE_E\x10\r\x12\x17\n\x13SONG_ELEMENT_NOTE_F\x10\x0e\x12\x17\n\x13SONG_ELEMENT_NOTE_G\x10\x0f\x12\x1b\n\x17SONG_ELEMENT_NOTE_PAUSE\x10\x10\x12\x16\n\x12SONG_ELEMENT_SHARP\x10\x11\x12\x15\n\x11SONG_ELEMENT_FLAT\x10\x12\x12\x1a\n\x16SONG_ELEMENT_OCTAVE_UP\x10\x13\x12\x1c\n\x18SONG_ELEMENT_OCTAVE_DOWN\x10\x14\x32`\n\x0bTuneService\x12Q\n\x08PlayTune\x12 .mavsdk.rpc.tune.PlayTuneRequest\x1a!.mavsdk.rpc.tune.PlayTuneResponse\"\x00\x42\x1b\n\x0eio.mavsdk.tuneB\tTuneProtob\x06proto3' + serialized_pb=b'\n\x0ftune/tune.proto\x12\x0fmavsdk.rpc.tune\"M\n\x0fPlayTuneRequest\x12:\n\x10tune_description\x18\x01 \x01(\x0b\x32 .mavsdk.rpc.tune.TuneDescription\"D\n\x10PlayTuneResponse\x12\x30\n\x0btune_result\x18\x01 \x01(\x0b\x32\x1b.mavsdk.rpc.tune.TuneResult\"U\n\x0fTuneDescription\x12\x33\n\rsong_elements\x18\x01 \x03(\x0e\x32\x1c.mavsdk.rpc.tune.SongElement\x12\r\n\x05tempo\x18\x02 \x01(\x05\"\xe3\x01\n\nTuneResult\x12\x32\n\x06result\x18\x01 \x01(\x0e\x32\".mavsdk.rpc.tune.TuneResult.Result\x12\x12\n\nresult_str\x18\x02 \x01(\t\"\x8c\x01\n\x06Result\x12\x12\n\x0eRESULT_UNKNOWN\x10\x00\x12\x12\n\x0eRESULT_SUCCESS\x10\x01\x12\x18\n\x14RESULT_INVALID_TEMPO\x10\x02\x12\x18\n\x14RESULT_TUNE_TOO_LONG\x10\x03\x12\x10\n\x0cRESULT_ERROR\x10\x04\x12\x14\n\x10RESULT_NO_SYSTEM\x10\x05*\xd1\x04\n\x0bSongElement\x12\x1d\n\x19SONG_ELEMENT_STYLE_LEGATO\x10\x00\x12\x1d\n\x19SONG_ELEMENT_STYLE_NORMAL\x10\x01\x12\x1f\n\x1bSONG_ELEMENT_STYLE_STACCATO\x10\x02\x12\x1b\n\x17SONG_ELEMENT_DURATION_1\x10\x03\x12\x1b\n\x17SONG_ELEMENT_DURATION_2\x10\x04\x12\x1b\n\x17SONG_ELEMENT_DURATION_4\x10\x05\x12\x1b\n\x17SONG_ELEMENT_DURATION_8\x10\x06\x12\x1c\n\x18SONG_ELEMENT_DURATION_16\x10\x07\x12\x1c\n\x18SONG_ELEMENT_DURATION_32\x10\x08\x12\x17\n\x13SONG_ELEMENT_NOTE_A\x10\t\x12\x17\n\x13SONG_ELEMENT_NOTE_B\x10\n\x12\x17\n\x13SONG_ELEMENT_NOTE_C\x10\x0b\x12\x17\n\x13SONG_ELEMENT_NOTE_D\x10\x0c\x12\x17\n\x13SONG_ELEMENT_NOTE_E\x10\r\x12\x17\n\x13SONG_ELEMENT_NOTE_F\x10\x0e\x12\x17\n\x13SONG_ELEMENT_NOTE_G\x10\x0f\x12\x1b\n\x17SONG_ELEMENT_NOTE_PAUSE\x10\x10\x12\x16\n\x12SONG_ELEMENT_SHARP\x10\x11\x12\x15\n\x11SONG_ELEMENT_FLAT\x10\x12\x12\x1a\n\x16SONG_ELEMENT_OCTAVE_UP\x10\x13\x12\x1c\n\x18SONG_ELEMENT_OCTAVE_DOWN\x10\x14\x32`\n\x0bTuneService\x12Q\n\x08PlayTune\x12 .mavsdk.rpc.tune.PlayTuneRequest\x1a!.mavsdk.rpc.tune.PlayTuneResponse\"\x00\x42\x1b\n\x0eio.mavsdk.tuneB\tTuneProtob\x06proto3' ) _SONGELEMENT = _descriptor.EnumDescriptor( @@ -138,8 +138,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=480, - serialized_end=1073, + serialized_start=503, + serialized_end=1096, ) _sym_db.RegisterEnumDescriptor(_SONGELEMENT) @@ -199,11 +199,16 @@ serialized_options=None, type=None, create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESULT_NO_SYSTEM', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, - serialized_start=359, - serialized_end=477, + serialized_start=360, + serialized_end=500, ) _sym_db.RegisterEnumDescriptor(_TUNERESULT_RESULT) @@ -347,7 +352,7 @@ oneofs=[ ], serialized_start=273, - serialized_end=477, + serialized_end=500, ) _PLAYTUNEREQUEST.fields_by_name['tune_description'].message_type = _TUNEDESCRIPTION @@ -400,8 +405,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=1075, - serialized_end=1171, + serialized_start=1098, + serialized_end=1194, methods=[ _descriptor.MethodDescriptor( name='PlayTune', diff --git a/proto b/proto index a968c018..a84ff0f6 160000 --- a/proto +++ b/proto @@ -1 +1 @@ -Subproject commit a968c018dd0216425d79307aa382192ed62e2362 +Subproject commit a84ff0f67a73a28564142767227720e04250ad38