--- id: rotary-encoder-plugin title: Rotary Encoder sidebar_label: 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 ```bash title="Enable rotary1" meshtastic --set rotary1_enabled true ``` ```bash title="Disable rotary1" 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 :::note Replace `GPIO` below with the GPIO number from hardware setup. ::: ```bash title="Specify rotary1 pin a" 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 :::note Replace `GPIO` below with the GPIO number from hardware setup. ::: ```bash title="Specify rotary1 pin b" 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 :::note Replace `GPIO` below with the GPIO number from hardware setup. ::: ```bash title="Specify rotary1 pin press" 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 ```bash title="Set rotary1 event cw to 'KEY_UP'" meshtastic --set rotary1_event_press KEY_UP ``` ```bash title="Unset rotary1 event cw" 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 ```bash title="Set rotary1 event ccw to 'KEY_DOWN'" meshtastic --set rotary1_event_ccw KEY_DOWN ``` ```bash title="Unset rotary1 event ccw" 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 ```bash title="Set rotary1 event press to 'KEY_SELECT'" meshtastic --set rotary1_event_press KEY_SELECT ``` ```bash title="Unset rotary1 event press" 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 :::note Replace each `GPIO` (x3) below with the GPIO numbers from hardware setup. ::: ```bash title="Canned Message Plugin - Required Rotary Encoder Plugin 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 ``` :::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. :::