From 0c8c9ad976879f7c90f9915a60845ccb0cdb337d Mon Sep 17 00:00:00 2001 From: manuel Date: Wed, 25 Dec 2013 13:25:16 +0100 Subject: initial commit --- examples/scripts/macros/script.py | 60 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 examples/scripts/macros/script.py (limited to 'examples/scripts/macros/script.py') diff --git a/examples/scripts/macros/script.py b/examples/scripts/macros/script.py new file mode 100644 index 0000000..a469b1a --- /dev/null +++ b/examples/scripts/macros/script.py @@ -0,0 +1,60 @@ +# Imports +import webiopi +import time + +# Enable debug output +webiopi.setDebug() + +# Retrieve GPIO lib +GPIO = webiopi.GPIO + +SWITCH = 21 +SERVO = 23 +LED0 = 24 +LED1 = 25 + +# Called by WebIOPi at script loading +def setup(): + webiopi.debug("Script with macros - Setup") + # Setup GPIOs + GPIO.setFunction(SWITCH, GPIO.IN) + GPIO.setFunction(SERVO, GPIO.PWM) + GPIO.setFunction(LED0, GPIO.PWM) + GPIO.setFunction(LED1, GPIO.OUT) + + GPIO.pwmWrite(LED0, 0.5) # set to 50% ratio + GPIO.pwmWriteAngle(SERVO, 0) # set to 0 (neutral) + GPIO.digitalWrite(LED1, GPIO.HIGH) + + gpio0 = webiopi.deviceInstance("gpio0") + gpio0.digitalWrite(0, 0) + +# Looped by WebIOPi +def loop(): + # Toggle LED each 5 seconds + value = not GPIO.digitalRead(LED1) + GPIO.digitalWrite(LED1, value) + webiopi.sleep(5) + +# Called by WebIOPi at server shutdown +def destroy(): + webiopi.debug("Script with macros - Destroy") + # Reset GPIO functions + GPIO.setFunction(SWITCH, GPIO.IN) + GPIO.setFunction(SERVO, GPIO.IN) + GPIO.setFunction(LED0, GPIO.IN) + GPIO.setFunction(LED1, GPIO.IN) + gpio0 = webiopi.deviceInstance("gpio0") + gpio0.digitalWrite(0, 1) + +# A macro which says hello +@webiopi.macro +def HelloWorld(first, last): + webiopi.debug("HelloWorld(%s, %s)" % (first, last)) + return "Hello %s %s !" % (first, last) + +# A macro without args which return nothing +@webiopi.macro +def PrintTime(): + webiopi.debug("PrintTime: " + time.asctime()) + -- cgit v1.2.3