From e2fda6598cc2d4a3507f92eaebd7b007cf2eedcf Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Thu, 28 May 2026 21:01:30 -0500 Subject: [PATCH] Update protobufs --- protobufs | 2 +- src/mesh/generated/meshtastic/atak.pb.cpp | 5 +- src/mesh/generated/meshtastic/atak.pb.h | 97 ++++++++++++++++++----- 3 files changed, 80 insertions(+), 24 deletions(-) diff --git a/protobufs b/protobufs index 83ce84039..519a0c7c9 160000 --- a/protobufs +++ b/protobufs @@ -1 +1 @@ -Subproject commit 83ce840394554eb59404bbf76805d70664d931a6 +Subproject commit 519a0c7c9c60c415ebdd948b14d1f4072f9b6562 diff --git a/src/mesh/generated/meshtastic/atak.pb.cpp b/src/mesh/generated/meshtastic/atak.pb.cpp index 4a863e3db..717727fa5 100644 --- a/src/mesh/generated/meshtastic/atak.pb.cpp +++ b/src/mesh/generated/meshtastic/atak.pb.cpp @@ -30,7 +30,7 @@ PB_BIND(meshtastic_AircraftTrack, meshtastic_AircraftTrack, AUTO) PB_BIND(meshtastic_CotGeoPoint, meshtastic_CotGeoPoint, AUTO) -PB_BIND(meshtastic_DrawnShape, meshtastic_DrawnShape, 2) +PB_BIND(meshtastic_DrawnShape, meshtastic_DrawnShape, AUTO) PB_BIND(meshtastic_Marker, meshtastic_Marker, AUTO) @@ -69,6 +69,9 @@ PB_BIND(meshtastic_TakTalkMessage, meshtastic_TakTalkMessage, AUTO) PB_BIND(meshtastic_TakTalkRoomData, meshtastic_TakTalkRoomData, AUTO) +PB_BIND(meshtastic_Marti, meshtastic_Marti, AUTO) + + PB_BIND(meshtastic_TAKPacketV2, meshtastic_TAKPacketV2, 2) diff --git a/src/mesh/generated/meshtastic/atak.pb.h b/src/mesh/generated/meshtastic/atak.pb.h index 5f1434ae4..6ea298f9e 100644 --- a/src/mesh/generated/meshtastic/atak.pb.h +++ b/src/mesh/generated/meshtastic/atak.pb.h @@ -735,12 +735,7 @@ typedef struct _meshtastic_DrawnShape { uint32_t fill_argb; /* Whether labels are rendered on this shape. */ bool labels_on; - /* Vertex list for polyline/polygon/rectangle shapes. Capped at 32 by - the nanopb pool; senders MUST truncate longer inputs and set - `truncated = true`. */ - pb_size_t vertices_count; - meshtastic_CotGeoPoint vertices[32]; - /* True if the sender truncated `vertices` to fit the pool. */ + /* True if the sender truncated the vertex columns to fit the pool. */ bool truncated; /* --- Bullseye-only fields. All ignored unless kind == Kind_Bullseye. --- */ /* Bullseye distance in meters * 10 (e.g. 3285 = 328.5 m). 0 = unset. */ uint32_t bullseye_distance_dm; @@ -754,6 +749,8 @@ typedef struct _meshtastic_DrawnShape { uint8_t bullseye_flags; /* Bullseye reference UID (anchor marker). Empty = anchor is self. */ char bullseye_uid_ref[48]; + pb_callback_t vertex_lat_deltas; + pb_callback_t vertex_lon_deltas; } meshtastic_DrawnShape; /* Fixed point of interest: spot marker, waypoint, checkpoint, 2525 symbol, @@ -1129,7 +1126,12 @@ typedef struct _meshtastic_TakTalkMessage { created or memberships change. */ typedef struct _meshtastic_TakTalkRoomData { /* Callsign of the device broadcasting the room state (typically the - room owner / latest writer). */ + room owner / latest writer). + + DEPRECATED in v0.3.2: always equals TAKPacketV2.callsign, so the wire + byte was redundant. Builders stop emitting this field in v0.3.2; + parsers still read it for one release so v0.3.1-encoded packets decode + cleanly. To be removed entirely in v0.4.x. */ pb_callback_t sender_callsign; /* Room UUID, matches TakTalkMessage.chatroom_id / GeoChat.room_id on messages routed into this room. */ @@ -1142,6 +1144,28 @@ typedef struct _meshtastic_TakTalkRoomData { pb_callback_t participants; } meshtastic_TakTalkRoomData; +/* ATAK directed-routing recipient list (CoT ). + + Present when an event is addressed to specific TAK users rather than the + broadcast group. TAKTALK gates voice TTS on this element matching the + receiver's callsign; directed b-t-f chats use it for the same purpose. A + missing means "broadcast to all peers", which is the default for + PLI, alerts, drawings, and most situational-awareness events. + + Carried as repeated strings (not indexes into a per-packet table) because + the typical event has 1-2 destinations and table overhead would erase the + savings. Receivers that need the original XML element rebuild it from + dest_callsign on emit. */ +typedef struct _meshtastic_Marti { + /* Recipient callsigns. Order is preserved end-to-end so receivers can show + primary-vs-cc distinction the same way ATAK does. + + If dest_callsign is [TAKPacketV2.callsign] (self-addressed, unusual but + legal — e.g. ATAK echoing back to its own room), the builder still emits + the element so loopback shapes round-trip cleanly. */ + pb_callback_t dest_callsign; +} meshtastic_Marti; + typedef PB_BYTES_ARRAY_T(220) meshtastic_TAKPacketV2_raw_detail_t; /* ATAK v2 packet with expanded CoT field support and zstd dictionary compression. Sent on ATAK_PLUGIN_V2 port. The wire payload is: @@ -1163,7 +1187,14 @@ typedef struct _meshtastic_TAKPacketV2 { int32_t latitude_i; /* Longitude, multiply by 1e-7 to get degrees in floating point */ int32_t longitude_i; - /* Altitude in meters (HAE) */ + /* Altitude in meters (HAE). ATAK's "no altitude" sentinel is hae=9999999.0. + + NOTE: an earlier v0.4.0 attempt made this `optional` to omit the 9999999 + sentinel from the wire, but measurement showed it was net-negative: the + zstd dictionary already compresses the literal 9999999 to ~nothing, while + proto3 `optional` forces a genuine 0 m HAE (common on routes/drawings that + carry hae="0.0" or omit hae → parsed as 0) to encode explicitly (+2 bytes), + which REGRESSED the worst-case route fixture. Kept as a plain field. */ int32_t altitude; /* Speed in cm/s */ uint32_t speed; @@ -1209,10 +1240,18 @@ typedef struct _meshtastic_TAKPacketV2 { /* Sensor field-of-view cone (camera, FLIR, laser, etc.). From . */ bool has_sensor_fov; meshtastic_SensorFov sensor_fov; + /* Directed-routing recipient list (CoT ). + Empty / unset = broadcast to all peers (the default for situational-awareness + events). Populated for TAKTALK m-t-t, directed b-t-f DMs, and any other CoT + shape that ATAK addresses to specific recipients. TAKTALK gates voice TTS + playback on this element matching the receiver's callsign, so dropping it + silently breaks voice messaging end-to-end. + + See Marti. */ + bool has_marti; + meshtastic_Marti marti; pb_size_t which_payload_variant; union { - /* Position report (true = PLI, no extra fields beyond the common ones above) */ - bool pli; /* ATAK GeoChat message */ meshtastic_GeoChat chat; /* Aircraft track data (ADS-B, military air) */ @@ -1366,6 +1405,7 @@ extern "C" { + #define meshtastic_TAKPacketV2_cot_type_id_ENUMTYPE meshtastic_CotType #define meshtastic_TAKPacketV2_how_ENUMTYPE meshtastic_CotHow #define meshtastic_TAKPacketV2_team_ENUMTYPE meshtastic_Team @@ -1383,7 +1423,7 @@ extern "C" { #define meshtastic_PLI_init_default {0, 0, 0, 0, 0} #define meshtastic_AircraftTrack_init_default {"", "", "", "", 0, "", 0, 0, ""} #define meshtastic_CotGeoPoint_init_default {0, 0} -#define meshtastic_DrawnShape_init_default {_meshtastic_DrawnShape_Kind_MIN, _meshtastic_DrawnShape_StyleMode_MIN, 0, 0, 0, _meshtastic_Team_MIN, 0, 0, _meshtastic_Team_MIN, 0, 0, 0, {meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default, meshtastic_CotGeoPoint_init_default}, 0, 0, 0, 0, ""} +#define meshtastic_DrawnShape_init_default {_meshtastic_DrawnShape_Kind_MIN, _meshtastic_DrawnShape_StyleMode_MIN, 0, 0, 0, _meshtastic_Team_MIN, 0, 0, _meshtastic_Team_MIN, 0, 0, 0, 0, 0, 0, "", {{NULL}, NULL}, {{NULL}, NULL}} #define meshtastic_Marker_init_default {_meshtastic_Marker_Kind_MIN, _meshtastic_Team_MIN, 0, 0, "", "", "", ""} #define meshtastic_RangeAndBearing_init_default {false, meshtastic_CotGeoPoint_init_default, "", 0, 0, _meshtastic_Team_MIN, 0, 0} #define meshtastic_Route_init_default {_meshtastic_Route_Method_MIN, _meshtastic_Route_Direction_MIN, "", 0, 0, {meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default, meshtastic_Route_Link_init_default}, 0} @@ -1396,7 +1436,8 @@ extern "C" { #define meshtastic_SensorFov_init_default {_meshtastic_SensorFov_SensorType_MIN, 0, false, 0, 0, 0, 0, 0, {{NULL}, NULL}} #define meshtastic_TakTalkMessage_init_default {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0} #define meshtastic_TakTalkRoomData_init_default {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}} -#define meshtastic_TAKPacketV2_init_default {_meshtastic_CotType_MIN, _meshtastic_CotHow_MIN, "", _meshtastic_Team_MIN, _meshtastic_MemberRole_MIN, 0, 0, 0, 0, 0, 0, _meshtastic_GeoPointSource_MIN, _meshtastic_GeoPointSource_MIN, "", "", 0, "", "", "", "", "", "", "", {{NULL}, NULL}, false, meshtastic_TAKEnvironment_init_default, false, meshtastic_SensorFov_init_default, 0, {0}} +#define meshtastic_Marti_init_default {{{NULL}, NULL}} +#define meshtastic_TAKPacketV2_init_default {_meshtastic_CotType_MIN, _meshtastic_CotHow_MIN, "", _meshtastic_Team_MIN, _meshtastic_MemberRole_MIN, 0, 0, 0, 0, 0, 0, _meshtastic_GeoPointSource_MIN, _meshtastic_GeoPointSource_MIN, "", "", 0, "", "", "", "", "", "", "", {{NULL}, NULL}, false, meshtastic_TAKEnvironment_init_default, false, meshtastic_SensorFov_init_default, false, meshtastic_Marti_init_default, 0, {meshtastic_GeoChat_init_default}} #define meshtastic_TAKPacket_init_zero {0, false, meshtastic_Contact_init_zero, false, meshtastic_Group_init_zero, false, meshtastic_Status_init_zero, 0, {meshtastic_PLI_init_zero}} #define meshtastic_GeoChat_init_zero {"", false, "", false, "", "", _meshtastic_GeoChat_ReceiptType_MIN, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}} #define meshtastic_Group_init_zero {_meshtastic_MemberRole_MIN, _meshtastic_Team_MIN} @@ -1405,7 +1446,7 @@ extern "C" { #define meshtastic_PLI_init_zero {0, 0, 0, 0, 0} #define meshtastic_AircraftTrack_init_zero {"", "", "", "", 0, "", 0, 0, ""} #define meshtastic_CotGeoPoint_init_zero {0, 0} -#define meshtastic_DrawnShape_init_zero {_meshtastic_DrawnShape_Kind_MIN, _meshtastic_DrawnShape_StyleMode_MIN, 0, 0, 0, _meshtastic_Team_MIN, 0, 0, _meshtastic_Team_MIN, 0, 0, 0, {meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero, meshtastic_CotGeoPoint_init_zero}, 0, 0, 0, 0, ""} +#define meshtastic_DrawnShape_init_zero {_meshtastic_DrawnShape_Kind_MIN, _meshtastic_DrawnShape_StyleMode_MIN, 0, 0, 0, _meshtastic_Team_MIN, 0, 0, _meshtastic_Team_MIN, 0, 0, 0, 0, 0, 0, "", {{NULL}, NULL}, {{NULL}, NULL}} #define meshtastic_Marker_init_zero {_meshtastic_Marker_Kind_MIN, _meshtastic_Team_MIN, 0, 0, "", "", "", ""} #define meshtastic_RangeAndBearing_init_zero {false, meshtastic_CotGeoPoint_init_zero, "", 0, 0, _meshtastic_Team_MIN, 0, 0} #define meshtastic_Route_init_zero {_meshtastic_Route_Method_MIN, _meshtastic_Route_Direction_MIN, "", 0, 0, {meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero, meshtastic_Route_Link_init_zero}, 0} @@ -1418,7 +1459,8 @@ extern "C" { #define meshtastic_SensorFov_init_zero {_meshtastic_SensorFov_SensorType_MIN, 0, false, 0, 0, 0, 0, 0, {{NULL}, NULL}} #define meshtastic_TakTalkMessage_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0} #define meshtastic_TakTalkRoomData_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}} -#define meshtastic_TAKPacketV2_init_zero {_meshtastic_CotType_MIN, _meshtastic_CotHow_MIN, "", _meshtastic_Team_MIN, _meshtastic_MemberRole_MIN, 0, 0, 0, 0, 0, 0, _meshtastic_GeoPointSource_MIN, _meshtastic_GeoPointSource_MIN, "", "", 0, "", "", "", "", "", "", "", {{NULL}, NULL}, false, meshtastic_TAKEnvironment_init_zero, false, meshtastic_SensorFov_init_zero, 0, {0}} +#define meshtastic_Marti_init_zero {{{NULL}, NULL}} +#define meshtastic_TAKPacketV2_init_zero {_meshtastic_CotType_MIN, _meshtastic_CotHow_MIN, "", _meshtastic_Team_MIN, _meshtastic_MemberRole_MIN, 0, 0, 0, 0, 0, 0, _meshtastic_GeoPointSource_MIN, _meshtastic_GeoPointSource_MIN, "", "", 0, "", "", "", "", "", "", "", {{NULL}, NULL}, false, meshtastic_TAKEnvironment_init_zero, false, meshtastic_SensorFov_init_zero, false, meshtastic_Marti_init_zero, 0, {meshtastic_GeoChat_init_zero}} /* Field tags (for use in manual encoding/decoding) */ #define meshtastic_GeoChat_message_tag 1 @@ -1468,12 +1510,13 @@ extern "C" { #define meshtastic_DrawnShape_fill_color_tag 9 #define meshtastic_DrawnShape_fill_argb_tag 10 #define meshtastic_DrawnShape_labels_on_tag 11 -#define meshtastic_DrawnShape_vertices_tag 12 #define meshtastic_DrawnShape_truncated_tag 13 #define meshtastic_DrawnShape_bullseye_distance_dm_tag 14 #define meshtastic_DrawnShape_bullseye_bearing_ref_tag 15 #define meshtastic_DrawnShape_bullseye_flags_tag 16 #define meshtastic_DrawnShape_bullseye_uid_ref_tag 17 +#define meshtastic_DrawnShape_vertex_lat_deltas_tag 18 +#define meshtastic_DrawnShape_vertex_lon_deltas_tag 19 #define meshtastic_Marker_kind_tag 1 #define meshtastic_Marker_color_tag 2 #define meshtastic_Marker_color_argb_tag 3 @@ -1566,6 +1609,7 @@ extern "C" { #define meshtastic_TakTalkRoomData_room_id_tag 2 #define meshtastic_TakTalkRoomData_room_name_tag 3 #define meshtastic_TakTalkRoomData_participants_tag 4 +#define meshtastic_Marti_dest_callsign_tag 1 #define meshtastic_TAKPacketV2_cot_type_id_tag 1 #define meshtastic_TAKPacketV2_how_tag 2 #define meshtastic_TAKPacketV2_callsign_tag 3 @@ -1592,7 +1636,7 @@ extern "C" { #define meshtastic_TAKPacketV2_remarks_tag 24 #define meshtastic_TAKPacketV2_environment_tag 25 #define meshtastic_TAKPacketV2_sensor_fov_tag 26 -#define meshtastic_TAKPacketV2_pli_tag 30 +#define meshtastic_TAKPacketV2_marti_tag 29 #define meshtastic_TAKPacketV2_chat_tag 31 #define meshtastic_TAKPacketV2_aircraft_tag 32 #define meshtastic_TAKPacketV2_raw_detail_tag 33 @@ -1692,15 +1736,15 @@ X(a, STATIC, SINGULAR, UINT32, stroke_weight_x10, 8) \ X(a, STATIC, SINGULAR, UENUM, fill_color, 9) \ X(a, STATIC, SINGULAR, FIXED32, fill_argb, 10) \ X(a, STATIC, SINGULAR, BOOL, labels_on, 11) \ -X(a, STATIC, REPEATED, MESSAGE, vertices, 12) \ X(a, STATIC, SINGULAR, BOOL, truncated, 13) \ X(a, STATIC, SINGULAR, UINT32, bullseye_distance_dm, 14) \ X(a, STATIC, SINGULAR, UINT32, bullseye_bearing_ref, 15) \ X(a, STATIC, SINGULAR, UINT32, bullseye_flags, 16) \ -X(a, STATIC, SINGULAR, STRING, bullseye_uid_ref, 17) -#define meshtastic_DrawnShape_CALLBACK NULL +X(a, STATIC, SINGULAR, STRING, bullseye_uid_ref, 17) \ +X(a, CALLBACK, REPEATED, SINT32, vertex_lat_deltas, 18) \ +X(a, CALLBACK, REPEATED, SINT32, vertex_lon_deltas, 19) +#define meshtastic_DrawnShape_CALLBACK pb_default_field_callback #define meshtastic_DrawnShape_DEFAULT NULL -#define meshtastic_DrawnShape_vertices_MSGTYPE meshtastic_CotGeoPoint #define meshtastic_Marker_FIELDLIST(X, a) \ X(a, STATIC, SINGULAR, UENUM, kind, 1) \ @@ -1846,6 +1890,11 @@ X(a, CALLBACK, REPEATED, STRING, participants, 4) #define meshtastic_TakTalkRoomData_CALLBACK pb_default_field_callback #define meshtastic_TakTalkRoomData_DEFAULT NULL +#define meshtastic_Marti_FIELDLIST(X, a) \ +X(a, CALLBACK, REPEATED, STRING, dest_callsign, 1) +#define meshtastic_Marti_CALLBACK pb_default_field_callback +#define meshtastic_Marti_DEFAULT NULL + #define meshtastic_TAKPacketV2_FIELDLIST(X, a) \ X(a, STATIC, SINGULAR, UENUM, cot_type_id, 1) \ X(a, STATIC, SINGULAR, UENUM, how, 2) \ @@ -1873,7 +1922,7 @@ X(a, STATIC, SINGULAR, STRING, cot_type_str, 23) \ X(a, CALLBACK, SINGULAR, STRING, remarks, 24) \ X(a, STATIC, OPTIONAL, MESSAGE, environment, 25) \ X(a, STATIC, OPTIONAL, MESSAGE, sensor_fov, 26) \ -X(a, STATIC, ONEOF, BOOL, (payload_variant,pli,payload_variant.pli), 30) \ +X(a, STATIC, OPTIONAL, MESSAGE, marti, 29) \ X(a, STATIC, ONEOF, MESSAGE, (payload_variant,chat,payload_variant.chat), 31) \ X(a, STATIC, ONEOF, MESSAGE, (payload_variant,aircraft,payload_variant.aircraft), 32) \ X(a, STATIC, ONEOF, BYTES, (payload_variant,raw_detail,payload_variant.raw_detail), 33) \ @@ -1890,6 +1939,7 @@ X(a, STATIC, ONEOF, MESSAGE, (payload_variant,taktalk_room,payload_variant #define meshtastic_TAKPacketV2_DEFAULT NULL #define meshtastic_TAKPacketV2_environment_MSGTYPE meshtastic_TAKEnvironment #define meshtastic_TAKPacketV2_sensor_fov_MSGTYPE meshtastic_SensorFov +#define meshtastic_TAKPacketV2_marti_MSGTYPE meshtastic_Marti #define meshtastic_TAKPacketV2_payload_variant_chat_MSGTYPE meshtastic_GeoChat #define meshtastic_TAKPacketV2_payload_variant_aircraft_MSGTYPE meshtastic_AircraftTrack #define meshtastic_TAKPacketV2_payload_variant_shape_MSGTYPE meshtastic_DrawnShape @@ -1923,6 +1973,7 @@ extern const pb_msgdesc_t meshtastic_TAKEnvironment_msg; extern const pb_msgdesc_t meshtastic_SensorFov_msg; extern const pb_msgdesc_t meshtastic_TakTalkMessage_msg; extern const pb_msgdesc_t meshtastic_TakTalkRoomData_msg; +extern const pb_msgdesc_t meshtastic_Marti_msg; extern const pb_msgdesc_t meshtastic_TAKPacketV2_msg; /* Defines for backwards compatibility with code written before nanopb-0.4.0 */ @@ -1947,22 +1998,24 @@ extern const pb_msgdesc_t meshtastic_TAKPacketV2_msg; #define meshtastic_SensorFov_fields &meshtastic_SensorFov_msg #define meshtastic_TakTalkMessage_fields &meshtastic_TakTalkMessage_msg #define meshtastic_TakTalkRoomData_fields &meshtastic_TakTalkRoomData_msg +#define meshtastic_Marti_fields &meshtastic_Marti_msg #define meshtastic_TAKPacketV2_fields &meshtastic_TAKPacketV2_msg /* Maximum encoded size of messages (where known) */ /* meshtastic_TAKPacket_size depends on runtime parameters */ /* meshtastic_GeoChat_size depends on runtime parameters */ +/* meshtastic_DrawnShape_size depends on runtime parameters */ /* meshtastic_CasevacReport_size depends on runtime parameters */ /* meshtastic_ZMistEntry_size depends on runtime parameters */ /* meshtastic_SensorFov_size depends on runtime parameters */ /* meshtastic_TakTalkMessage_size depends on runtime parameters */ /* meshtastic_TakTalkRoomData_size depends on runtime parameters */ +/* meshtastic_Marti_size depends on runtime parameters */ /* meshtastic_TAKPacketV2_size depends on runtime parameters */ #define MESHTASTIC_MESHTASTIC_ATAK_PB_H_MAX_SIZE meshtastic_Route_size #define meshtastic_AircraftTrack_size 134 #define meshtastic_Contact_size 242 #define meshtastic_CotGeoPoint_size 12 -#define meshtastic_DrawnShape_size 553 #define meshtastic_EmergencyAlert_size 100 #define meshtastic_Group_size 4 #define meshtastic_Marker_size 191