-
Notifications
You must be signed in to change notification settings - Fork 97
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
remote_id: open drone id plugin interface
- Loading branch information
1 parent
a10b832
commit 1731c6d
Showing
1 changed file
with
125 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
syntax = "proto3"; | ||
|
||
package mavsdk.rpc.remote_id; | ||
|
||
import "mavsdk_options.proto"; | ||
|
||
option java_package = "io.mavsdk.remote_id"; | ||
option java_outer_classname = "RemoteIdProto"; | ||
|
||
service RemoteIdService { | ||
/* | ||
* Update the BasicId strucutre sent with the basic_id packet | ||
*/ | ||
rpc SetBasicId(SetBasicIdRequest) returns(SetBasicIdResponse) { option (mavsdk.options.async_type) = SYNC; } | ||
/* | ||
* Update the Location strucutre sent with the location packet | ||
*/ | ||
rpc SetLocation(SetLocationRequest) returns(SetLocationResponse) { option (mavsdk.options.async_type) = SYNC; } | ||
/* | ||
* Update the System strucutre sent with the system packet | ||
*/ | ||
rpc SetSystem(SetSystemRequest) returns(SetSystemResponse) { option (mavsdk.options.async_type) = SYNC; } | ||
/* | ||
* Update the OperatorId strucutre sent with the operator_id packet | ||
*/ | ||
rpc SetOperatorId(SetOperatorIdRequest) returns(SetOperatorIdResponse) { option (mavsdk.options.async_type) = SYNC; } | ||
/* | ||
* Update the SetSelfId strucutre sent with the self_id packet | ||
*/ | ||
rpc SetSelfId(SetSelfIdRequest) returns(SetSelfIdResponse) { option (mavsdk.options.async_type) = SYNC; } | ||
} | ||
|
||
message SetBasicIdRequest { | ||
BasicId basic_id = 1; // Desired basic_id | ||
} | ||
message SetBasicIdResponse { | ||
RemoteIdResult remote_id_result = 1; | ||
} | ||
|
||
message SetLocationRequest { | ||
Location location = 1; // Desidered location | ||
} | ||
message SetLocationResponse { | ||
RemoteIdResult remote_id_result = 1; | ||
} | ||
|
||
message SetSystemRequest { | ||
SystemId system = 1; // Desidered system | ||
} | ||
message SetSystemResponse { | ||
RemoteIdResult remote_id_result = 1; | ||
} | ||
|
||
message SetOperatorIdRequest { | ||
OperatorId system = 1; // Desidered operator_id | ||
} | ||
message SetOperatorIdResponse { | ||
RemoteIdResult remote_id_result = 1; | ||
} | ||
|
||
message SetSelfIdRequest { | ||
SelfId self_id = 1; // Desidered self_id | ||
} | ||
message SetSelfIdResponse { | ||
RemoteIdResult remote_id_result = 1; | ||
} | ||
|
||
message BasicId { | ||
uint32 id_type= 1; // Indicates the format for the uas_id field of this message. | ||
uint32 ua_type = 2; // Indicates the type of UA (Unmanned Aircraft). | ||
string uas_id = 3; // UAS ID following the format specified by id_type. | ||
} | ||
|
||
message Location { | ||
uint32 status= 1; // Indicates whether the unmanned aircraft is on the ground or in the air. | ||
uint32 direction= 2; // Direction over ground measured clockwise from true North: 0 - 35999 cdeg. | ||
uint32 speed_horizontal= 3; // Ground speed. Positive only. cm/s | ||
int32 speed_vertical= 4; // The vertical speed. Up is positive. cm/s | ||
int32 latitude= 5; // Current latitude of the unmanned aircraft | ||
int32 longitude= 6; // Current longitude of the unmanned aircraft | ||
float altitude_barometric= 7; // The altitude calculated from the barometric pressue. | ||
float altitude_geodetic= 8; // The geodetic altitude as defined by WGS84. | ||
uint32 height_reference= 9; // Indicates the reference point for the height field. | ||
float height= 10; // The current height of the unmanned aircraft. As indicated by height_reference. | ||
float timestamp= 11; // Seconds after the full hour with reference to UTC time. | ||
uint32 timestamp_accuracy= 12;// The accuracy of the timestamps. | ||
} | ||
|
||
message SystemId { | ||
uint32 operator_location_type= 1; // Specifies the operator location type. | ||
uint32 classification_type= 2; // Specifies the classification type of the UA. | ||
int32 operator_latitude= 3; // Latitude of the operator. | ||
int32 operator_longitude= 4; // Longitude of the operator. | ||
uint32 area_count= 5; // Number of aircraft in the area, | ||
uint32 area_radius= 6; // Radius of the cylindrical area of the group or formation. | ||
float area_ceiling= 7; // Area Operations Ceiling relative to WGS84. | ||
float area_floor= 8; // Area Operations Floor relative to WGS84. | ||
uint32 category_eu= 9; // When classification_type is MAV_ODID_CLASSIFICATION_TYPE_EU, specifies the category of the UA. | ||
uint32 class_eu= 10; // When classification_type is MAV_ODID_CLASSIFICATION_TYPE_EU, specifies the class of the UA. | ||
float operator_altitude_geo= 11; // Geodetic altitude of the operator relative to WGS84. If unknown: -1000 m. | ||
uint32 timestamp= 12; // s32 bit Unix Timestamp in seconds since 00:00:00 01/01/2019. | ||
} | ||
|
||
message OperatorId { | ||
uint32 operator_id_type= 1; // Indicates the type of the description field. | ||
string operator_id= 2; // Text description or numeric value expressed as ASCII characters. | ||
} | ||
|
||
message SelfId { | ||
uint32 description_type= 1; // Indicates the type of the operator_id field. | ||
string description= 2; // Text description or numeric value expressed as ASCII characters. | ||
} | ||
|
||
// Result type. | ||
message RemoteIdResult { | ||
// Possible results returned for camera commands | ||
enum Result { | ||
RESULT_UNKNOWN = 0; // Unknown result | ||
RESULT_SUCCESS = 1; // Command executed successfully | ||
RESULT_ERROR = 2; // An error has occurred while executing the command | ||
} | ||
|
||
Result result = 1; // Result enum value | ||
string result_str = 2; // Human-readable English string describing the result | ||
} |