From e1703e6d36d6984ebf7e8b7f8594fe450577ea10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bas=20du=20Pr=C3=A9?= Date: Tue, 27 Jun 2017 09:32:55 +0200 Subject: [PATCH] Add toggle functionality to input --- octoprint_enclosure/__init__.py | 5 ++++- octoprint_enclosure/templates/enclosure_settings.jinja2 | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/octoprint_enclosure/__init__.py b/octoprint_enclosure/__init__.py index 53c9dc0..0614e13 100644 --- a/octoprint_enclosure/__init__.py +++ b/octoprint_enclosure/__init__.py @@ -461,7 +461,10 @@ class EnclosurePlugin(octoprint.plugin.StartupPlugin, ((rpi_input['edge']=='fall') ^ GPIO.input(self.toInt(rpi_input['gpioPin']))): for rpi_output in self.rpi_outputs: if self.toInt(rpi_input['controlledIO']) == self.toInt(rpi_output['gpioPin']) and rpi_output['outputType']=='regular': - val = GPIO.LOW if rpi_input['setControlledIO']=='low' else GPIO.HIGH + if rpi_input['setControlledIO']=='toggle': + val = GPIO.LOW if GPIO.input(self.toInt(rpi_output['gpioPin']))==GPIO.HIGH else GPIO.HIGH + else: + val = GPIO.LOW if rpi_input['setControlledIO']=='low' else GPIO.HIGH self.writeGPIO(self.toInt(rpi_output['gpioPin']),val) for notification in self.notifications: if notification['gpioAction']: diff --git a/octoprint_enclosure/templates/enclosure_settings.jinja2 b/octoprint_enclosure/templates/enclosure_settings.jinja2 index 1b75f9a..60c6446 100644 --- a/octoprint_enclosure/templates/enclosure_settings.jinja2 +++ b/octoprint_enclosure/templates/enclosure_settings.jinja2 @@ -375,6 +375,7 @@ When the event happen, you want to turn the controlled IO HIGH or LOW?