Merge pull request #231 from jfirwin/settings-final-touches

Final touches on Settings pages
This commit is contained in:
Foster Irwin 2022-02-11 14:19:12 -07:00 committed by GitHub
commit aa5d94f0c7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 457 additions and 185 deletions

View file

@ -16,7 +16,8 @@ Another component that we use is [Vercel](https://vercel.com) — a platform for
## Documentation Organization
| Section | File Path | Description |
| :-----: | :-------: | :---------: |
| About Meshtastic | `docs/software` | High level explanation of each part of Meshtastic. |
| About Meshtastic | `docs/about` | High level explanation of of Meshtastic. |
| Meshtastic Software | `docs/software` | Current bulk of documentation running through each Meshtastic project. |
| Getting Started | `docs/getting-started` | Instructions on how to get the Meshtastic firmware onto a users device. |
| Device Settings | `docs/software/settings` | Details each user setting and provides explanations for what the setting does and how to configure the device using the various clients available (Android, CLI, iOS, Web) |
| Hardware Details | `docs/hardware` | Any hardware related content. Any time a user is attaching a peripheral accessory to their device. That includes 3d printed cases, antennas, buttons, chimes, rotary encoders, and screens. |

View file

@ -18,15 +18,16 @@ Most users should not need to change these settings. The default [modem_config](
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| bandwidth | | |
| channel_num | | |
| coding_rate | | |
| spread_factor | `7`, `8`, `9`, `10`, `11`, `12` | TODO |
| tx_power | `integer` (in dBm) | `0` |
| bandwidth | `10.4`, `15.6`, `20.8`, `31.25`, `41.7`, `62.5`, `125`, `250`, `500` | `125` |
| channel_num | Depends on Region | Region Channel Number Default |
| coding_rate | `5`, `6`, `7`, `8` | `5` |
| frequency_offset | real numbers | `0` |
| spread_factor | `7`, `8`, `9`, `10`, `11`, `12` | `7` |
| tx_power | `0`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, (dBm) | `0` |
### bandwidth
TODO
Total amount of spectrum used for the transmission.
#### Set Bandwidth
@ -71,7 +72,7 @@ Configuring this setting is not yet available for the selected platform. If this
### channel_num
TODO
An abstraction that maps to a specific center frequency used for transmission.
#### Set Channel Number
@ -116,7 +117,7 @@ Configuring this setting is not yet available for the selected platform. If this
### coding_rate
TODO
The amount of forward error correction applied to allow for us to automatically repair errors in the data transmission.
#### Set Coding Rate
@ -159,9 +160,54 @@ Configuring this setting is not yet available for the selected platform. If this
</TabItem>
</Tabs>
### 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.
#### Configure frequency_offset
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="android">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
</Tabs>
### spread_factor
TODO
LoRa is a spread spectrum technology. spread_factor is how much the signal is spread over the spectrum. SF8 = 2^8 or spread 256 times. SF12 = 2^12 or spread 4096 times.
#### Set Spread Factor
@ -206,7 +252,13 @@ Configuring this setting is not yet available for the selected platform. If this
### tx_power
TODO
Configured transmit power out of the LoRa radio, measured in dBM. Setting this to `0` will use the device default which is the max legal continuous power for your region.
:::caution
Ensure that you are not exceeding your country's regulations.
`Country regulation - antenna gain = tx_power max setting`
:::
#### Set TX Power
@ -221,7 +273,12 @@ TODO
]}>
<TabItem value="cli">
TODO
```bash title="Set Default"
meshtastic --ch-set tx_power 0 --ch-index 0
```
```bash title="Set to 2dBM"
meshtastic --ch-set tx_power 2 --ch-index 0
```
</TabItem>
<TabItem value="android">

View file

@ -129,10 +129,88 @@ Configuring this setting is not yet available for the selected platform. If this
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
#### Configure environmental_measurement_plugin_read_error_count_threshold
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
```bash title="Configure environmental_measurement_plugin_read_error_count_threshold to 3 tries"
meshtastic --set environmental_measurement_plugin_read_error_count_threshold 3
```
</TabItem>
<TabItem value="android">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
</Tabs>
### 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.
#### Configure environmental_measurement_plugin_recovery_interval
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
```bash title="Configure environmental_measurement_plugin_recovery_interval to 120 seconds"
meshtastic --set environmental_measurement_plugin_recovery_interval 120
```
</TabItem>
<TabItem value="android">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
</Tabs>
### environmental_measurement_plugin_screen_enabled
Enable/Disable the environmental measurement plugin on-device display.

View file

@ -306,8 +306,3 @@ Configuring this setting is not yet available for the selected platform. If this
</TabItem>
</Tabs>
## Details
<!--- TODO --->

View file

@ -18,9 +18,8 @@ import TabItem from '@theme/TabItem';
| auto_screen_carousel_secs | `integer` (seconds) | `0` |
| 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` |
| hop_limit | real numbers | 0|
| hop_limit | `0`-`7` | `0` |
| serial_disabled | `true`, `false` | `false` |
@ -28,7 +27,7 @@ import TabItem from '@theme/TabItem';
Automatically toggles to the next page on the screen like a carousel, based the specified interval in seconds. Potentially useful for devices without user buttons.
#### Ignore Incoming
#### Configure auto_screen_carousel_secs
<Tabs
groupId="settings"
@ -41,9 +40,12 @@ Automatically toggles to the next page on the screen like a carousel, based the
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
```bash title="Set auto_screen_carousel_secs to default"
meshtastic --set auto_screen_carousel_secs 0
```
```bash title="Set auto_screen_carousel_secs to 120 seconds"
meshtastic --set auto_screen_carousel_secs 120
```
</TabItem>
<TabItem value="android">
@ -162,56 +164,11 @@ Configuring this setting is not yet available for the selected platform. If this
</TabItem>
</Tabs>
### 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.
#### Frequency Offset
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="android">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
</Tabs>
### 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)
#### Ignore Incoming
#### Enable/Disable ignore_incoming
<Tabs
groupId="settings"
@ -224,9 +181,12 @@ If true, radio should not try to be smart about what packets to queue to the pho
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
```bash title="Enable ignore_incoming"
meshtastic --set ignore_incoming true
```
```bash title="Disable ignore_incoming"
meshtastic --set ignore_incoming false
```
</TabItem>
<TabItem value="android">
@ -304,9 +264,11 @@ Configuring this setting is not yet available for the selected platform. If this
Overrides the default number of hops a message will be passed. If not set, will default to 3 hops.
:::note
Meshtastic allows a maximum of 7 hops (this is a limit of the protocol). Setting a hop_limit of greater than 7 will be replaced with 7 on the device.
:::
#### Ignore Incoming
#### Configure hop_limit
<Tabs
groupId="settings"
@ -319,9 +281,12 @@ Meshtastic allows a maximum of 7 hops (this is a limit of the protocol). Setting
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
```bash title="Set hop_limit to default (3 hops)"
meshtastic --set hop_limit 0
```
```bash title="Set hop_limit to max (7 hops)"
meshtastic --set hop_limit 7
```
</TabItem>
<TabItem value="android">

View file

@ -37,6 +37,55 @@ Be sure to checkout this [MQTT](https://meshtastic.org/docs/software/other/mqtt)
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 specified [here](#mqtt_server) to the mesh from this device.
#### Enable/Disable downlink_enabled
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
```bash title="Enable downlink_enabled on PRIMARY channel"
meshtastic --ch-set downlink_enabled true --ch-index 0
```
```bash title="Disable downlink_enabled on PRIMARY channel"
meshtastic --ch-set downlink_enabled false --ch-index 0
```
```bash title="Enable downlink_enabled on OTHER channel"
meshtastic --ch-set downlink_enabled true --ch-index 1
```
```bash title="Disable downlink_enabled on OTHER channel"
meshtastic --ch-set downlink_enabled false --ch-index 1
```
</TabItem>
<TabItem value="android">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
</Tabs>
### mqtt_disabled
If a meshtastic node is able to reach the internet it will normally attempt to gateway any channels that are marked as `uplink_enabled` or `downlink_enabled`. But if this flag is set, all MQTT features will be disabled and no servers will be contacted.
@ -137,7 +186,53 @@ Configuring this setting is not yet available for the selected platform. If this
### mqtt_password
MQTT password to use (most useful for a custom MQTT server). If using a custom server, this will be honoured even if empty. If using the default server, this will only be honoured if set, otherwise the device will use the default password (TODO - find default password).
MQTT password to use (most useful for a custom MQTT server). If using a custom server, this will be honoured even if empty. If using the default server, this will only be honoured if set, otherwise the device will use the default password `large4cats`.
#### Configure mqtt_password
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
```bash title="Set mqtt_password"
meshtastic --set mqtt_password mypassword
```
```bash title="Set mqtt_password (with spaces)"
meshtastic --set mqtt_password "my password"
```
```bash title="Unset mqtt_password (Default)"
meshtastic --set mqtt_password ""
```
</TabItem>
<TabItem value="android">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
</Tabs>
### mqtt_server
@ -195,12 +290,107 @@ Configuring this setting is not yet available for the selected platform. If this
### mqtt_username
MQTT username to use (most useful for a custom MQTT server). If using a custom server, this will be honoured even if empty. If using the default server, this will only be honoured if set, otherwise the device will use the default username (TODO - find default username).
MQTT username to use (most useful for a custom MQTT server). If using a custom server, this will be honoured even if empty. If using the default server, this will only be honoured if set, otherwise the device will use the default username `meshdev`.
#### Configure mqtt_username
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
```bash title="Set mqtt_username"
meshtastic --set mqtt_username myusername
```
```bash title="Set mqtt_username (with spaces)"
meshtastic --set mqtt_username "my username"
```
```bash title="Unset mqtt_username (Default)"
meshtastic --set mqtt_username ""
```
</TabItem>
<TabItem value="android">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
</Tabs>
### 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](#mqtt_server).
#### Enable/Disable uplink_enabled
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
```bash title="Enable uplink_enabled on PRIMARY channel"
meshtastic --ch-set uplink_enabled true --ch-index 0
```
```bash title="Disable uplink_enabled on PRIMARY channel"
meshtastic --ch-set uplink_enabled false --ch-index 0
```
```bash title="Enable uplink_enabled on OTHER channel"
meshtastic --ch-set uplink_enabled true --ch-index 1
```
```bash title="Disable uplink_enabled on OTHER channel"
meshtastic --ch-set uplink_enabled false --ch-index 1
```
</TabItem>
<TabItem value="android">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
</Tabs>
## Details
<!--- TODO --->

View file

@ -11,16 +11,6 @@ import TabItem from '@theme/TabItem';
Power settings on a Meshtastic device can be set like other user-define settings with the `--set` command see ([see Meshtastic-python](/docs/software/python/python-cli)). Some of these options are implicit in other commands. For example, when you set the device to router mode using `is_router true`, it is implied that deep sleep is disabled and we want to constantly listen for messages. Below is a list of all user-definable settings and the acceptable values that these settings can use.
For example, if we wanted to disable sleep mode, like when we put the device into router mode, we could use the command:
```bash
meshtastic --set mesh_sds_timeout_secs 4294967295
```
:::note
See MAXUINT from `mesh_sds_timeout_secs` below:
:::
For a description and more information on what exactly all of these mean, please refer to [Power Management State Machine](/docs/software/other/power)
## Settings

View file

@ -22,9 +22,9 @@ Once plugin settings are changed, a **reset** is required for them to take effec
| serialplugin_enabled | `true`, `false` | `false` |
| serialplugin_echo | `true`, `false` | `false` |
| serialplugin_mode | `integer` | `0` |
| serialplugin_rxd | `integer` | `0` |
| serialplugin_rxd | `integer` (GPIO) | `0` |
| serialplugin_timeout | `integer` (seconds) | `0` |
| serialplugin_txd | `integer` | `0` |
| serialplugin_txd | `integer` (GPIO) | `0` |
### serialplugin_enabled
@ -41,9 +41,12 @@ Enables the plugin.
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
```bash title="Enable plugin"
meshtastic --set serialplugin_enabled true
```
```bash title="Disable plugin"
meshtastic --set serialplugin_enabled false
```
</TabItem>
<TabItem value="android">
@ -71,7 +74,7 @@ Configuring this setting is not yet available for the selected platform. If this
### serialplugin_echo
<!--- TODO --->
If set, any packets you send will be echoed back to your device.
<Tabs
groupId="settings"
@ -84,9 +87,12 @@ Configuring this setting is not yet available for the selected platform. If this
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
```bash title="Enable serialplugin_echo"
meshtastic --set serialplugin_echo true
```
```bash title="Disable serialplugin_echo"
meshtastic --set serialplugin_echo false
```
</TabItem>
<TabItem value="android">
@ -157,7 +163,7 @@ Configuring this setting is not yet available for the selected platform. If this
### serialplugin_rxd
<!--- TODO --->
Set the GPIO pin to the RXD pin you have set up.
<Tabs
groupId="settings"
@ -170,10 +176,14 @@ Configuring this setting is not yet available for the selected platform. If this
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::note
Replace `GPIO` in the below command with the GPIO number your circuit is attached to.
:::
```bash title="Set RXD to GPIO pin number"
meshtastic --set serialplugin_rxd GPIO
```
</TabItem>
<TabItem value="android">
@ -200,7 +210,7 @@ Configuring this setting is not yet available for the selected platform. If this
### serialplugin_timeout
<!--- TODO --->
The amount of time to wait before we consider your packet as "done".
<Tabs
groupId="settings"
@ -213,9 +223,9 @@ Configuring this setting is not yet available for the selected platform. If this
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
```bash title="Set serialplugin_timeout to 15 seconds"
meshtastic --set serialplugin_timeout 15
```
</TabItem>
<TabItem value="android">
@ -243,7 +253,7 @@ Configuring this setting is not yet available for the selected platform. If this
### serialplugin_txd
<!--- TODO --->
Set the GPIO pin to the TXD pin you have set up.
<Tabs
groupId="settings"
@ -256,50 +266,13 @@ Configuring this setting is not yet available for the selected platform. If this
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::note
Replace `GPIO` in the below command with the GPIO number your circuit is attached to.
:::
</TabItem>
<TabItem value="android">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="iOS">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
<TabItem value="web">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
</TabItem>
</Tabs>
## Details
## Examples
<Tabs
groupId="settings"
defaultValue="cli"
values={[
{label: 'CLI', value: 'cli'},
{label: 'Android', value: 'android'},
{label: 'iOS', value: 'iOS'},
{label: 'Web', value: 'web'},
]}>
<TabItem value="cli">
TODO
```bash title="Set TXD to GPIO pin number"
meshtastic --set serialplugin_txd GPIO
```
</TabItem>
<TabItem value="android">

View file

@ -6,6 +6,11 @@ sidebar_label: Store and Forward
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
:::info
Currently only available for ESP32 based devices with external PSRAM. Requires the device to be set as a router.
**Don't enable Store and Forward Plugin on multiple [routers](router).**
:::
## Overview
@ -26,10 +31,10 @@ Once plugin settings are changed, a **reset** is required for them to take effec
| Setting | Acceptable Values | Default |
| :-----: | :---------------: | :-----: |
| store_forward_plugin_enabled | `true`, `false` | `false` |
| store_forward_plugin_heartbeat | `true`, `false` | TODO - look up default setting |
| store_forward_plugin_heartbeat | `true`, `false` | `false` |
| store_forward_plugin_history_return_max | `integer` | `0` |
| store_forward_plugin_history_return_window | `integer` | `0` |
| store_forward_plugin_records | integer | `0` |
| store_forward_plugin_records | `integer` | `0` |
### store_forward_plugin_enabled
@ -46,9 +51,12 @@ Enables the plugin.
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
```bash title="Enable the plugin"
meshtastic --set store_forward_plugin_enabled true
```
```bash title="Disable the plugin"
meshtastic --set store_forward_plugin_enabled false
```
</TabItem>
<TabItem value="android">
@ -76,7 +84,7 @@ Configuring this setting is not yet available for the selected platform. If this
### store_forward_plugin_heartbeat
<!--- TODO --->
The Store & Forward Router sends a periodic message onto the network. This allows connected devices to know that a router is in range and listening to received messages. A client like Android, iOS, or Web can (if supported) indicate to the user whether a store and forward router is available.
<Tabs
groupId="settings"
@ -89,9 +97,9 @@ Configuring this setting is not yet available for the selected platform. If this
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
```bash title="Set store_forward_plugin_heartbeat to default"
meshtastic --set store_forward_plugin_heartbeat 0
```
</TabItem>
<TabItem value="android">
@ -120,7 +128,7 @@ Configuring this setting is not yet available for the selected platform. If this
### store_forward_plugin_history_return_max
<!--- TODO --->
Sets the maximum number of messages to return to a client device.
<Tabs
groupId="settings"
@ -133,9 +141,12 @@ Configuring this setting is not yet available for the selected platform. If this
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
```bash title="Set store_forward_plugin_history_return_max to default"
meshtastic --set store_forward_plugin_history_return_max 0
```
```bash title="Set store_forward_plugin_history_return_max to 100 messages"
meshtastic --set store_forward_plugin_history_return_max 100
```
</TabItem>
<TabItem value="android">
@ -164,7 +175,7 @@ Configuring this setting is not yet available for the selected platform. If this
### store_forward_plugin_history_return_window
<!--- TODO --->
Limits the time period (in minutes) a client device can request.
<Tabs
groupId="settings"
@ -177,9 +188,12 @@ Configuring this setting is not yet available for the selected platform. If this
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
```bash title="Set store_forward_plugin_history_return_window to default"
meshtastic --set store_forward_plugin_history_return_window 0
```
```bash title="Set store_forward_plugin_history_return_window to 1 day (1440 minutes)"
meshtastic --set store_forward_plugin_history_return_window 1440
```
</TabItem>
<TabItem value="android">
@ -208,7 +222,7 @@ Configuring this setting is not yet available for the selected platform. If this
### store_forward_plugin_records
<!--- TODO --->
Set this to the maximum number of records to save. Best to leave this at the default (`0`) where the plugin will use 2/3 of your device's available PSRAM. This is about 11,000 records.
<Tabs
groupId="settings"
@ -221,9 +235,12 @@ Configuring this setting is not yet available for the selected platform. If this
]}>
<TabItem value="cli">
:::info
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
:::
```bash title="Set store_forward_plugin_records to default (≈11,000 records)"
meshtastic --set store_forward_plugin_records 0
```
```bash title="Set store_forward_plugin_records to 100 records"
meshtastic --set store_forward_plugin_records 100
```
</TabItem>
<TabItem value="android">
@ -261,15 +278,15 @@ Configuring this setting is not yet available for the selected platform. If this
Initial Requirements:
* Must be installed on a router node.
* * This is an artificial limitation, but is in place to enforce best practices.
* * Router nodes are intended to be always online. If this plugin misses any messages, the reliability of the stored messages will be reduced.
* This is an artificial limitation, but is in place to enforce best practices.
* Router nodes are intended to be always online. If this plugin misses any messages, the reliability of the stored messages will be reduced.
* Esp32 Processor based device with external PSRAM. (tbeam v1.0 and tbeamv1.1, and maybe others)
### Usage Overview
* To use / test this you will want at least 3 devices
* * One device will (currently) need be a tbeam v1.0 and tbeamv1.1 configured as a Meshtastic router. Other devices with built in PSRAM will be supported at some point.
* * Two others will be regular clients. Nothing special required.
* One device will (currently) need be a tbeam v1.0 and tbeamv1.1 configured as a Meshtastic router. Other devices with built in PSRAM will be supported at some point.
* Two others will be regular clients. Nothing special required.
### Meshtastic channel configuration
@ -279,7 +296,7 @@ Either use a custom channel configuration with at an at least 1kbit data rate or
Recommended channel setting is for 1.343kbps:
```bash
```bash title="Recommended channel setting for S&F plugin"
meshtastic --setchan spread_factor 11 --setchan coding_rate 4 --setchan bandwidth 500
```
@ -287,16 +304,22 @@ With an aftermarket coaxial antenna or moxon antenna, that will give you roughly
### Router setup
* Configure your device as a meshtastic router.
* * https://meshtastic.org/docs/software/settings/router
* Configure the Store and Forward plugin
* * Required configuration
* * * store_forward_plugin_enabled - Set this to true to enable the plugin. False to disable the plugin.
* * Optional configuration
* * * store_forward_plugin_records - Set this to the maximum number of records to save. Best to leave this at the default (0) where the plugin will use 2/3 of your device's available PSRAM. This is about 11,000 records.
* Name your router node something that makes it easily identifiable, aka "Router".
:::warning
Don't enable the Store and Forward plugin on multiple routers!
:::
* Configure your device as a [meshtastic router](router).
* Name your router node something that makes it easily identifiable, aka "Router".
* Configure the Store and Forward plugin
```bash title="Required - Enable the plugin"
meshtastic --set store_forward_plugin_enabled true
```
```bash title="Optional - Set maximum number of records to save to device"
meshtastic --set store_forward_plugin_records 100
```
:::tip
Best to leave `store_forward_plugin_records` at the default (`0`) where the plugin will use 2/3 of your device's available PSRAM. This is about 11,000 records.
:::
### Client Usage

View file

@ -14,7 +14,7 @@ The ESP32 based devices have the ability to connect to WiFi as a client and also
The device can be either a WiFi client or a software access point. It **cannot** operate as both at the same time.
:::
:::note
:::info
The first time your device restarts after enabling the WiFi access point, it will take an additional 20-30 seconds to boot. This is to generate self-signed SSL keys. The keys will be saved for future reuse.
:::

View file

@ -38,7 +38,7 @@ const config = {
label: "Documentation",
items: [
{
label: "About Meshtastic",
label: "Meshtastic Software",
to: "docs/software",
},
{