diff --git a/protos/mission_raw/mission_raw.proto b/protos/mission_raw/mission_raw.proto index 412642913..bd4007081 100644 --- a/protos/mission_raw/mission_raw.proto +++ b/protos/mission_raw/mission_raw.proto @@ -76,7 +76,7 @@ service MissionRawService { */ rpc SubscribeMissionChanged(SubscribeMissionChangedRequest) returns(stream MissionChangedResponse) { option (mavsdk.options.async_type) = ASYNC; } /* - * Import a QGroundControl missions in JSON .plan format. + * Import a QGroundControl missions in JSON .plan format, from a file. * * Supported: * - Waypoints @@ -85,6 +85,16 @@ service MissionRawService { * - Structure Scan */ rpc ImportQgroundcontrolMission(ImportQgroundcontrolMissionRequest) returns(ImportQgroundcontrolMissionResponse) { option (mavsdk.options.async_type) = SYNC; } + /* + * Import a QGroundControl missions in JSON .plan format, from a string. + * + * Supported: + * - Waypoints + * - Survey + * Not supported: + * - Structure Scan + */ + rpc ImportQgroundcontrolMissionFromString(ImportQgroundcontrolMissionFromStringRequest) returns(ImportQgroundcontrolMissionFromStringResponse) { option (mavsdk.options.async_type) = SYNC; } } message UploadMissionRequest { @@ -164,6 +174,14 @@ message ImportQgroundcontrolMissionResponse { MissionImportData mission_import_data = 2; // The imported mission data } +message ImportQgroundcontrolMissionFromStringRequest { + string qgc_plan = 1; // QGC plan as string +} +message ImportQgroundcontrolMissionFromStringResponse { + MissionRawResult mission_raw_result = 1; + MissionImportData mission_import_data = 2; // The imported mission data +} + // Mission progress type. message MissionProgress { int32 current = 1; // Current mission item index (0-based), if equal to total, the mission is finished