kopia lustrzana https://github.com/meshtastic/protobufs
ATAK overhaul
rodzic
9288737832
commit
c1ebf710dc
|
@ -0,0 +1,4 @@
|
||||||
|
*TakPacket.callsign_uncompressed max_size:120
|
||||||
|
*TakPacket.callsign_compressed max_size:64
|
||||||
|
|
||||||
|
*Status.battery int_size:8
|
|
@ -0,0 +1,226 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package meshtastic;
|
||||||
|
|
||||||
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
|
option java_outer_classname = "ATAKProtos";
|
||||||
|
option java_package = "com.geeksville.mesh";
|
||||||
|
option swift_prefix = "";
|
||||||
|
/*
|
||||||
|
* Packets for the official ATAK Plugin
|
||||||
|
*/
|
||||||
|
message Packet
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* The contact / callsign for ATAK user
|
||||||
|
*/
|
||||||
|
Contact contact = 1;
|
||||||
|
/*
|
||||||
|
* The group for ATAK user
|
||||||
|
*/
|
||||||
|
Group group = 2;
|
||||||
|
/*
|
||||||
|
* The status of the ATAK EUD
|
||||||
|
*/
|
||||||
|
Status status = 5;
|
||||||
|
/*
|
||||||
|
* The payload of the packet
|
||||||
|
*/
|
||||||
|
oneof payload_variant {
|
||||||
|
/*
|
||||||
|
* TAK position report
|
||||||
|
*/
|
||||||
|
PLI pli = 3;
|
||||||
|
/*
|
||||||
|
* Other binary data
|
||||||
|
*/
|
||||||
|
bytes data = 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ATAK Group
|
||||||
|
* <__group role='Team Member' name='Cyan'/>
|
||||||
|
*/
|
||||||
|
message Group {
|
||||||
|
/*
|
||||||
|
* Role of the group member
|
||||||
|
*/
|
||||||
|
MemberRole role = 1;
|
||||||
|
/*
|
||||||
|
* Team (color)
|
||||||
|
* Default Cyan
|
||||||
|
*/
|
||||||
|
Team team = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum Team {
|
||||||
|
/*
|
||||||
|
* Unspecifed
|
||||||
|
*/
|
||||||
|
Unspecifed_Color = 0;
|
||||||
|
/*
|
||||||
|
* White
|
||||||
|
*/
|
||||||
|
White = 1;
|
||||||
|
/*
|
||||||
|
* Yellow
|
||||||
|
*/
|
||||||
|
Yellow = 2;
|
||||||
|
/*
|
||||||
|
* Orange
|
||||||
|
*/
|
||||||
|
Orange = 3;
|
||||||
|
/*
|
||||||
|
* Magenta
|
||||||
|
*/
|
||||||
|
Magenta = 4;
|
||||||
|
/*
|
||||||
|
* Red
|
||||||
|
*/
|
||||||
|
Red = 5;
|
||||||
|
/*
|
||||||
|
* Maroon
|
||||||
|
*/
|
||||||
|
Maroon = 6;
|
||||||
|
/*
|
||||||
|
* Purple
|
||||||
|
*/
|
||||||
|
Purple = 7;
|
||||||
|
/*
|
||||||
|
* Dark Blue
|
||||||
|
*/
|
||||||
|
Dark_Blue = 8;
|
||||||
|
/*
|
||||||
|
* Blue
|
||||||
|
*/
|
||||||
|
Blue = 9;
|
||||||
|
/*
|
||||||
|
* Cyan
|
||||||
|
*/
|
||||||
|
Cyan = 10;
|
||||||
|
/*
|
||||||
|
* Teal
|
||||||
|
*/
|
||||||
|
Teal = 11;
|
||||||
|
/*
|
||||||
|
* Green
|
||||||
|
*/
|
||||||
|
Green = 12;
|
||||||
|
/*
|
||||||
|
* Dark Green
|
||||||
|
*/
|
||||||
|
Dark_Green = 13;
|
||||||
|
/*
|
||||||
|
* Brown
|
||||||
|
*/
|
||||||
|
Brown = 14;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Role of the group member
|
||||||
|
*/
|
||||||
|
enum MemberRole {
|
||||||
|
/*
|
||||||
|
* Unspecifed
|
||||||
|
*/
|
||||||
|
Unspecifed = 0;
|
||||||
|
/*
|
||||||
|
* Team Member
|
||||||
|
*/
|
||||||
|
TeamMember = 1;
|
||||||
|
/*
|
||||||
|
* Team Lead
|
||||||
|
*/
|
||||||
|
TeamLead = 2;
|
||||||
|
/*
|
||||||
|
* Headquarters
|
||||||
|
*/
|
||||||
|
HQ = 3;
|
||||||
|
/*
|
||||||
|
* Airsoft enthusiast
|
||||||
|
*/
|
||||||
|
Sniper = 4;
|
||||||
|
/*
|
||||||
|
* Medic
|
||||||
|
*/
|
||||||
|
Medic = 5;
|
||||||
|
/*
|
||||||
|
* ForwardObserver
|
||||||
|
*/
|
||||||
|
ForwardObserver = 6;
|
||||||
|
/*
|
||||||
|
* Radio Telephone Operator
|
||||||
|
*/
|
||||||
|
RTO = 7;
|
||||||
|
/*
|
||||||
|
* Doggo
|
||||||
|
*/
|
||||||
|
K9 = 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ATAK EUD Status
|
||||||
|
* <status battery='100' />
|
||||||
|
*/
|
||||||
|
message Status {
|
||||||
|
/*
|
||||||
|
* Battery level
|
||||||
|
*/
|
||||||
|
uint32 battery = 1;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* ATAK Contact
|
||||||
|
* <contact endpoint='0.0.0.0:4242:tcp' phone='+12345678' callsign='FALKE'/>
|
||||||
|
*/
|
||||||
|
message Contact {
|
||||||
|
/*
|
||||||
|
* Compressed or uncompressed callsign
|
||||||
|
*/
|
||||||
|
oneof callsign_variant {
|
||||||
|
/*
|
||||||
|
* Uncompressed callsign from ATAK
|
||||||
|
*/
|
||||||
|
string callsign_uncompressed = 1;
|
||||||
|
/*
|
||||||
|
* Compressed callsign using unishox2 for the wire
|
||||||
|
*/
|
||||||
|
string callsign_compressed = 2;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* IP address of endpoint in integer form (0.0.0.0 default)
|
||||||
|
*/
|
||||||
|
// fixed32 enpoint_address = 3;
|
||||||
|
/*
|
||||||
|
* Port of endpoint (4242 default)
|
||||||
|
*/
|
||||||
|
// uint32 endpoint_port = 4;
|
||||||
|
/*
|
||||||
|
* Phone represented as integer
|
||||||
|
* Terrible practice, but we really need the wire savings
|
||||||
|
*/
|
||||||
|
// uint32 phone = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Position Location Information from ATAK
|
||||||
|
*/
|
||||||
|
message PLI {
|
||||||
|
/*
|
||||||
|
* The new preferred location encoding, multiply by 1e-7 to get degrees
|
||||||
|
* in floating point
|
||||||
|
*/
|
||||||
|
sfixed32 latitude_i = 1;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The new preferred location encoding, multiply by 1e-7 to get degrees
|
||||||
|
* in floating point
|
||||||
|
*/
|
||||||
|
sfixed32 longitude_i = 2;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Altitude
|
||||||
|
*/
|
||||||
|
int32 altitude = 3;
|
||||||
|
}
|
|
@ -57,6 +57,3 @@
|
||||||
*MqttClientProxyMessage.topic max_size:60
|
*MqttClientProxyMessage.topic max_size:60
|
||||||
*MqttClientProxyMessage.data max_size:435
|
*MqttClientProxyMessage.data max_size:435
|
||||||
*MqttClientProxyMessage.text max_size:435
|
*MqttClientProxyMessage.text max_size:435
|
||||||
|
|
||||||
*TAK_Packet.callsign_uncompressed max_size:512
|
|
||||||
*TAK_Packet.callsign_compressed max_size:241
|
|
||||||
|
|
|
@ -1520,53 +1520,3 @@ message DeviceMetadata {
|
||||||
bool hasRemoteHardware = 10;
|
bool hasRemoteHardware = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Packets for the official ATAK Plugin
|
|
||||||
*/
|
|
||||||
message TAK_Packet
|
|
||||||
{
|
|
||||||
oneof callsign_variant {
|
|
||||||
/*
|
|
||||||
* Uncompressed callsign from ATAK
|
|
||||||
*/
|
|
||||||
string callsign_uncompressed = 1;
|
|
||||||
/*
|
|
||||||
* Compressed callsign using unishox2 for the wire
|
|
||||||
*/
|
|
||||||
string callsign_compressed = 2;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* The payload of the packet
|
|
||||||
*/
|
|
||||||
oneof payload_variant {
|
|
||||||
/*
|
|
||||||
* TAK position report
|
|
||||||
*/
|
|
||||||
TAK_PLI tak_pli = 3;
|
|
||||||
/*
|
|
||||||
* Other binary data
|
|
||||||
*/
|
|
||||||
bytes data = 4;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* Position Location Information from ATAK
|
|
||||||
*/
|
|
||||||
message TAK_PLI {
|
|
||||||
/*
|
|
||||||
* The new preferred location encoding, multiply by 1e-7 to get degrees
|
|
||||||
* in floating point
|
|
||||||
*/
|
|
||||||
sfixed32 latitude_i = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The new preferred location encoding, multiply by 1e-7 to get degrees
|
|
||||||
* in floating point
|
|
||||||
*/
|
|
||||||
sfixed32 longitude_i = 2;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Altitude
|
|
||||||
*/
|
|
||||||
int32 altitude = 3;
|
|
||||||
}
|
|
||||||
|
|
Ładowanie…
Reference in New Issue