[PLUGIN] RotaryEncoder II

Hi Valdemir,
I‘m using it on my system, which runs on 3.703
Cannot confirm your statement.
Can you provide more info?

Hey there,

I switched to RPi5 using NVMe SSD working perfectly except the Rotatory Encoder II Plugin. The Hardware Setup worked with the RPi4 and there are no changes on this site. The Rotatory Part of the Plugin works (next/previous) but there’s no Function for the Button.

There seems to be a Problem with Triggerhappy

volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/dtoverlay rotary-encoder pin_a=18 pin_b=17 relative_axis=true steps-per-period=1
pam_unix(sudo:session): session opened for user root by (uid=0)
rotary-encoder rotary@12: gray
input: rotary@12 as /devices/platform/rotary@12/input/input11
pam_unix(sudo:session): session closed for user root
Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1.
info: CALLMETHOD: system_hardware rotaryencoder2 updateEncoder [object Object]
info: CoreCommandRouter::executeOnPlugin: rotaryencoder2 , updateEncoder
 volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/dtoverlay -l
pam_unix(sudo:session): session opened for user root by (uid=0)
pam_unix(sudo:session): session closed for user root
 volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/dtoverlay -r 0
pam_unix(sudo:session): session opened for user root by (uid=0)
pam_unix(sudo:session): session closed for user root
 volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/dtoverlay -l
pam_unix(sudo:session): session opened for user root by (uid=0)
pam_unix(sudo:session): session closed for user root
 volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/dtoverlay rotary-encoder pin_a=18 pin_b=17 relative_axis=true steps-per-period=1
pam_unix(sudo:session): session opened for user root by (uid=0)
rotary-encoder rotary@12: gray
input: rotary@12 as /devices/platform/rotary@12/input/input12
pam_unix(sudo:session): session closed for user root
Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1.
export_store: invalid GPIO 27

running:

'/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev'

seperately gives a “Segmentation fault” so there seems to be the problem.

Does anyone have a Start or Idee what to do ?

Thanks,
Julian

Oh, I found the solution…

Reading the Rotatory Encoder II source code I saw that for the buttons the npm Package “onoff” is used which reads GPIO Labels. RPi5 changed the names of the GPIO Pins. So just translate the desired “old” GPIO pin (for e.x. GPIO 27) into Board PIN (GPIO 27 = PIN 13) and then get the right GPIO label from the table below (GPIO 27 (non RPi5) = PIN 13 = gpio-426 (RPi 5) so in this case only enter “426” as GPIO Value).

sudo cat /sys/kernel/debug/gpio
[sudo] password for volumio:
gpiochip4: GPIOs 399-452, parent: platform/1f000d0000.gpio, pinctrl-rp1:
 gpio-399 (ID_SD               )
 gpio-400 (ID_SC               )
 gpio-401 (PIN3                )
 gpio-402 (PIN5                )
 gpio-403 (PIN7                )
 gpio-404 (PIN29               )
 gpio-405 (PIN31               )
 gpio-406 (PIN26               )
 gpio-407 (PIN24               )
 gpio-408 (PIN21               )
 gpio-409 (PIN19               )
 gpio-410 (PIN23               )
 gpio-411 (PIN32               )
 gpio-412 (PIN33               )
 gpio-413 (PIN8                )
 gpio-414 (PIN10               )
 gpio-415 (PIN36               )
 gpio-416 (PIN11               |rotary@12           ) in  hi
 gpio-417 (PIN12               |rotary@12           ) in  hi
 gpio-418 (PIN35               )
 gpio-419 (PIN38               )
 gpio-420 (PIN40               )
 gpio-421 (PIN15               )
 gpio-422 (PIN16               )
 gpio-423 (PIN18               )
 gpio-424 (PIN22               )
 gpio-425 (PIN37               )
 gpio-426 (PIN13               )
 gpio-427 (PCIE_RP1_WAKE       )
 gpio-428 (FAN_TACH            )
 gpio-429 (HOST_SDA            )
 gpio-430 (HOST_SCL            )
 gpio-431 (ETH_RST_N           |phy-reset           ) out hi ACTIVE LOW
 gpio-432 (-                   )
 gpio-433 (CD0_IO0_MICCLK      |cam0_reg            ) out lo
 gpio-434 (CD0_IO0_MICDAT0     )
 gpio-435 (RP1_PCIE_CLKREQ_N   )
 gpio-436 (-                   )
 gpio-437 (CD0_SDA             )
 gpio-438 (CD0_SCL             )
 gpio-439 (CD1_SDA             )
 gpio-440 (CD1_SCL             )
 gpio-441 (USB_VBUS_EN         )
 gpio-442 (USB_OC_N            )
 gpio-443 (RP1_STAT_LED        |PWR                 ) out hi ACTIVE LOW
 gpio-444 (FAN_PWM             )
 gpio-445 (CD1_IO0_MICCLK      |cam1_reg            ) out lo
 gpio-446 (2712_WAKE           )
 gpio-447 (CD1_IO1_MICDAT1     )
 gpio-448 (EN_MAX_USB_CUR      )
 gpio-449 (-                   )
 gpio-450 (-                   )
 gpio-451 (-                   )
 gpio-452 (-                   )

gpiochip3: GPIOs 453-458, parent: platform/107d517c00.gpio, gpio-brcmstb@107d517c20:
 gpio-453 (HDMI0_SCL           )
 gpio-454 (HDMI0_SDA           )
 gpio-455 (HDMI1_SCL           )
 gpio-456 (HDMI1_SDA           )
 gpio-457 (PMIC_SCL            )
 gpio-458 (PMIC_SDA            )

gpiochip2: GPIOs 459-475, parent: platform/107d517c00.gpio, gpio-brcmstb@107d517c00:
 gpio-459 (RP1_SDA             )
 gpio-460 (RP1_SCL             )
 gpio-461 (RP1_RUN             |RP1 RUN pin         ) out hi
 gpio-462 (SD_IOVDD_SEL        |vdd-sd-io           ) out lo
 gpio-463 (SD_PWR_ON           |sd_vcc_reg          ) out lo
 gpio-464 (SD_CDET_N           )
 gpio-465 (SD_FLG_N            )
 gpio-466 (-                   )
 gpio-467 (2712_WAKE           )
 gpio-468 (2712_STAT_LED       |ACT                 ) out hi ACTIVE LOW
 gpio-469 (-                   )
 gpio-470 (-                   )
 gpio-471 (PMIC_INT            )
 gpio-472 (UART_TX_FS          )
 gpio-473 (UART_RX_FS          )
 gpio-474 (-                   )
 gpio-475 (-                   )

gpiochip1: GPIOs 476-479, parent: platform/107d508500.gpio, gpio-brcmstb@107d508520:
 gpio-476 (WIFI_SDIO_D0        )
 gpio-477 (WIFI_SDIO_D1        )
 gpio-478 (WIFI_SDIO_D2        )
 gpio-479 (WIFI_SDIO_D3        )
gpiochip0: GPIOs 480-511, parent: platform/107d508500.gpio, gpio-brcmstb@107d508500:
 gpio-480 (-                   )
 gpio-481 (2712_BOOT_CS_N      |spi10 CS0           ) out hi ACTIVE LOW
 gpio-482 (2712_BOOT_MISO      )
 gpio-483 (2712_BOOT_MOSI      )
 gpio-484 (2712_BOOT_SCLK      )
 gpio-485 (-                   )
 gpio-486 (-                   )
 gpio-487 (-                   )
 gpio-488 (-                   )
 gpio-489 (-                   )
 gpio-490 (-                   )
 gpio-491 (-                   )
 gpio-492 (-                   )
 gpio-493 (-                   )
 gpio-494 (PCIE_SDA            )
 gpio-495 (PCIE_SCL            )
 gpio-496 (-                   )
 gpio-497 (-                   )
 gpio-498 (-                   )
 gpio-499 (-                   )
 gpio-500 (PWR_GPIO            |pwr_button          ) in  hi ACTIVE LOW
 gpio-501 (2712_G21_FS         )
 gpio-502 (-                   )
 gpio-503 (-                   )
 gpio-504 (BT_RTS              )
 gpio-505 (BT_CTS              )
 gpio-506 (BT_TXD              )
 gpio-507 (BT_RXD              )
 gpio-508 (WL_ON               |wl_on_reg           ) out hi
 gpio-509 (BT_ON               |shutdown            ) out hi
 gpio-510 (WIFI_SDIO_CLK       )
 gpio-511 (WIFI_SDIO_CMD       )