Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new device role descriptions to protobuf comments #441

Merged
merged 4 commits into from
Feb 12, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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;
}
}
}
Loading