From 1205cf2390e8c970b1664dc373854c0772cc9d24 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Mon, 12 Feb 2024 11:38:13 -0800 Subject: [PATCH 1/4] Update config.proto Add new device role descriptions to protobuf comments to help developers working on apps. --- meshtastic/config.proto | 41 +++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/meshtastic/config.proto b/meshtastic/config.proto index 8853a10..90d81e7 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -18,64 +18,61 @@ message Config { */ enum Role { /* - * Client device role + * Description: App connected or stand alone messaging device. */ CLIENT = 0; - /* - * Client Mute device role - * Same as a client except packets will not hop over this node, does not contribute to routing packets for mesh. + * Description: Device that does not forward packets from other devices. */ CLIENT_MUTE = 1; /* - * Router device role. - * Mesh packets will prefer to be routed over this node. This node will not be used by client apps. - * The wifi/ble radios and the oled screen will be put to sleep. + * Description: Infrastructure node for extending network coverage by relaying messages. Visible in Nodes list. + * Technical Details: Mesh packets will prefer to be routed over this node. This node will not be used by client apps. + * The wifi radio and the oled screen will be put to sleep. * This mode may still potentially have higher power usage due to it's preference in message rebroadcasting on the mesh. */ ROUTER = 2; /* - * Router Client device role - * Mesh packets will prefer to be routed over this node. The Router Client can be used as both a Router and an app connected Client. + * Description: Combination of both ROUTER and CLIENT. Not for mobile devices. */ ROUTER_CLIENT = 3; /* - * Repeater device role - * Mesh packets will simply be rebroadcasted over this node. Nodes configured with this role will not originate NodeInfo, Position, Telemetry + * Description: Infrastructure node for extending network coverage by relaying messages with minimal overhead. Not visible in Nodes list. + * Technical Details: Mesh packets will simply be rebroadcasted over this node. Nodes configured with this role will not originate NodeInfo, Position, Telemetry * or any other packet type. They will simply rebroadcast any mesh packets on the same frequency, channel num, spread factor, and coding rate. */ REPEATER = 4; /* - * Tracker device role - * Position Mesh packets will be prioritized higher and sent more frequently by default. + * Description: Broadcasts GPS position packets as priority. + * Technical Details: Position Mesh packets will be prioritized higher and sent more frequently by default. * When used in conjunction with power.is_power_saving = true, nodes will wake up, * send position, and then sleep for position.position_broadcast_secs seconds. */ TRACKER = 5; /* - * Sensor device role - * Telemetry Mesh packets will be prioritized higher and sent more frequently by default. + * Description: Broadcasts telemetry packets as priority. + * Technical Details: Telemetry Mesh packets will be prioritized higher and sent more frequently by default. * When used in conjunction with power.is_power_saving = true, nodes will wake up, * send environment telemetry, and then sleep for telemetry.environment_update_interval seconds. */ SENSOR = 6; /* - * TAK device role - * Used for nodes dedicated for connection to an ATAK EUD. + * Description: Optimized for ATAK system communication, reduces routine broadcasts. + * Technical Details: Used for nodes dedicated for connection to an ATAK EUD. * Turns off many of the routine broadcasts to favor CoT packet stream * from the Meshtastic ATAK plugin -> IMeshService -> Node */ TAK = 7; /* - * Client Hidden device role - * Used for nodes that "only speak when spoken to" + * Description: Device that only broadcasts as needed for stealth or power savings." + * Technical Details: Used for nodes that "only speak when spoken to" * Turns all of the routine broadcasts but allows for ad-hoc communication * Still rebroadcasts, but with local only rebroadcast mode (known meshes only) * Can be used for clandestine operation or to dramatically reduce airtime / power consumption @@ -83,8 +80,8 @@ message Config { CLIENT_HIDDEN = 8; /* - * Lost and Found device role - * Used to automatically send a text message to the mesh + * Description: + * Technical Details: Used to automatically send a text message to the mesh * with the current position of the device on a frequent interval: * "I'm lost! Position: lat / long" */ @@ -946,4 +943,4 @@ message Config { LoRaConfig lora = 6; BluetoothConfig bluetooth = 7; } -} \ No newline at end of file +} From fc6f4b5e5f0982c8a61777c83a615cb4d1bbe458 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Mon, 12 Feb 2024 11:41:04 -0800 Subject: [PATCH 2/4] Update config.proto --- meshtastic/config.proto | 1 + 1 file changed, 1 insertion(+) diff --git a/meshtastic/config.proto b/meshtastic/config.proto index 90d81e7..b0e816e 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -19,6 +19,7 @@ message Config { enum Role { /* * Description: App connected or stand alone messaging device. + * Technical Details: Default Role */ CLIENT = 0; /* From e10c34959e96ab35f49579c5b3ca1b63d8e93b8a Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Mon, 12 Feb 2024 11:42:26 -0800 Subject: [PATCH 3/4] Update config.proto Add lost and found --- meshtastic/config.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meshtastic/config.proto b/meshtastic/config.proto index b0e816e..a67cc4a 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -81,7 +81,7 @@ message Config { CLIENT_HIDDEN = 8; /* - * Description: + * Description: Broadcasts location as message to default channel regularly for to assist with device recovery. * Technical Details: Used to automatically send a text message to the mesh * with the current position of the device on a frequent interval: * "I'm lost! Position: lat / long" From 61d35ccc4a7f3009377a825ebb03081d4633ba2d Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Mon, 12 Feb 2024 11:43:39 -0800 Subject: [PATCH 4/4] Update config.proto remove stray double quote --- meshtastic/config.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meshtastic/config.proto b/meshtastic/config.proto index a67cc4a..538d3a8 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -72,7 +72,7 @@ message Config { TAK = 7; /* - * Description: Device that only broadcasts as needed for stealth or power savings." + * Description: Device that only broadcasts as needed for stealth or power savings. * Technical Details: Used for nodes that "only speak when spoken to" * Turns all of the routine broadcasts but allows for ad-hoc communication * Still rebroadcasts, but with local only rebroadcast mode (known meshes only)