Skip to content

Commit

Permalink
Merge pull request #441 from meshtastic/role_descriptions
Browse files Browse the repository at this point in the history
Add new device role descriptions to protobuf comments
  • Loading branch information
thebentern authored Feb 12, 2024
2 parents 388fd79 + 61d35cc commit 4cfff1e
Showing 1 changed file with 20 additions and 22 deletions.
42 changes: 20 additions & 22 deletions meshtastic/config.proto
Original file line number Diff line number Diff line change
Expand Up @@ -18,73 +18,71 @@ message Config {
*/
enum Role {
/*
* Client device role
* Description: App connected or stand alone messaging device.
* Technical Details: Default Role
*/
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
*/
CLIENT_HIDDEN = 8;

/*
* Lost and Found device role
* Used to automatically send a text message to the mesh
* 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"
*/
Expand Down Expand Up @@ -946,4 +944,4 @@ message Config {
LoRaConfig lora = 6;
BluetoothConfig bluetooth = 7;
}
}
}

0 comments on commit 4cfff1e

Please sign in to comment.