Skip to content

Commit

Permalink
remote_id: open drone id plugin interface
Browse files Browse the repository at this point in the history
  • Loading branch information
persuader72 committed Jan 9, 2024
1 parent a10b832 commit 1731c6d
Showing 1 changed file with 125 additions and 0 deletions.
125 changes: 125 additions & 0 deletions protos/remote_id/remote_id.proto
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
}

0 comments on commit 1731c6d

Please sign in to comment.