meshtastic-protobuf/meshtastic/atak.proto

258 wiersze
3.4 KiB
Protocol Buffer

2024-02-07 13:42:36 +00:00
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 = "";
2024-03-29 09:23:22 +00:00
2024-02-07 13:42:36 +00:00
/*
2024-03-29 09:23:22 +00:00
* Packets for the official ATAK Plugin
2024-02-07 13:42:36 +00:00
*/
2024-03-29 09:23:22 +00:00
message TAKPacket {
2024-02-07 22:42:54 +00:00
/*
* Are the payloads strings compressed for LoRA transport?
*/
2024-02-07 22:44:15 +00:00
bool is_compressed = 1;
2024-02-07 13:42:36 +00:00
/*
* The contact / callsign for ATAK user
*/
2024-02-07 22:42:54 +00:00
Contact contact = 2;
2024-02-07 13:42:36 +00:00
/*
* The group for ATAK user
*/
2024-02-07 22:42:54 +00:00
Group group = 3;
2024-02-07 13:42:36 +00:00
/*
* The status of the ATAK EUD
*/
2024-02-07 22:42:54 +00:00
Status status = 4;
2024-02-07 13:42:36 +00:00
/*
* The payload of the packet
*/
oneof payload_variant {
/*
* TAK position report
*/
2024-02-07 22:42:54 +00:00
PLI pli = 5;
2024-02-07 13:42:36 +00:00
/*
2024-02-07 22:42:54 +00:00
* ATAK GeoChat message
2024-02-07 13:42:36 +00:00
*/
2024-02-07 22:42:54 +00:00
GeoChat chat = 6;
2024-02-07 13:42:36 +00:00
}
}
2024-02-07 22:42:54 +00:00
/*
* ATAK GeoChat message
*/
message GeoChat {
/*
* The text message
*/
string message = 1;
2024-02-08 16:12:37 +00:00
/*
* Uid recipient of the message
*/
optional string to = 2;
2024-05-30 11:53:03 +00:00
/*
* Callsign of the recipient for the message
*/
2024-05-30 11:54:38 +00:00
optional string to_callsign = 3;
2024-02-07 22:42:54 +00:00
}
2024-02-07 13:42:36 +00:00
/*
* 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;
}
2024-03-29 09:23:22 +00:00
2024-02-07 13:42:36 +00:00
/*
* ATAK Contact
* <contact endpoint='0.0.0.0:4242:tcp' phone='+12345678' callsign='FALKE'/>
*/
message Contact {
/*
2024-02-07 15:53:31 +00:00
* Callsign
2024-02-07 13:42:36 +00:00
*/
2024-02-07 15:53:31 +00:00
string callsign = 1;
2024-02-09 00:50:14 +00:00
/*
* Device callsign
*/
string device_callsign = 2;
2024-02-07 13:42:36 +00:00
/*
* 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;
2024-02-07 19:22:55 +00:00
/*
* Altitude (ATAK prefers HAE)
*/
2024-02-22 13:11:54 +00:00
int32 altitude = 3;
2024-02-07 19:22:55 +00:00
2024-02-07 13:42:36 +00:00
/*
2024-02-07 18:50:33 +00:00
* Speed
2024-02-07 13:42:36 +00:00
*/
2024-02-07 19:22:55 +00:00
uint32 speed = 4;
2024-02-07 18:50:33 +00:00
/*
* Course in degrees
*/
2024-03-29 09:23:22 +00:00
uint32 course = 5;
2024-02-22 13:11:54 +00:00
}