Merge pull request #36 from jfirwin/settings

Settings
This commit is contained in:
Sacha Weatherstone 2021-05-06 11:45:04 +10:00 committed by GitHub
commit 91f3ff544c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 1122 additions and 0 deletions

View file

@ -0,0 +1,65 @@
---
id: channel
title: Channel Settings
sidebar_label: Channel
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Overview
Channel settings are an integral part of the way your devices communicate across the mesh. If you have mismatched channel settings, your radios will be unable to communicate with one another.
## Settings
<!--- TODO add other channel settings --->
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| region | `Unset`, `US`, `EU433`, `EU865`, `CN`, `JP`, `ANZ`, `KR`, `TW`, `RU` | `Unset` |
### region
The `region` variable sets which region your radio is configured to work in. It is important to ensure that you've set it to the correct region. If left `Unset`, it will default to `US` settings.
| Name | Center Frequency | Spacing | Number of Channels | Power Limit |
| :--: | :-------: | :-----: | :----------------: | :---------: |
| US | 903.08 | 2.16 | 13 | 0 |
| EU433 | 433.175 | 0.2 | 8 | 0 |
| EU865 | 865.2 | 0.3 | 10 | 0 |
| CN | 470.0 | 2.0 | 20 | 0 |
| JP | 920.0 | 0.5 | 10 | 13 |
| ANZ | 916.0 | 0.5 | 20 | 0 |
| KR | 921.9 | 0.2 | 8 | 0 |
| TW | 923.0 | 0.2 | 10 | 0 |
| RU | 868.9 | 0.2 | 2 | 20 |
| Unset | 903.08 | 2.16 | 13 | 0 |
:::note
For more details about `region` settings, you can see the source code [here](https://github.com/meshtastic/Meshtastic-device/blob/master/src/mesh/RadioInterface.cpp)
:::
## Details
## Examples
### Set Region
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Set Region"
meshtastic --set region Unset
```
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>

View file

@ -0,0 +1,86 @@
---
id: environmental-measurement-plugin
title: Environmental Measurement Plugin Settings
sidebar_label: Environmental Measurement Plugin
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Overview
:::caution
This is a work in progress and is not yet available.
:::
The Environmental Measurement Plugin will allow you to connect climate sensors to report local conditions to your mesh.
## Settings
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| environmental_measurement_plugin_measurement_enabled | `true`, `false` | `false` |
| environmental_measurement_plugin_display_farenheit | `true`, `false` | `false` |
| environmental_measurement_plugin_read_error_count_threshold | `integer` | `0` |
| environmental_measurement_plugin_recovery_interval | `integer` (seconds) | `0` |
| environmental_measurement_plugin_screen_enabled | `true`, `false` | `0` |
| environmental_measurement_plugin_sensor_pin | `integer` | `0` |
| environmental_measurement_plugin_sensor_type | `DHT11` | `0` |
| environmental_measurement_plugin_update_interval | `integer` (seconds) | `0` |
### environmental_measurement_plugin_measurement_enabled
Enables the plugin.
### environmental_measurement_plugin_display_farenheit
The sensor is always read in Celsius, but the user can opt to view the temperature display in Farenheit using this setting.
### environmental_measurement_plugin_read_error_count_threshold
Sometimes sensor reads can fail. If this happens, we will retry a configurable number of attempts Each attempt will be delayed by the minimum required refresh rate for that sensor
### environmental_measurement_plugin_recovery_interval
Sometimes we can end up with more than read_error_count_threshold failures. In this case, we will stop trying to read from the sensor for a while. Wait this long until trying to read from the sensor again
### environmental_measurement_plugin_screen_enabled
Enable/Disable the environmental measurement plugin on-device display.
### environmental_measurement_plugin_sensor_pin
Specify the preferred GPIO Pin for sensor readings.
### environmental_measurement_plugin_sensor_type
Specify the sensor type
### environmental_measurement_plugin_update_interval
Interval in seconds of how often we should try to send our measurements to the mesh.
## Details
<!--- TODO --->
## Examples
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
TODO
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>

View file

@ -0,0 +1,72 @@
---
id: external-notification-plugin
title: External Notification Plugin Settings
sidebar_label: External Notification Plugin
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Overview
The External Notification Plugin will allow you to connect a speaker, LED or other device to notify you when a message has been received from the mesh network.
## Settings
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| ext_notification_plugin_enabled | `true`, `false` | `false` |
| ext_notification_plugin_active | `true`, `false` | `false` |
| ext_notification_plugin_alert_bell | `true`, `false` | `false` |
| ext_notification_plugin_alert_message | `true`, `false` | `false` |
| ext_notification_plugin_output | `integer` | `0` |
| ext_notification_plugin_output_ms | `integer` | `0` |
### ext_notification_plugin_enabled
Enables the plugin
### ext_notification_plugin_active
<!--- TODO --->
### ext_notification_plugin_alert_bell
<!--- TODO --->
### ext_notification_plugin_alert_message
<!--- TODO --->
### ext_notification_plugin_output
<!--- TODO --->
### ext_notification_plugin_output_ms
<!--- TODO --->
## Details
<!--- TODO --->
## Examples
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
TODO
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>

View file

@ -0,0 +1,135 @@
---
id: gps
title: GPS Settings
sidebar_label: GPS
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
:::caution
Altering/disabling the GPS functionality does not mean that you will be unable to be found. Via triangulation of your radio, location may be given up to someone if they are determined enough.
:::
## Overview
GPS is provided by either the device or your paired phone. More than likely, you will want to keep GPS functionality operational. It is not required, but does assist in some of the time calculations at a bare minimum.
## Settings
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| fixed_position | `true`, `false` | `false` |
| gps_attempt_time | `integer` (seconds) | `0` (see note) |
| gps_operation | `GpsOpUnset`, ~~`GpsOpStationary`~~, `GpsOpMobile`, `GpsOpTimeOnly`, `GpsOpDisabled` | `GpsOpUnset` |
| gps_update_interval | `integer` (seconds) | `0` (see note) |
| location_share | `LocUnset`, `LocEnabled`, `LocDisabled` | `LocUnset` |
| position_broadcast_secs | `integer` (seconds) | `0` (see note) |
:::note
On `gps_attempt_time`, `gps_update_interval`, & `position_broadcast_secs` when you set these to `0` you are not disabling these features.
On `gps_attempt_time` and `gps_update_interval`, the value `0` will be interpreted by the device as the default of **30 seconds**. On `position_broadcast_secs` the value `0` will be interpreted as the default of **15 minutes**.
If you wish to disable any GPS features, see below for more information.
:::
### fixed_position
If set, this node is at a fixed position. The device will generate GPS position updates at the regular `gps_update_interval`, but use whatever the last lat/lon/alt it saved for the node. The lat/lon/alt can be set by an internal GPS or with the help of the mobile device's GPS.
### gps_attempt_time
Determines the amount of time that a GPS fix should be allowed to take. The default is every 30 seconds. If you increase this value, it will allow the device that amount of time in seconds to aquire coordinates. If the device is unable to get a fix, it will turn off until the next interval. GPS coordinates are updated every [`gps_update_interval`](#gps_update_interval) seconds.
### gps_operation
How the GPS hardware in the device is operated.
:::note
This is independent of how our location is shared with other devices. For that see [`location_share`](#location_share).
:::
| Value | Description |
| :---: | :---------: |
| GpsOpUnset | **Default**: operates the same as `GpsOpMobile`. |
| ~~GpsOpStationary~~ | Note: This mode was removed, because it is identical go `GpsOpMobile` with a `gps_update_interval` of once per day This node is mostly stationary, we should try to get location only once per day, Once we have that position we should turn the GPS to sleep mode This is the recommended configuration for stationary 'router' nodes |
| GpsOpMobile | This node is mobile and we should get GPS position at a rate governed by `gps_update_interval` |
| GpsOpTimeOnly | We should only use the GPS to get time (no location data should be acquired/stored) Once we have the time we treat `gps_update_interval` as MAXINT (i.e. sleep forever) |
| GpsOpDisabled | GPS is always turned off - this mode is not recommended - use `GpsOpTimeOnly` instead. |
### gps_update_interval
Determines how often should the device should attempt to aquire a GPS position (in seconds). The length of time the device is allowed to attempt to aquire GPS coordinates each interval is set using [`gps_attempt_time`](#gps_attempt_time). The default is every 30 seconds.
### location_share
Determines whether location is shared with other nodes. See more details.
| Value | Description |
| :---: | :---------: |
| LocUnset | **Default**: operates the same as `LocEnabled`|
| LocEnabled | The device is sharing its location (or the paired phone's location) |
| LocDisabled | The device is not sharing its location (if the unit has a GPS it will default to only get time - i.e. [`GpsOpTimeOnly`](#gps_operation)) |
### position_broadcast_secs
How often our position is sent to the mesh (but only if it has changed significantly).
The gps updates will be sent out every `position_broadcast_secs`, with either the actual gps location, or an empty location if no gps fix was achieved. This defaults to broadcast every 15 minutes.
## Details
## Examples
### Disable Location Sharing
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Disable Location Sharing"
meshtastic --set location_share LocDisabled
```
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>
:::note
Disabling location sharing does not disable the GPS functionality, only the location sharing via the mesh.
:::
### Disable GPS Completely
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Disable GPS Completely"
meshtastic --set gps_operation GpsOpDisabled
```
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>
:::note
`gps_operation GpsOpTimeOnly` is prefered to `gps_operation GpsOPDisabled` because it allows the device to get a highres time.
:::

View file

@ -0,0 +1,67 @@
---
id: misc
title: Miscellaneous Settings
sidebar_label: Miscellaneous
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Overview
## Settings
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| debug_log_enabled | `true`, `false` | `false` |
| factory_reset | `true`, `false` | `false` |
| frequency_offset | real numbers | `0` |
| ignore_incoming | `string` list of node nums to ignore | `0` |
| serial_disabled | `true`, `false` | `false` |
### debug_log_enabled
By default we turn off logging as soon as an API client connects (to keep shared serial link quiet). Set this to true to leave the debug log outputting even when API is active.
### factory_reset
This setting is never saved to disk, but if set, all device settings will be returned to factory defaults. (Region, serial number etc... will be preserved)
### frequency_offset
This parameter is for advanced users with advanced test equipment, we do not recommend most users use it. A frequency offset that is added to to the calculated band center frequency. Used to correct for crystal calibration errors.
### ignore_incoming
If true, radio should not try to be smart about what packets to queue to the phone bool keep_all_packets = 101; If true, we will try to capture all the packets sent on the mesh, not just the ones destined to our node. bool promiscuous_mode = 102; For testing it is useful sometimes to force a node to never listen to particular other nodes (simulating radio out of range). All nodenums listed in ignore_incoming will have packets they send dropped on receive (by router.cpp)
### serial_disabled
If set, this will disable the SerialConsole by not initilizing the StreamAPI.
## Details
<!--- TODO --->
## Examples
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
TODO
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>

View file

@ -0,0 +1,69 @@
---
id: mqtt
title: MQTT Settings
sidebar_label: MQTT
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
:::note
This is still under development, use at your own risk. Report any bugs you see by creating an issue on the [meshtastic/Meshtastic-device](https://github.com/meshtastic/Meshtastic-device) repository or comment on our forum.
:::
:::caution
You may want to change your [GPS location sharing settings](gps#location_share) if you are enabling this. It will broadcast your location over the internet.
:::
## Overview
If your device is connected to WiFi you can enable it to forward messages along to an MQTT server. This allows users on the local mesh to communicate with users on the internet.
## Settings
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| mqtt_disabled | `true`, `false` | `false` |
| mqtt_server | `string` | `""` |
| is_uplink_enabled | `true`, `false` | `false` |
| is_downlink_enabled | `true`, `false` | `false` |
### mqtt_disabled
If a meshtastic node is able to reach the internet it will normally attempt to gateway any channels that are marked as `is_uplink_enabled` or `is_downlink_enabled`. But if this flag is set, all MQTT features will be disabled and no servers will be contacted.
### mqtt_server
The server to use for our MQTT global message gateway feature. If not set, the default server will be used
### is_uplink_enabled
This is a channel specific setting. If your channel has this set to `true` and you are connected to WiFi, the device will forward along messages to whatever MQTT server is specified in `mqtt_server`.
### is_downlink_enabled
This is a channel specific setting. If your channel has this set to `true` and you are connected to WiFi, the device will forward along messages from the MQTT server to the mesh from this device.
## Details
<!--- TODO --->
## Examples
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
TODO
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>

View file

@ -0,0 +1,44 @@
---
id: overview
title: Overview
sidebar_label: Overview
slug: /settings
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
Changing settings is currently most reliably done using the Commandline Interface available within `Meshtastic-python`. Setting support is being added to all other methods of interfacing with your device.
## First Steps
If you've just flashed your device, you'll want to make sure to set your region first. Every freshly flashed device will have the same default channel settings. If you ever want to return your device to all defaults.
## Examples
At the bottom of each setting page, examples will be available displaying how to adjust settings using the various platforms available to interface with your device. The examples will look like this:
### Introducing Examples
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
:::note
<!--- TODO add link --->
The CLI examples will require you to utilize the Commandline Interface that is available through Meshtastic-python. Installation instructions can be found here.
:::
```bash title="Example"
meshtastic --set region Unset
```
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>

View file

@ -0,0 +1,112 @@
---
id: power
title: Power Settings
sidebar_label: Power
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Overview
## Settings
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| charge_current | `MAUnset`, `MA100`, `MA190`, `MA280`, `MA360`, `MA450`, `MA550`, `MA630`, `MA700`, `MA780`, `MA880`, `MA960`, `MA1000`, `MA1080`, `MA1160`, `MA1240`, `MA1320`: | `MAUnset` |
| is_low_power | `true`, `false` | `false` | If set, we are powered from a low-current source (i.e. solar), so even if it looks like we have power flowing in we should try to minimize power consumption as much as possible. YOU DO NOT NEED TO SET THIS IF YOU'VE set is_router (it is implied in that case). |
| is_router | `true`, `false` | `false` |
| ls_secs | `integer` (seconds) | `0` (see note) |
| mesh_sds_timeout_secs | `integer` (seconds) | `0` |
| min_wake_secs | `integer` (seconds) | `0` |
| phone_sds_timeout_sec | `integer` (seconds) | `0` | Power management state machine option. See the [power page](other/power) for details. 0 for default of two hours, MAXUINT for disabled |
| phone_timeout_secs | `integer` (seconds) | `0` |
| screen_on_secs | `integer` (seconds) | `0` |
| sds_secs | `integer` (seconds) | `0` |
| send_owner_interval | `integer` (seconds) | `4` |
| wait_bluetooth_secs | `integer` (seconds) | `0` |
:::note
When you the following settings to `0` they assume the following defaults:
- `ls_secs`: 1 hour
- `mesh_sds_timeout_secs`: 2 hours
- `min_wake_secs`: 10 seconds
- `phone_sds_timeout_sec`: 2 hours
- `phone_timeout_secs`: 15 minutes
- `screen_on_secs`: 1 minute
- `sds_secs`: 1 year
- `wait_bluetooth_secs`: 1 minute
:::
### charge_current
Sets the current of the battery charger
### is_low_power
If set, we are powered from a low-current source (i.e. solar), so even if it looks like we have power flowing in we should try to minimize power consumption as much as possible. YOU DO NOT NEED TO SET THIS IF YOU'VE set is_router (it is implied in that case).
### is_router
Are we operating as a router. Changes behavior in the following ways: The device will only sleep for critically low battery level (i.e. always tries to stay alive for the mesh) In the future routing decisions will preferentially route packets through nodes with this attribute (because assumed good line of sight)
### ls_secs
Power management state machine option. See the [power page](../other/power) for details. 0 for default of 3600
### mesh_sds_timeout_secs
Power management state machine option. See the [power page](../other/power) for details. 0 for default of two hours, MAXUINT for disabled
### min_wake_secs
Power management state machine option. See the [power page](../other/power)for details. 0 for default of 10 seconds
### phone_sds_timeout_sec
Power management state machine option. See the [power page](../other/power) for details. 0 for default of two hours, MAXUINT for disabled
### phone_timeout_secs
Power management state machine option. See the [power page](../other/power) for details. 0 for default of 15 minutes
### screen_on_secs
Power management state machine option. See the [power page](../other/power) for details. 0 for default of one minute.
### sds_secs
Power management state machine option. See the [power page](../other/power) for details. 0 for default of one year
### send_owner_interval
Send our owner info at least this often (also we always send once at boot - to rejoin the mesh)
### wait_bluetooth_secs
Power management state machine option. See the [power page](../other/power) for details. 0 for default of 1 minute
## Details
## Examples
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
TODO
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>

View file

@ -0,0 +1,115 @@
---
id: range-test-plugin
title: Range Test Plugin Settings
sidebar_label: Range Test Plugin
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Overview
This plugin allows you to test the range of your Meshtastic nodes. It requires at least two nodes, a sender and a receiver. The receiving node then saves the messages along with the GPS coordinates at which they were received into a .csv file. This .csv file can then be integrated into [Google Earth](https://earth.google.com), [Google Maps - My Maps](https://mymaps.google.com), or any other program capable of processing .csv files. This can enable you to visualize your mesh.
:::note
Once settings are changed, a **reset** is required for them to take effect.
:::
## Settings
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| range_test_plugin_enabled | `true`, `false` | `false` |
| range_test_plugin_save | `true`, `false` | `false` |
| range_test_plugin_sender | `integer` (Seconds) | `0` |
### range_test_plugin_enabled
Enables the plugin.
### range_test_plugin_save
If enabled, we will save a log of all received messages to `/static/rangetest.csv` which you can access from the webserver. We will abort writing if there is less than 50k of space on the filesystem to prevent filling up the storage.
### range_test_plugin_sender
Number of seconds to wait between sending packets. Using the long_slow channel configuration, it's best not to go more frequent than once every 60 seconds. You can be more agressive with faster settings. `0` is default which disables sending messages.
## Details
While a minumum of two radios is required, more can be used. You can have any number of receivers and senders that your mesh is able to handle. You can test having a single sender with multiple receivers or a single reciever with multiple senders. Let us know on the [forum thread](https://meshtastic.discourse.group/t/new-plugin-rangetestplugin/2591/) the results of your configuration.
Be sure to turn off either the plugin configured as a sender or the device where the plugin setup as sender when not in use. This will use a lot of time on air and will spam your channel.
Also be mindful of your space usage on the file system. It has protections from filling up the space but it's best to delete old range test results.
:::note
Leaving this plugin on can slow down your mesh. Currently, the messages are sent using the same `TEXT_MESSAGE_APP` [port that all other messages](../../developers/protobufs/api#portnumsproto) are sent on.
:::
### Accessing your CSV
Connect to your device over WiFi, either using the [software access point](wifi#software-access-point) or [WiFi Client](wifi#wifi-client). Then navigate to `meshtastic.local` (or your IP address) `/static/rangetest.csv` where your file will be available for download.
```plaintext title="Example URLs"
http://meshtastic.local/static/rangetest.csv
http://198.168.0.X/static/rangetest.csv
```
### Recommended Sender Settings
| Radio Setting | `range_test_plugin_sender` |
| :-----------: | :------------------------: |
| Long Slow | 60 |
| Long Alt | 30 |
| Medium | 15 |
| Short Fast | 15 |
## Examples
### Sender Node
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Example - Sender Node"
meshtastic --set range_test_plugin_enabled true
meshtastic --set range_test_plugin_sender 60
```
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>
### Receiver Node
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Example - Receiver Node"
meshtastic --set range_test_plugin_enabled true
meshtastic --set range_test_plugin_save true
```
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>

View file

@ -0,0 +1,60 @@
---
id: router
title: Router Settings
sidebar_label: Router
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Overview
## Settings
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| is_router | `true`, `false` | `false` |
### is_router
Are we operating as a router. Changes behavior in the following ways: The device will only sleep for critically low battery level (i.e. always tries to stay alive for the mesh) In the future routing decisions will preferentially route packets through nodes with this attribute (because assumed good line of sight)
## Details
Toggling `is_router` changes your device settings in the following ways.
| Setting | `is_router` Default | Normal Default |
| :-----: | :-----------------: | :------------: |
| `send_owner_interval` | 2 | 4 |
| `position_broadcast_secs` | 12 hours | 15 minutes |
| `wait_bluetooth_secs` | 1 | 60 |
| `mesh_sds_timeout_secs` | NODE_DELAY_FOREVER | 2 hours |
| `phone_sds_timeout_sec` | NODE_DELAY_FOREVER | 2 hours |
| `ls_secs` | 1 day | 5 minutes |
### Altered Behaviors
#### Screen Wake
#### Bluetooth
## Examples
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
TODO
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>

View file

@ -0,0 +1,70 @@
---
id: serial-plugin
title: Serial Plugin Settings
sidebar_label: Serial Plugin
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Overview
This is a simple interface to send messages over the mesh network by sending strings over a serial port.
## Settings
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| serialplugin_enabled | `true`, `false` | `false` |
| serialplugin_echo | `true`, `false` | `false` |
| serialplugin_mode | `integer` | `0` |
| serialplugin_rxd | `integer` | `0` |
| serialplugin_timeout | `integer` (seconds) | `0` |
| serialplugin_txd | `integer` | `0` |
### serialplugin_enabled
Enables the plugin.
### serialplugin_echo
<!--- TODO --->
### serialplugin_mode
<!--- TODO --->
### serialplugin_rxd
<!--- TODO --->
### serialplugin_timeout
<!--- TODO --->
### serialplugin_txd
<!--- TODO --->
## Details
## Examples
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
TODO
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>

View file

@ -0,0 +1,56 @@
---
id: store-and-forward-plugin
title: Store and Forward Settings
sidebar_label: Store and Forward
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Overview
:::caution
This is a work in progress and is not yet available.
:::
The Store Forward Plugin is an implementation of a Store and Forward system to enable resilient messaging in the event that a client device is disconnected from the main network.
Because of the increased network traffic for this overhead, it's not adviced to use this if you are duty cycle limited for your airtime usage nor is it adviced to use this for SF12 (Long range but Slow).
## Settings
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| store_forward_plugin_enabled | `true`, `false` | `false` |
| store_forward_plugin_records | integer | `0` |
### store_forward_plugin_enabled
Enables the plugin.
### store_forward_plugin_records
<!--- TODO --->
## Details
## Examples
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
TODO
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>

View file

@ -0,0 +1,150 @@
---
id: wifi
title: WiFi Settings
sidebar_label: WiFi
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## Overview
WiFi support can be configured as either a WiFi Client or a Software Access Point (SoftAP). The WiFi client will connect to your existing WiFi network, as opposed to the SoftAP which will broadcast a new SSID and Password. See below for more details.
:::note
The device can be either a WiFi client or a software access point. It **cannot** operate as both at the same time.
:::
## Settings
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| wifi_ap_mode | `true`, `false` | `false` |
| wifi_password | string | `""` |
| wifi_ssid | string | `""` |
:::note
`wifi_ssid` & `wifi_password` are both **case sensitive** values.
:::
### wifi_ap_mode
A boolean value that toggles the [Software Access Point](#software-access-point)
### wifi_password
In [SoftAP](#software-access-point) mode, this is the password to access your device's WiFi. In [Client](#wifi-client) mode, this is your WiFi Networks password. This string is case sensitive.
### wifi_ssid
In [SoftAP](#software-access-point) mode, this is the SSID broadcast to access your device's WiFi. In [Client](#wifi-client) mode, this is your WiFi Networks SSID. This string is case sensitive.
## Details
### Software Access Point
With the SoftAP enabled, a DNS server will run on the device. The DNS server will respond to all DNS requests with the IP address of your device. This will simplify device discovery because you will not have to remember the device's IP any unencrypted HTTP request will direct you to the right location.
#### Force SoftAP
You can also enable the SoftAP by following these directions:
* Hold down the user button
* Press and release the reset button
* Count to two
* Let go of the user button
This will reboot the device with the SSID set to `meshtasticAdmin` and the password set to `12345678`. Using the Force SoftAP method, once you reboot, the SoftAP will be turned off.
### WiFi Client
With `wifi_ssid` & `wifi_password` populated, the device will now to connect to your network. Make sure you are in range of your WiFi. If you have a single device on your local network it's easy to connect to your device `http://meshtastic.local`. If you have multiple devices you will need to connect using thier respective IP addresses.
To disable WiFi completely, set `wifi_ap_mode` to `false`, and both `wifi_ssid` & `wifi_password` to an empty string `""`.
## Examples
### Enable WiFi (as client)
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Enabling WiFi Client"
meshtastic --set wifi_ap_mode false --set wifi_ssid mywifissid --set wifi_password mywifipassword
```
:::note
If your `wifi_ssid` or `wifi_password` contain spaces, be sure to put quotation marks around the whole thing:
```bash title="Example with spaces"
meshtastic --set wifi_ssid "my wifi ssid" --set wifi_password "my wifi password"
```
:::
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>
In the above example, the device will join a network with the SSID `mywifissid` and the password `mywifipassword`.
### Enable WiFi (as SoftAP)
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Software Access Point Example"
meshtastic --set wifi_ap_mode true --set wifi_ssid mywifissid --set wifi_password mywifipassword
```
:::note
If your `wifi_ssid` or `wifi_password` contain spaces, be sure to put quotation marks around the whole thing:
```bash title="Example with spaces"
meshtastic --set wifi_ssid "my wifi ssid" --set wifi_password "my wifi password"
```
:::
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>
In the above example, the device will broadcast a network with the SSID `mywifissid` and the password `mywifipassword`.
### Disable WiFi Completely
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
]}>
<TabItem value="cli">
```bash title="Example - Disabling WiFi"
meshtastic --set wifi_ap_mode false --set wifi_ssid "" --set wifi_password ""
```
</TabItem>
<TabItem value="android">
TODO
</TabItem>
</Tabs>

View file

@ -108,6 +108,27 @@ module.exports = {
"software/other/ant",
],
},
{
Settings: [
"software/settings/overview",
"software/settings/channel",
"software/settings/gps",
"software/settings/mqtt",
"software/settings/power",
"software/settings/router",
"software/settings/wifi",
{
"Plugins": [
"software/settings/environmental-measurement-plugin",
"software/settings/external-notification-plugin",
"software/settings/range-test-plugin",
"software/settings/serial-plugin",
"software/settings/store-and-forward-plugin",
],
},
"software/settings/misc",
]
},
],
Hardware: [
"hardware/overview",