From b191b9d1c0edcead1b1de68810d65291d7b999a0 Mon Sep 17 00:00:00 2001 From: Alexander Wellbrock <a.wellbrock@mailbox.org> Date: Thu, 23 Apr 2020 10:32:57 +0200 Subject: [PATCH] Add chardev config option The libgpiod module requires a chardev added with linux kernel 4.8. The default chardev is /dev/gpiochip0. Subsequent devices follow this schema: /dev/gpiochipN. --- pi_mqtt_gpio/__init__.py | 4 ++++ pi_mqtt_gpio/modules/__init__.py | 1 + pi_mqtt_gpio/modules/gpiod.py | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pi_mqtt_gpio/__init__.py b/pi_mqtt_gpio/__init__.py index 8dadd06..0fccc94 100644 --- a/pi_mqtt_gpio/__init__.py +++ b/pi_mqtt_gpio/__init__.py @@ -127,6 +127,10 @@ gpio_modules: type: boolean required: no default: yes + chip: + type: string + required: no + default: "/dev/gpiochip0" sensor_modules: type: list diff --git a/pi_mqtt_gpio/modules/__init__.py b/pi_mqtt_gpio/modules/__init__.py index 0661d99..8433a04 100644 --- a/pi_mqtt_gpio/modules/__init__.py +++ b/pi_mqtt_gpio/modules/__init__.py @@ -8,6 +8,7 @@ BASE_SCHEMA = { "name": {"required": True, "empty": False}, "module": {"required": True, "empty": False}, "cleanup": {"required": False, "type": "boolean", "default": True}, + "chip": {"required": False, "type": "string", "default": "/dev/gpiochip0"}, } diff --git a/pi_mqtt_gpio/modules/gpiod.py b/pi_mqtt_gpio/modules/gpiod.py index 99b83e5..f418444 100644 --- a/pi_mqtt_gpio/modules/gpiod.py +++ b/pi_mqtt_gpio/modules/gpiod.py @@ -22,7 +22,7 @@ class GPIO(GenericGPIO): import gpiod as gpio self.io = gpio - self.chip = config.chip + self.chip = gpio.chip(config["chip"]) self.pins = {} self.watchers = {} -- GitLab