meshtastic/docs/configuration/device-config/device.mdx
2023-01-24 09:58:28 +01:00

125 lines
4.1 KiB
Plaintext

---
id: device
title: Device Configuration
slug: /settings/config/device
sidebar_label: Device
---
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
The device config options are: Role, Serial Output, and Debug Log. Device config uses an admin message sending a `Config.Device` protobuf.
## Device Config Values
### Role
Sets the role of node.
Acceptable values:
| Value | Description |
| :-------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| `CLIENT` | Client (default) - App connected client. |
| `CLIENT_MUTE` | Client Mute - Same as a client except packets will not hop over this node, does not contribute to routing packets for mesh. |
| `ROUTER` | Router - 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. |
| `ROUTER_CLIENT` | Router Client - 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. |
### Serial Console
Acceptable values: `true` or `false`
Disabling this will disable the SerialConsole by not initializing the StreamAPI.
### Debug Log
Acceptable values: `true` or `false`
By default we turn off logging as soon as an API client connects. Set this to true to leave the debug log outputting even when API is active.
### GPIO for user button
This is the GPIO pin number that will be used for the user button, if your device does not come with a predefined user button.
### GPIO for PWM Buzzer
This is the GPIO pin number that will be used for the PWM buzzer, if your device does not come with a predefined buzzer.
## Device Config Client Availability
<Tabs
groupId="settings"
defaultValue="apple"
values={[
{label: 'Android', value: 'android'},
{label: 'Apple', value: 'apple'},
{label: 'CLI', value: 'cli'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="android">
:::info
Device Config is available for Android.
1. Open the Meshtastic App
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Device Settings > Device Config**
:::
</TabItem>
<TabItem value="apple">
:::info
All device config options other than NTP Server are available on iOS, iPadOS and macOS at Settings > Radio Configuration > Device.
:::
</TabItem>
<TabItem value="cli">
:::info
All device config options are available in the python CLI. Example commands are below:
:::
| Setting | Acceptable Values | Default |
| ------------------------ | -------------------------------------------------- | -------- |
| device.debug_log_enabled | `true`, `false` | `false` |
| device.role | `CLIENT`, `CLIENT_MUTE`, `ROUTER`, `ROUTER_CLIENT` | `CLIENT` |
| device.serial_enabled | `true`, `false` | `true` |
| device.button_gpio | `0` - `34` | `0` |
| device.buzzer_gpio | `0` - `34` | `0` |
:::tip
Because the device will reboot after each command is sent via CLI, it is recommended when setting multiple values in a config section that commands be chained together as one.
```shell title="Example:"
meshtastic --set device.role CLIENT --set device.debug_log_enabled true
```
:::
```shell title="Set the role to client"
meshtastic --set device.role CLIENT
```
```shell title="Disable serial console"
meshtastic --set device.serial_enabled false
```
```shell title="Enable debug logging"
meshtastic --set device.debug_log_enabled true
```
</TabItem>
<TabItem value="web">
:::info
All device config options are available in the Web UI.
:::
</TabItem>
</Tabs>