canonical / matter-pi-gpio-commander

Matter Raspberry Pi GPIO Commander - Turn your Pi into a Matter lighting device!
Apache License 2.0
90 stars 3 forks source link

Replace WiringPi (sysfs) with libgpiod (chardev) #47

Closed farshidtz closed 4 months ago

farshidtz commented 5 months ago

The original PR with reviews and changes merged into chardev branch: #42

farshidtz commented 4 months ago

Testing the newly added custom-gpio-dev's auto connection:

$ sudo snap install matter-pi-gpio-commander --channel=edge/chardev
matter-pi-gpio-commander (edge/chardev) 2.0.0 from Canonical IoT Labs installed

$ sudo snap connections matter-pi-gpio-commander 
Interface      Plug                                      Slot                                      Notes
avahi-control  matter-pi-gpio-commander:avahi-control    -                                         -
bluez          matter-pi-gpio-commander:bluez            -                                         -
custom-device  matter-pi-gpio-commander:custom-gpio      matter-pi-gpio-commander:custom-gpio-dev  -
dbus           matter-pi-gpio-commander:otbr-dbus-wpan0  -                                         -
network        matter-pi-gpio-commander:network          :network                                  -
network-bind   matter-pi-gpio-commander:network-bind     :network-bind                             -
$ snap download matter-pi-gpio-commander --channel=edge/chardev
Fetching snap "matter-pi-gpio-commander"
Fetching assertions for "matter-pi-gpio-commander"
Install the snap with:
   snap ack matter-pi-gpio-commander_36.assert
   snap install matter-pi-gpio-commander_36.snap

$ cat matter-pi-gpio-commander_36.assert 
...
type: snap-declaration
format: 5
authority-id: canonical
revision: 2
series: 16
snap-id: r4eNvylFmQlYEKLEU3XP4GEHpcxQCHLD
publisher-id: fnEni7OOr54T1CivYaEi4sGS2RwNJLoY
slots:
  custom-device:
    allow-auto-connection: true
    allow-installation:
      slot-attributes:
        custom-device: gpiochip
        devices:
          - /dev/gpiochip0
          - /dev/gpiochip4
        files:
          read:
            - /sys/devices/platform/soc/\*\.gpio/gpiochip0/dev
            - /sys/devices/platform/axi/\*\.pcie/\*\.gpio/gpiochip4/dev
snap-name: matter-pi-gpio-commander
timestamp: 2024-02-12T15:48:46.376742Z
sign-key-sha3-384: BWDEoaqyr25nF5SNCvEv2v7QnM9QsfCc0PBMYD_i2NGSQ32EF2d4D0hqUel3m8ul
...