Add toggle functionality to inputs #46

Merged
basdp merged 1 commits from master into master 2017-06-27 15:10:13 +01:00
2 changed files with 5 additions and 1 deletions

View File

@@ -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']:

View File

@@ -375,6 +375,7 @@
<select data-bind="value: setControlledIO">
<option value="low">Low</option>
<option value="high">High</option>
<option value="toggle">Toggle</option>
</select>
<span class="help-inline">When the event happen, you want to turn the controlled IO HIGH or LOW?</span>
</div>