mirror of
https://github.com/meshtastic/meshtastic.git
synced 2025-02-21 03:25:51 -08:00
Merge input broker page into canned message, delete store and forward
This commit is contained in:
parent
27f7d221d4
commit
9e0d1d7a22
|
@ -7,274 +7,188 @@ sidebar_label: Canned Message
|
||||||
import Tabs from '@theme/Tabs';
|
import Tabs from '@theme/Tabs';
|
||||||
import TabItem from '@theme/TabItem';
|
import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
:::warning
|
The Canned Message Module will allow you to send messages to the mesh network from the device without using the phone app. You can predefine text messages to choose from.
|
||||||
GPIO access is fundamentally dangerous because invalid options can physically damage or destroy your hardware. Ensure that you fully understand the schematic for your particular device before trying this as we do not offer a warranty. Use at your own risk.
|
|
||||||
:::
|
|
||||||
|
|
||||||
:::note
|
The canned message module config options are: Enabled, Save, and Sender. Range Test Module config uses an admin message sending a `ConfigModule.CannedMessage` protobuf.
|
||||||
This module requires attaching a peripheral accessory to your device. It will not work without one. It also requires use of the [Rotary Encoder Module](input-broker) to configure the input source.
|
|
||||||
:::
|
|
||||||
|
|
||||||
## Overview
|
## Canned Message Module Config Values
|
||||||
|
|
||||||
The CannedMessage Module will allow you to send messages to the mesh network from the device without using the phone app. You can predefine text messages to choose from.
|
|
||||||
|
|
||||||
:::tip
|
|
||||||
Once module settings are changed, a **reset** is required for them to take effect.
|
|
||||||
:::
|
|
||||||
|
|
||||||
## Settings
|
|
||||||
|
|
||||||
| Setting | Acceptable Values | Default |
|
|
||||||
| :--------------------------------------: | :---------------: | :-----: |
|
|
||||||
| canned_message_module_allow_input_source | `rotEnc1`, `_any` | `_any` |
|
|
||||||
| canned_message_module_enabled | `true`, `false` | `false` |
|
|
||||||
| canned_message_module_messages | `string` | `""` |
|
|
||||||
| canned_message_module_send_bell | `true`, `false` | `false` |
|
|
||||||
| (Messages)\* | `string` | `""` |
|
|
||||||
|
|
||||||
- Messages can be set with a dedicated option:
|
|
||||||
|
|
||||||
`--set-canned-message "<messages>"`
|
|
||||||
|
|
||||||
### Enabled
|
### Enabled
|
||||||
|
|
||||||
### Allow Input Source
|
Enables the canned message module.
|
||||||
|
|
||||||
Input event source accepted by the canned message module.
|
### Send Bell
|
||||||
|
|
||||||
| Value | Description |
|
Sends a bell character with each message.
|
||||||
| :-------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
|
||||||
| `_any` | Default. Allows any peripheral input device connected to the device. |
|
|
||||||
| `rotEnc1` | Hardcoded value naming the input device that this module listens to. This could allow multiple input devices to be named with future software development. At present, this doesn't do anything differently than the default setting. |
|
|
||||||
|
|
||||||
#### Set input source
|
The [External Notification Module](external-notification) can be set up to beep when a new message arrives.
|
||||||
|
This module can also be configured to beep only when message contains the bell character.
|
||||||
<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">
|
|
||||||
|
|
||||||
```shell title="Set Allowed Input Source"
|
|
||||||
meshtastic --set canned_message_module_allow_input_source "_any"
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Specify Allowed Input Source"
|
|
||||||
meshtastic --set canned_message_module_allow_input_source "rotEnc1"
|
|
||||||
```
|
|
||||||
|
|
||||||
</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>
|
|
||||||
|
|
||||||
### canned_message_module_enabled
|
|
||||||
|
|
||||||
Enables the module.
|
|
||||||
|
|
||||||
:::tip
|
|
||||||
Using the canned message module requires you set up the [Rotary Encoder Module](input-broker). See [prerequisites](#prerequisites) below.
|
|
||||||
:::
|
|
||||||
|
|
||||||
#### Enable/Disable the module
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
```shell title="Enable Canned Message Module"
|
|
||||||
meshtastic --set canned_message_module_enabled true
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Disable Canned Message Module"
|
|
||||||
meshtastic --set canned_message_module_enabled false
|
|
||||||
```
|
|
||||||
|
|
||||||
</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>
|
|
||||||
|
|
||||||
### canned_message_module_send_bell
|
|
||||||
|
|
||||||
CannedMessageModule also sends a "bell character" with the messages.
|
|
||||||
The [External Notification Module](external-notification) can benefit from this feature as it utilizes the bell character.
|
|
||||||
|
|
||||||
_We have an "External Notification Module", that can be set up to beep, when new message arrives.
|
|
||||||
This module can also be configured to beep only when message contains the "bell character".
|
|
||||||
See module documentation (link above) for details._
|
|
||||||
|
|
||||||
#### Enable/Disable bell character
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
```shell title="Enable Bell Character"
|
|
||||||
meshtastic --set canned_message_module_send_bell true
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Disable Bell Character"
|
|
||||||
meshtastic --set canned_message_module_send_bell false
|
|
||||||
```
|
|
||||||
|
|
||||||
</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>
|
|
||||||
|
|
||||||
### Messages
|
### Messages
|
||||||
|
|
||||||
CLI has a dedicated option for canned message module to set predefines messages: `--set-canned-message <message>`
|
The list of pre-set messages, up to 200 bytes.
|
||||||
Predefined messages separated by `|` characters.
|
|
||||||
|
|
||||||
You can define up to 50 messages with a total length 800 bytes.
|
### Input Source
|
||||||
|
|
||||||
Existing configuration can be queried with CLI option: `--get-canned-message`
|
Input event sources accepted by the canned message module.
|
||||||
|
|
||||||
#### Set canned messages
|
| Value | Description |
|
||||||
|
| :----------: | :---------------------------------------------------------------------: |
|
||||||
|
| `_any` | Default. Allows any peripheral input device connected to the device. |
|
||||||
|
| `rotEnc1` | Basic Rotary Encoder |
|
||||||
|
| `upDownEnc1` | Up Down Encoder |
|
||||||
|
| `cardkb` | M5 Stack CardKB (Discontinued) |
|
||||||
|
| `faceskb` | M5 Stack Faces KB |
|
||||||
|
|
||||||
|
### Rotary Encoder Enabled
|
||||||
|
|
||||||
|
Enable the default rotary encoder.
|
||||||
|
|
||||||
|
### Up Down Encoder Enabled
|
||||||
|
|
||||||
|
Enable the up / down encoder.
|
||||||
|
|
||||||
|
### Input Broker Pin A
|
||||||
|
|
||||||
|
GPIO Pin Value (1-39) For encoder port A
|
||||||
|
|
||||||
|
### Input Broker Pin B
|
||||||
|
|
||||||
|
GPIO Pin Value (1-39) For encoder port B
|
||||||
|
|
||||||
|
### Input Broker Pin Press
|
||||||
|
|
||||||
|
GPIO Pin Value (1-39) For encoder Press port
|
||||||
|
|
||||||
|
### Input Broker Event CW
|
||||||
|
|
||||||
|
Generate input event on CW of this kind.
|
||||||
|
|
||||||
|
### Input Broker Event CCW
|
||||||
|
|
||||||
|
Generate input event on CCW of this kind.
|
||||||
|
|
||||||
|
### Input Broker Event Press
|
||||||
|
|
||||||
|
Generate input event on Press of this kind.
|
||||||
|
|
||||||
|
## Canned Message Module Config Client Availability
|
||||||
|
|
||||||
<Tabs
|
<Tabs
|
||||||
groupId="settings"
|
groupId="settings"
|
||||||
defaultValue="cli"
|
defaultValue="apple"
|
||||||
values={[
|
values={[
|
||||||
{label: 'CLI', value: 'cli'},
|
|
||||||
{label: 'Android', value: 'android'},
|
{label: 'Android', value: 'android'},
|
||||||
{label: 'iOS', value: 'iOS'},
|
{label: 'Apple', value: 'apple'},
|
||||||
|
{label: 'CLI', value: 'cli'},
|
||||||
|
{label: 'Flasher', value: 'flasher'},
|
||||||
{label: 'Web', value: 'web'},
|
{label: 'Web', value: 'web'},
|
||||||
]}>
|
]}>
|
||||||
<TabItem value="cli">
|
<TabItem value="android">
|
||||||
|
|
||||||
```shell title="Set Canned Messages"
|
|
||||||
meshtastic --set canned_message_module_messages "I'm fine|I'm out|I'm back|Need helping hand|Help me with saw|I need an alpinist|I need ambulance|Keep Calm|On my way|I will be late|I'm already waiting|We have company|Beer is cold|Roger"
|
|
||||||
```
|
|
||||||
|
|
||||||
</TabItem>
|
|
||||||
<TabItem value="android">
|
|
||||||
|
|
||||||
:::info
|
:::info
|
||||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
Canned Message module config is not available for Android.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="iOS">
|
<TabItem value="apple">
|
||||||
|
|
||||||
:::info
|
:::info
|
||||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
All canned message module config options are available on iOS, iPadOS and macOS at Settings > Modules > Canned Messages.
|
||||||
|
:::
|
||||||
|
|
||||||
|
</TabItem>
|
||||||
|
<TabItem value="cli">
|
||||||
|
|
||||||
|
:::info
|
||||||
|
No canned message module config options are available in the python CLI.
|
||||||
|
:::
|
||||||
|
|
||||||
|
Example commands are below:
|
||||||
|
|
||||||
|
| Setting | Acceptable Values | Default |
|
||||||
|
| :--------------------------------------: | :---------------: | :-----: |
|
||||||
|
| canned_message_module_enabled | `true`, `false` | `false` |
|
||||||
|
| canned_message_module_send_bell | `true`, `false` | `false` |
|
||||||
|
| canned_message_module_allow_input_source | `rotEnc1`, `_any`, `upDownEnc1`, `cardkb`, `faceskb` | `_any` |
|
||||||
|
| canned_message_module_messages | `string` | `""` |
|
||||||
|
| (Messages)\* | `string` | `""` |
|
||||||
|
| inputbroker_event_cw | `InputEventChar` | (not defined) |
|
||||||
|
| inputbroker_event_ccw | `InputEventChar` | (not defined) |
|
||||||
|
| inputbroker_event_press | `InputEventChar` | (not defined) |
|
||||||
|
| inputbroker_pin_a | `integer` | (not defined) |
|
||||||
|
| inputbroker_pin_b | `integer` | (not defined) |
|
||||||
|
| inputbroker_pin_press | `integer` | (not defined) |
|
||||||
|
|
||||||
|
```shell title="Enable/Disable the Canned Message Module"
|
||||||
|
meshtastic --set canned_message_module_enabled true
|
||||||
|
meshtastic --set canned_message_module_enabled false
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell title="Enable/Disable send bell character"
|
||||||
|
meshtastic --set canned_message_module_send_bell true
|
||||||
|
meshtastic --set canned_message_module_send_bell false
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell title="Set Messages"
|
||||||
|
meshtastic --set-canned-message "I need an alpinist!|Call Me|Roger Roger|Keep Calm|On my way|"
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell title="Set Input Source"
|
||||||
|
meshtastic --set canned_message_module_allow_input_source "_any"
|
||||||
|
meshtastic --set canned_message_module_allow_input_source "rotEnc1"
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell title="Enable/Disable rotary1"
|
||||||
|
meshtastic --set
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell title="Set/Unset Encoder Pin A"
|
||||||
|
meshtastic --set inputbroker_pin_a 17
|
||||||
|
meshtastic --set inputbroker_pin_a 0
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell title="Set/Unset Encoder Pin B"
|
||||||
|
meshtastic --set inputbroker_pin_b 39
|
||||||
|
meshtastic --set inputbroker_pin_b 0
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell title="Set/Unset Encoder Pin Press"
|
||||||
|
meshtastic --set inputbroker_pin_press 21
|
||||||
|
meshtastic --set inputbroker_pin_press 0
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell title="Set/Unset Input Broker CW Event"
|
||||||
|
meshtastic --set inputbroker_event_cw KEY_UP
|
||||||
|
meshtastic --set inputbroker_event_cw ""
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell title="Set/Unset Input Broker CCW Event"
|
||||||
|
meshtastic --set inputbroker_event_ccw KEY_DOWN
|
||||||
|
meshtastic --set inputbroker_event_ccw ""
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell title="Set/Unset Input Broker Press Event"
|
||||||
|
meshtastic --set inputbroker_event_press KEY_SELECT
|
||||||
|
meshtastic --set inputbroker_event_press ""
|
||||||
|
```
|
||||||
|
</TabItem>
|
||||||
|
<TabItem value="flasher">
|
||||||
|
|
||||||
|
:::info
|
||||||
|
No canned message test module config options are available in the Flasher.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="web">
|
<TabItem value="web">
|
||||||
|
|
||||||
:::info
|
:::info
|
||||||
Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page.
|
No canned message test module config options are available in the Web UI.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
## Details
|
|
||||||
|
|
||||||
### Prerequisites
|
|
||||||
|
|
||||||
<!--- TODO add link to hardware pages to first bullet point --->
|
|
||||||
|
|
||||||
- Attach a compatible peripheral device. Take note of the GPIO numbers you use, as they will be used in the following step.
|
|
||||||
- Once attached, configure peripheral device with [Rotary Encoder Module](input-broker) Settings.
|
|
||||||
|
|
||||||
:::note
|
|
||||||
Replace each `GPIO` (x3) below with the GPIO numbers from hardware setup.
|
|
||||||
|
|
||||||
```shell title="Canned Message Module - Required Rotary Encoder Module Settings"
|
|
||||||
meshtastic --set rotary1_pin_a GPIO
|
|
||||||
meshtastic --set rotary1_pin_b GPIO
|
|
||||||
meshtastic --set rotary1_pin_press GPIO
|
|
||||||
meshtastic --set rotary1_event_cw KEY_UP
|
|
||||||
meshtastic --set rotary1_event_ccw KEY_DOWN
|
|
||||||
meshtastic --set rotary1_event_press KEY_SELECT
|
|
||||||
meshtastic --set rotary1_enabled True
|
|
||||||
```
|
|
||||||
|
|
||||||
:::
|
|
||||||
That's it! With a functioning and enabled rotary encoder, you're ready to begin configuring the Canned Message Module.
|
|
||||||
|
|
||||||
## Hardware
|
## Hardware
|
||||||
|
|
||||||
To navigate through messages and select one, you will require some hardware attached to your device. Currently, the module is tested with a generic rotary encoder, but this is not a limitation further input methods can be added in the future.
|
To navigate through messages and select one, you will require some hardware attached to your device. Currently, the module is tested with a generic rotary encoder, but this is not a limitation further input methods can be added in the future.
|
||||||
|
@ -320,3 +234,33 @@ Recommended GPIO pins for connecting a rotary encoder.
|
||||||
|
|
||||||
There is a reference case 3D-design utilizing the rotary encoder for TTGO LoRa V1:
|
There is a reference case 3D-design utilizing the rotary encoder for TTGO LoRa V1:
|
||||||
[Case for TTGO-ESP32-LORA-OLED-v1.0 with rotary encoder](https://www.thingiverse.com/thing:5178495)
|
[Case for TTGO-ESP32-LORA-OLED-v1.0 with rotary encoder](https://www.thingiverse.com/thing:5178495)
|
||||||
|
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
- Attach a compatible peripheral device. Take note of the GPIO numbers you use, as they will be used in the following step.
|
||||||
|
|
||||||
|
:::note
|
||||||
|
Replace each `GPIO` (x3) below with the GPIO numbers from your hardware setup.
|
||||||
|
:::
|
||||||
|
|
||||||
|
```shell title="Canned Message Module - Required Rotary Encoder Module Settings"
|
||||||
|
meshtastic --set rotary1_pin_a GPIO
|
||||||
|
meshtastic --set rotary1_pin_b GPIO
|
||||||
|
meshtastic --set rotary1_pin_press GPIO
|
||||||
|
meshtastic --set rotary1_event_cw KEY_UP
|
||||||
|
meshtastic --set rotary1_event_ccw KEY_DOWN
|
||||||
|
meshtastic --set rotary1_event_press KEY_SELECT
|
||||||
|
meshtastic --set rotary1_enabled True
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
That's it! With a functioning and enabled rotary encoder, you're ready to begin configuring the Canned Message Module.
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
Once module settings are changed, a **reset** is required for them to take effect.
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
GPIO access is fundamentally dangerous because invalid options can physically damage or destroy your hardware. Ensure that you fully understand the schematic for your particular device before trying this as we do not offer a warranty. Use at your own risk.
|
||||||
|
:::
|
|
@ -1,468 +0,0 @@
|
||||||
---
|
|
||||||
id: input-broker
|
|
||||||
title: Input Broker
|
|
||||||
sidebar_label: Input Broker
|
|
||||||
---
|
|
||||||
|
|
||||||
import Tabs from '@theme/Tabs';
|
|
||||||
import TabItem from '@theme/TabItem';
|
|
||||||
|
|
||||||
:::warning
|
|
||||||
GPIO access is fundamentally dangerous because invalid options can physically damage or destroy your hardware. Ensure that you fully understand the schematic for your particular device before trying this as we do not offer a warranty. Use at your own risk.
|
|
||||||
:::
|
|
||||||
|
|
||||||
<PluginModule name="inputbroker_" rename="rotary1_" />
|
|
||||||
|
|
||||||
<!--- TODO add link to hardware setup to admonition--->
|
|
||||||
|
|
||||||
:::note
|
|
||||||
This module requires attaching a peripheral accessory to your device. It will not work without one.
|
|
||||||
:::
|
|
||||||
|
|
||||||
## Overview
|
|
||||||
|
|
||||||
Meshtastic supports hardwired rotary encoders as input devices.
|
|
||||||
Currently, one rotary encoder (`rotary1`) is defined, but later more rotary encoders
|
|
||||||
can be added (if needed) the same way.
|
|
||||||
|
|
||||||
:::tip
|
|
||||||
Once module settings are changed, a **reset** is required for them to take effect.
|
|
||||||
:::
|
|
||||||
|
|
||||||
## Settings
|
|
||||||
|
|
||||||
| Setting | Acceptable Values | Default |
|
|
||||||
| :-----------------: | :---------------: | :-----------: |
|
|
||||||
| inputbroker_enabled | `true`, `false` | `false` |
|
|
||||||
| inputbroker_event_cw | `InputEventChar` | (not defined) |
|
|
||||||
| inputbroker_event_ccw | `InputEventChar` | (not defined) |
|
|
||||||
| inputbroker_event_press | `InputEventChar` | (not defined) |
|
|
||||||
| inputbroker_pin_a | `integer` | (not defined) |
|
|
||||||
| inputbroker_pin_b | `integer` | (not defined) |
|
|
||||||
| inputbroker_pin_press | `integer` | (not defined) |
|
|
||||||
|
|
||||||
### inputbroker_enabled
|
|
||||||
|
|
||||||
Enable the rotary encoder #1
|
|
||||||
|
|
||||||
#### Enable/Disable rotary1
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
```shell title="Enable rotary1"
|
|
||||||
meshtastic --set inputbroker_enabled true
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Disable rotary1"
|
|
||||||
meshtastic --set inputbroker_enabled true
|
|
||||||
```
|
|
||||||
|
|
||||||
</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>
|
|
||||||
|
|
||||||
### inputbroker_event_cw
|
|
||||||
|
|
||||||
Generate input event on CW of this kind.
|
|
||||||
|
|
||||||
:::tip
|
|
||||||
For using with CannedMessageModule you must choose value `KEY_UP` here.
|
|
||||||
:::
|
|
||||||
|
|
||||||
#### Specify rotary1 event cw
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
```shell title="Set rotary1 event cw to 'KEY_UP'"
|
|
||||||
meshtastic --set inputbroker_event_press KEY_UP
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Unset rotary1 event cw"
|
|
||||||
meshtastic --set inputbroker_event_press ""
|
|
||||||
```
|
|
||||||
|
|
||||||
</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>
|
|
||||||
|
|
||||||
### inputbroker_event_ccw
|
|
||||||
|
|
||||||
Generate input event on CCW of this kind.
|
|
||||||
|
|
||||||
:::tip
|
|
||||||
For using with CannedMessageModule you must choose value `KEY_DOWN` here.
|
|
||||||
:::
|
|
||||||
|
|
||||||
#### Specify rotary1 event ccw
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
```shell title="Set rotary1 event ccw to 'KEY_DOWN'"
|
|
||||||
meshtastic --set inputbroker_event_ccw KEY_DOWN
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Unset rotary1 event ccw"
|
|
||||||
meshtastic --set inputbroker_event_ccw ""
|
|
||||||
```
|
|
||||||
|
|
||||||
</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>
|
|
||||||
|
|
||||||
### inputbroker_event_press
|
|
||||||
|
|
||||||
Generate input event on Press of this kind.
|
|
||||||
|
|
||||||
:::tip
|
|
||||||
For using with CannedMessageModule you must choose value `KEY_SELECT` here.
|
|
||||||
:::
|
|
||||||
|
|
||||||
#### Specify rotary1 event press
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
```shell title="Set rotary1 event press to 'KEY_SELECT'"
|
|
||||||
meshtastic --set inputbroker_event_press KEY_SELECT
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Unset rotary1 event press"
|
|
||||||
meshtastic --set inputbroker_event_press ""
|
|
||||||
```
|
|
||||||
|
|
||||||
</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>
|
|
||||||
|
|
||||||
### inputbroker_pin_a
|
|
||||||
|
|
||||||
GPIO pin for rotary encoder A port.
|
|
||||||
|
|
||||||
:::caution
|
|
||||||
To prevent damaging your device, double check your device's schematics before attaching to the GPIO pins and setting this value.
|
|
||||||
:::
|
|
||||||
|
|
||||||
#### Specify rotary1 pin a
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
:::note
|
|
||||||
Replace `GPIO` below with the GPIO number from hardware setup.
|
|
||||||
:::
|
|
||||||
|
|
||||||
```shell title="Specify rotary1 pin a"
|
|
||||||
meshtastic --set inputbroker_pin_a GPIO
|
|
||||||
```
|
|
||||||
|
|
||||||
</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>
|
|
||||||
|
|
||||||
### inputbroker_pin_b
|
|
||||||
|
|
||||||
GPIO pin for rotary encoder B port.
|
|
||||||
|
|
||||||
:::caution
|
|
||||||
To prevent damaging your device, double check your device's schematics before attaching to the GPIO pins and setting this value.
|
|
||||||
:::
|
|
||||||
|
|
||||||
#### Specify rotary1 pin b
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
:::note
|
|
||||||
Replace `GPIO` below with the GPIO number from hardware setup.
|
|
||||||
:::
|
|
||||||
|
|
||||||
```shell title="Specify rotary1 pin b"
|
|
||||||
meshtastic --set inputbroker_pin_b GPIO
|
|
||||||
```
|
|
||||||
|
|
||||||
</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>
|
|
||||||
|
|
||||||
### inputbroker_pin_press
|
|
||||||
|
|
||||||
GPIO pin for rotary encoder Press port.
|
|
||||||
|
|
||||||
:::caution
|
|
||||||
To prevent damaging your device, double check your device's schematics before attaching to the GPIO pins and setting this value.
|
|
||||||
:::
|
|
||||||
|
|
||||||
#### Specify rotary1 pin press
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
:::note
|
|
||||||
Replace `GPIO` below with the GPIO number from hardware setup.
|
|
||||||
:::
|
|
||||||
|
|
||||||
```shell title="Specify rotary1 pin press"
|
|
||||||
meshtastic --set inputbroker_pin_press GPIO
|
|
||||||
```
|
|
||||||
|
|
||||||
</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 add link to hardware page --->
|
|
||||||
|
|
||||||
Configuring the rotary encoder module require attaching the compatible hardware.
|
|
||||||
|
|
||||||
## Examples
|
|
||||||
|
|
||||||
### Configure rotary encoder for Canned Message Module
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
:::note
|
|
||||||
Replace each `GPIO` (x3) below with the GPIO numbers from hardware setup.
|
|
||||||
:::
|
|
||||||
|
|
||||||
```shell title="Canned Message Module - Required Rotary Encoder Module Settings"
|
|
||||||
meshtastic --set inputbroker_pin_a GPIO
|
|
||||||
meshtastic --set inputbroker_pin_b GPIO
|
|
||||||
meshtastic --set inputbroker_pin_press GPIO
|
|
||||||
meshtastic --set inputbroker_event_cw KEY_UP
|
|
||||||
meshtastic --set inputbroker_event_ccw KEY_DOWN
|
|
||||||
meshtastic --set inputbroker_event_press KEY_SELECT
|
|
||||||
meshtastic --set inputbroker_enabled True
|
|
||||||
```
|
|
||||||
|
|
||||||
</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>
|
|
|
@ -1,336 +0,0 @@
|
||||||
---
|
|
||||||
id: store-and-forward
|
|
||||||
title: Store & Forward Module Configuration
|
|
||||||
sidebar_label: Store & 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 Module on multiple [routers](/docs/settings/router).**
|
|
||||||
:::
|
|
||||||
|
|
||||||
## Overview
|
|
||||||
|
|
||||||
:::caution
|
|
||||||
This is a work in progress and is partially available. Stability is not guaranteed.
|
|
||||||
:::
|
|
||||||
|
|
||||||
The Store Forward Module 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 advised to use this if you are duty cycle limited for your airtime usage nor is it advised to use this for SF12 (Long Range / Slow).
|
|
||||||
|
|
||||||
:::tip
|
|
||||||
Once module settings are changed, a **reset** is required for them to take effect.
|
|
||||||
:::
|
|
||||||
|
|
||||||
## Settings
|
|
||||||
|
|
||||||
| Setting | Acceptable Values | Default |
|
|
||||||
| :----------------------------------------: | :---------------: | :-----: |
|
|
||||||
| store_forward_module_enabled | `true`, `false` | `false` |
|
|
||||||
| store_forward_module_heartbeat | `true`, `false` | `false` |
|
|
||||||
| store_forward_module_history_return_max | `integer` | `0` |
|
|
||||||
| store_forward_module_history_return_window | `integer` | `0` |
|
|
||||||
| store_forward_module_records | `integer` | `0` |
|
|
||||||
|
|
||||||
### store_forward_module_enabled
|
|
||||||
|
|
||||||
Enables the module.
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
```shell title="Enable the module"
|
|
||||||
meshtastic --set store_forward_module_enabled true
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Disable the module"
|
|
||||||
meshtastic --set store_forward_module_enabled false
|
|
||||||
```
|
|
||||||
|
|
||||||
</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>
|
|
||||||
|
|
||||||
### store_forward_module_heartbeat
|
|
||||||
|
|
||||||
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"
|
|
||||||
defaultValue="cli"
|
|
||||||
values={[
|
|
||||||
{label: 'CLI', value: 'cli'},
|
|
||||||
{label: 'Android', value: 'android'},
|
|
||||||
{label: 'iOS', value: 'iOS'},
|
|
||||||
{label: 'Web', value: 'web'},
|
|
||||||
]}>
|
|
||||||
<TabItem value="cli">
|
|
||||||
|
|
||||||
```shell title="Set store_forward_module_heartbeat to default"
|
|
||||||
meshtastic --set store_forward_module_heartbeat 0
|
|
||||||
```
|
|
||||||
|
|
||||||
</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>
|
|
||||||
|
|
||||||
### store_forward_module_history_return_max
|
|
||||||
|
|
||||||
Sets the maximum number of messages to return to a client device.
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
```shell title="Set store_forward_module_history_return_max to default"
|
|
||||||
meshtastic --set store_forward_module_history_return_max 0
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Set store_forward_module_history_return_max to 100 messages"
|
|
||||||
meshtastic --set store_forward_module_history_return_max 100
|
|
||||||
```
|
|
||||||
|
|
||||||
</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>
|
|
||||||
|
|
||||||
### store_forward_module_history_return_window
|
|
||||||
|
|
||||||
Limits the time period (in minutes) a client device can request.
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
```shell title="Set store_forward_module_history_return_window to default"
|
|
||||||
meshtastic --set store_forward_module_history_return_window 0
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Set store_forward_module_history_return_window to 1 day (1440 minutes)"
|
|
||||||
meshtastic --set store_forward_module_history_return_window 1440
|
|
||||||
```
|
|
||||||
|
|
||||||
</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>
|
|
||||||
|
|
||||||
### store_forward_module_records
|
|
||||||
|
|
||||||
Set this to the maximum number of records to save. Best to leave this at the default (`0`) where the module will use 2/3 of your device's available PSRAM. This is about 11,000 records.
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
```shell title="Set store_forward_module_records to default (≈11,000 records)"
|
|
||||||
meshtastic --set store_forward_module_records 0
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Set store_forward_module_records to 100 records"
|
|
||||||
meshtastic --set store_forward_module_records 100
|
|
||||||
```
|
|
||||||
|
|
||||||
</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
|
|
||||||
|
|
||||||
### How it works
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### Requirements
|
|
||||||
|
|
||||||
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 module 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.
|
|
||||||
|
|
||||||
### Meshtastic channel configuration
|
|
||||||
|
|
||||||
Don't use this on the "Long Range / Slow" or "Long Range / Fast" channel settings. You're welcome to try and report back, but those channels have a [very low bitrate](/docs/developers/firmware/radio-settings#pre-defined).
|
|
||||||
|
|
||||||
Either use a custom channel configuration with at an at least 1kbit data rate or use "Medium Range / Fast".
|
|
||||||
|
|
||||||
Recommended channel setting is for 1.343kbps:
|
|
||||||
|
|
||||||
```shell title="Recommended channel setting for S&F module"
|
|
||||||
meshtastic --setchan spread_factor 11 --setchan coding_rate 5 --setchan bandwidth 500
|
|
||||||
```
|
|
||||||
|
|
||||||
With an aftermarket coaxial antenna or moxon antenna, that will give you roughly the same range as "Long Range / Slow" and 5x the bitrate.
|
|
||||||
|
|
||||||
### Router setup
|
|
||||||
|
|
||||||
:::warning
|
|
||||||
Don't enable the Store and Forward module on multiple routers!
|
|
||||||
:::
|
|
||||||
|
|
||||||
- Configure your device as a [meshtastic router](/docs/settings/router).
|
|
||||||
- Name your router node something that makes it easily identifiable, aka "Router".
|
|
||||||
- Configure the Store and Forward module
|
|
||||||
```shell title="Required - Enable the module"
|
|
||||||
meshtastic --set store_forward_module_enabled true
|
|
||||||
```
|
|
||||||
```shell title="Optional - Set maximum number of records to save to device"
|
|
||||||
meshtastic --set store_forward_module_records 100
|
|
||||||
```
|
|
||||||
:::tip
|
|
||||||
Best to leave `store_forward_module_records` at the default (`0`) where the module will use 2/3 of your device's available PSRAM. This is about 11,000 records.
|
|
||||||
:::
|
|
||||||
|
|
||||||
### Client Usage
|
|
||||||
|
|
||||||
Currently, no special configuration is required. To request your history sent to you, send the command into the message field "SF". That's it. This will eventually change to make it easier. At the moment, that message will be sent to everyone on the mesh but we'll (eventually) make it easier to use where there'll be a button (or maybe it'll be transparent) and the command isn't sent as a text message to the mesh.
|
|
||||||
|
|
||||||
Available Commands:
|
|
||||||
|
|
||||||
| Command | Definition |
|
|
||||||
| :-----: | :------------------------------------------: |
|
|
||||||
| SF | Send the last few messages I may have missed |
|
|
||||||
| SFm | Send a 240 byte payload (Used for testing) |
|
|
||||||
|
|
||||||
The Store and Forward module will only service one client at a time. If a second client requests messages while the S&F is busy, the S&F will send a private message to the second client that they will need to wait.
|
|
Loading…
Reference in a new issue