meshtastic/docs/software/settings/rotary-encoder-plugin.md
2022-02-02 10:58:56 -07:00

10 KiB

id title sidebar_label
rotary-encoder-plugin Rotary Encoder Rotary Encoder

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

:::note This plugin 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 plugin settings are changed, a reset is required for them to take effect. :::

Settings

Setting Acceptable Values Default
rotary1_enabled true, false false
rotary1_event_cw InputEventChar (not defined)
rotary1_event_ccw InputEventChar (not defined)
rotary1_event_press InputEventChar (not defined)
rotary1_pin_a integer (not defined)
rotary1_pin_b integer (not defined)
rotary1_pin_press integer (not defined)

rotary1_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'}, ]}>

meshtastic --set rotary1_enabled true
meshtastic --set rotary1_enabled true
:::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. :::

rotary1_pin_a

GPIO pin for rotary encoder A port.

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'}, ]}>

:::note Replace GPIO below with the GPIO number from hardware setup. :::

meshtastic --set rotary1_pin_a GPIO
:::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. :::

rotary1_pin_b

GPIO pin for rotary encoder B port.

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'}, ]}>

:::note Replace GPIO below with the GPIO number from hardware setup. :::

meshtastic --set rotary1_pin_b GPIO
:::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. :::

rotary1_pin_press

GPIO pin for rotary encoder Press port.

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'}, ]}>

:::note Replace GPIO below with the GPIO number from hardware setup. :::

meshtastic --set rotary1_pin_press GPIO
:::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. :::

rotary1_event_cw

Generate input event on CW of this kind.

:::tip For using with CannedMessagePlugin 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'}, ]}>

meshtastic --set rotary1_event_press KEY_UP
meshtastic --set rotary1_event_press ""
:::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. :::

rotary1_event_ccw

Generate input event on CCW of this kind.

:::tip For using with CannedMessagePlugin 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'}, ]}>

meshtastic --set rotary1_event_ccw KEY_DOWN
meshtastic --set rotary1_event_ccw ""
:::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. :::

rotary1_event_press

Generate input event on Press of this kind.

:::tip For using with CannedMessagePlugin 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'}, ]}>

meshtastic --set rotary1_event_press KEY_SELECT
meshtastic --set rotary1_event_press ""
:::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. :::

Details

Configuring the rotary encoder plugin require attaching the compatible hardware.

Examples

Configure rotary encoder for Canned Message Plugin

<Tabs groupId="settings" defaultValue="cli" values={[ {label: 'CLI', value: 'cli'}, {label: 'Android', value: 'android'}, {label: 'iOS', value: 'iOS'}, {label: 'Web', value: 'web'}, ]}>

:::note Replace each GPIO (x3) below with the GPIO numbers from hardware setup. :::

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
:::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. ::: :::info Configuring this setting is not yet available for the selected platform. If this is incorrect please update the documentation for this page. :::