From 9ea1f0065a59b45afdb478a4fb8b2088a4cd263b Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 13 Jun 2026 07:30:56 -0500 Subject: [PATCH] Update protos --- protobufs | 2 +- src/mesh/generated/meshtastic/admin.pb.h | 13 +++++++++---- src/mesh/generated/meshtastic/deviceonly.pb.h | 18 ++++++++++++------ src/mesh/generated/meshtastic/mesh.pb.h | 8 ++++++++ 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/protobufs b/protobufs index 485ede742..1df6c1154 160000 --- a/protobufs +++ b/protobufs @@ -1 +1 @@ -Subproject commit 485ede7422e6db2c819e42913167ab15d9f557b7 +Subproject commit 1df6c1154248c82abb21b73eb06c203f595780db diff --git a/src/mesh/generated/meshtastic/admin.pb.h b/src/mesh/generated/meshtastic/admin.pb.h index 223705b28..a099d7d5e 100644 --- a/src/mesh/generated/meshtastic/admin.pb.h +++ b/src/mesh/generated/meshtastic/admin.pb.h @@ -234,6 +234,9 @@ typedef struct _meshtastic_HamParameters { float frequency; /* Optional short name of user */ char short_name[5]; + /* Optional long name of user + Appended to callsign */ + char long_name[15]; } meshtastic_HamParameters; /* Response envelope for node_remote_hardware_pins */ @@ -544,7 +547,7 @@ extern "C" { #define meshtastic_AdminMessage_InputEvent_init_default {0, 0, 0, 0} #define meshtastic_AdminMessage_OTAEvent_init_default {_meshtastic_OTAMode_MIN, {0, {0}}} #define meshtastic_LockdownAuth_init_default {{0, {0}}, 0, 0, 0, 0, 0} -#define meshtastic_HamParameters_init_default {"", 0, 0, ""} +#define meshtastic_HamParameters_init_default {"", 0, 0, "", ""} #define meshtastic_NodeRemoteHardwarePinsResponse_init_default {0, {meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default}} #define meshtastic_SharedContact_init_default {0, false, meshtastic_User_init_default, 0, 0} #define meshtastic_KeyVerificationAdmin_init_default {_meshtastic_KeyVerificationAdmin_MessageType_MIN, 0, 0, false, 0} @@ -557,7 +560,7 @@ extern "C" { #define meshtastic_AdminMessage_InputEvent_init_zero {0, 0, 0, 0} #define meshtastic_AdminMessage_OTAEvent_init_zero {_meshtastic_OTAMode_MIN, {0, {0}}} #define meshtastic_LockdownAuth_init_zero {{0, {0}}, 0, 0, 0, 0, 0} -#define meshtastic_HamParameters_init_zero {"", 0, 0, ""} +#define meshtastic_HamParameters_init_zero {"", 0, 0, "", ""} #define meshtastic_NodeRemoteHardwarePinsResponse_init_zero {0, {meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero}} #define meshtastic_SharedContact_init_zero {0, false, meshtastic_User_init_zero, 0, 0} #define meshtastic_KeyVerificationAdmin_init_zero {_meshtastic_KeyVerificationAdmin_MessageType_MIN, 0, 0, false, 0} @@ -584,6 +587,7 @@ extern "C" { #define meshtastic_HamParameters_tx_power_tag 2 #define meshtastic_HamParameters_frequency_tag 3 #define meshtastic_HamParameters_short_name_tag 4 +#define meshtastic_HamParameters_long_name_tag 5 #define meshtastic_NodeRemoteHardwarePinsResponse_node_remote_hardware_pins_tag 1 #define meshtastic_SharedContact_node_num_tag 1 #define meshtastic_SharedContact_user_tag 2 @@ -786,7 +790,8 @@ X(a, STATIC, SINGULAR, BOOL, disable, 6) X(a, STATIC, SINGULAR, STRING, call_sign, 1) \ X(a, STATIC, SINGULAR, INT32, tx_power, 2) \ X(a, STATIC, SINGULAR, FLOAT, frequency, 3) \ -X(a, STATIC, SINGULAR, STRING, short_name, 4) +X(a, STATIC, SINGULAR, STRING, short_name, 4) \ +X(a, STATIC, SINGULAR, STRING, long_name, 5) #define meshtastic_HamParameters_CALLBACK NULL #define meshtastic_HamParameters_DEFAULT NULL @@ -891,7 +896,7 @@ extern const pb_msgdesc_t meshtastic_SHTXX_config_msg; #define meshtastic_AdminMessage_InputEvent_size 14 #define meshtastic_AdminMessage_OTAEvent_size 36 #define meshtastic_AdminMessage_size 511 -#define meshtastic_HamParameters_size 31 +#define meshtastic_HamParameters_size 47 #define meshtastic_KeyVerificationAdmin_size 25 #define meshtastic_LockdownAuth_size 56 #define meshtastic_NodeRemoteHardwarePinsResponse_size 496 diff --git a/src/mesh/generated/meshtastic/deviceonly.pb.h b/src/mesh/generated/meshtastic/deviceonly.pb.h index 7c14c3e0f..474b332a8 100644 --- a/src/mesh/generated/meshtastic/deviceonly.pb.h +++ b/src/mesh/generated/meshtastic/deviceonly.pb.h @@ -69,8 +69,8 @@ typedef PB_BYTES_ARRAY_T(32) meshtastic_NodeInfoLite_public_key_t; typedef struct _meshtastic_NodeInfoLite { /* The node number */ uint32_t num; - /* Returns the Signal-to-noise ratio (SNR) of the last received message, - as measured by the receiver. Return SNR of the last received message in dB */ + /* In-memory SNR of the last received message in dB. Not serialised directly: + always zeroed before encode; persisted as snr_q4 = 19 below. */ float snr; /* Set to indicate the last time we received a packet from this node */ uint32_t last_heard; @@ -94,6 +94,10 @@ typedef struct _meshtastic_NodeInfoLite { meshtastic_Config_DeviceConfig_Role role; /* The public key of the user's device, for PKI-based encrypted DMs. */ meshtastic_NodeInfoLite_public_key_t public_key; + /* Q4-encoded SNR: dB × 4, sint32 zigzag. Matches RouteDiscovery convention. + Encode: snr_q4 = (int32_t)(snr * 4.0f). Decode: snr = snr_q4 / 4.0f. + float snr is always zeroed on disk; this field carries all persisted SNR. */ + int32_t snr_q4; } meshtastic_NodeInfoLite; /* This message is never sent over the wire, but it is used for serializing DB @@ -215,7 +219,7 @@ extern "C" { /* Initializer values for message structs */ #define meshtastic_PositionLite_init_default {0, 0, 0, 0, _meshtastic_Position_LocSource_MIN, 0} #define meshtastic_UserLite_init_default {{0}, "", "", _meshtastic_HardwareModel_MIN, 0, _meshtastic_Config_DeviceConfig_Role_MIN, {0, {0}}, false, 0} -#define meshtastic_NodeInfoLite_init_default {0, 0, 0, 0, false, 0, 0, 0, "", "", _meshtastic_HardwareModel_MIN, _meshtastic_Config_DeviceConfig_Role_MIN, {0, {0}}} +#define meshtastic_NodeInfoLite_init_default {0, 0, 0, 0, false, 0, 0, 0, "", "", _meshtastic_HardwareModel_MIN, _meshtastic_Config_DeviceConfig_Role_MIN, {0, {0}}, 0} #define meshtastic_DeviceState_init_default {false, meshtastic_MyNodeInfo_init_default, false, meshtastic_User_init_default, 0, {meshtastic_MeshPacket_init_default}, false, meshtastic_MeshPacket_init_default, 0, 0, 0, false, meshtastic_MeshPacket_init_default, 0, {meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default}} #define meshtastic_NodePositionEntry_init_default {0, false, meshtastic_PositionLite_init_default} #define meshtastic_NodeTelemetryEntry_init_default {0, false, meshtastic_DeviceMetrics_init_default} @@ -226,7 +230,7 @@ extern "C" { #define meshtastic_BackupPreferences_init_default {0, 0, false, meshtastic_LocalConfig_init_default, false, meshtastic_LocalModuleConfig_init_default, false, meshtastic_ChannelFile_init_default, false, meshtastic_User_init_default} #define meshtastic_PositionLite_init_zero {0, 0, 0, 0, _meshtastic_Position_LocSource_MIN, 0} #define meshtastic_UserLite_init_zero {{0}, "", "", _meshtastic_HardwareModel_MIN, 0, _meshtastic_Config_DeviceConfig_Role_MIN, {0, {0}}, false, 0} -#define meshtastic_NodeInfoLite_init_zero {0, 0, 0, 0, false, 0, 0, 0, "", "", _meshtastic_HardwareModel_MIN, _meshtastic_Config_DeviceConfig_Role_MIN, {0, {0}}} +#define meshtastic_NodeInfoLite_init_zero {0, 0, 0, 0, false, 0, 0, 0, "", "", _meshtastic_HardwareModel_MIN, _meshtastic_Config_DeviceConfig_Role_MIN, {0, {0}}, 0} #define meshtastic_DeviceState_init_zero {false, meshtastic_MyNodeInfo_init_zero, false, meshtastic_User_init_zero, 0, {meshtastic_MeshPacket_init_zero}, false, meshtastic_MeshPacket_init_zero, 0, 0, 0, false, meshtastic_MeshPacket_init_zero, 0, {meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero}} #define meshtastic_NodePositionEntry_init_zero {0, false, meshtastic_PositionLite_init_zero} #define meshtastic_NodeTelemetryEntry_init_zero {0, false, meshtastic_DeviceMetrics_init_zero} @@ -263,6 +267,7 @@ extern "C" { #define meshtastic_NodeInfoLite_hw_model_tag 16 #define meshtastic_NodeInfoLite_role_tag 17 #define meshtastic_NodeInfoLite_public_key_tag 18 +#define meshtastic_NodeInfoLite_snr_q4_tag 19 #define meshtastic_DeviceState_my_node_tag 2 #define meshtastic_DeviceState_owner_tag 3 #define meshtastic_DeviceState_receive_queue_tag 5 @@ -330,7 +335,8 @@ X(a, STATIC, SINGULAR, STRING, long_name, 14) \ X(a, STATIC, SINGULAR, STRING, short_name, 15) \ X(a, STATIC, SINGULAR, UENUM, hw_model, 16) \ X(a, STATIC, SINGULAR, UENUM, role, 17) \ -X(a, STATIC, SINGULAR, BYTES, public_key, 18) +X(a, STATIC, SINGULAR, BYTES, public_key, 18) \ +X(a, STATIC, SINGULAR, SINT32, snr_q4, 19) #define meshtastic_NodeInfoLite_CALLBACK NULL #define meshtastic_NodeInfoLite_DEFAULT NULL @@ -450,7 +456,7 @@ extern const pb_msgdesc_t meshtastic_BackupPreferences_msg; #define meshtastic_ChannelFile_size 718 #define meshtastic_DeviceState_size 1944 #define meshtastic_NodeEnvironmentEntry_size 170 -#define meshtastic_NodeInfoLite_size 105 +#define meshtastic_NodeInfoLite_size 112 #define meshtastic_NodePositionEntry_size 42 #define meshtastic_NodeStatusEntry_size 89 #define meshtastic_NodeTelemetryEntry_size 35 diff --git a/src/mesh/generated/meshtastic/mesh.pb.h b/src/mesh/generated/meshtastic/mesh.pb.h index 4436fd16e..5b27f01d1 100644 --- a/src/mesh/generated/meshtastic/mesh.pb.h +++ b/src/mesh/generated/meshtastic/mesh.pb.h @@ -325,6 +325,14 @@ typedef enum _meshtastic_HardwareModel { meshtastic_HardwareModel_T_IMPULSE_PLUS = 135, /* Lilygo T-Echo Card */ meshtastic_HardwareModel_T_ECHO_CARD = 136, + /* Seeed Tracker L2 */ + meshtastic_HardwareModel_SEEED_WIO_TRACKER_L2 = 137, + /* Elecrow CrowPanel Advance P4 models, ESP32-P4 and TFT with SX1262 radio plugin */ + meshtastic_HardwareModel_CROWPANEL_P4 = 138, + /* Heltec Mesh Tower V2 */ + meshtastic_HardwareModel_HELTEC_MESH_TOWER_V2 = 139, + /* Meshnology W10 */ + meshtastic_HardwareModel_MESHNOLOGY_W10 = 140, /* ------------------------------------------------------------------------------------------------------------------------------------------ Reserved ID For developing private Ports. These will show up in live traffic sparsely, so we can use a high number. Keep it within 8 bits. ------------------------------------------------------------------------------------------------------------------------------------------ */