Browse Source

adding gpio in to control LEDs for realsies

master
Ben Savage 5 years ago
parent
commit
e014e78ee0
  1. 11
      osc_server.py

11
osc_server.py

@ -7,6 +7,7 @@ import logging
from pprint import pprint
import argparse
import colorsys
import gpiozero
logging.basicConfig(format='%(asctime)s - %(threadName)s ø %(name)s - '
'%(levelname)s - %(message)s')
@ -33,13 +34,14 @@ class LED:
pin=None
mode=["off","on"]
def __init__(self,pin):
self.pin=pin
self.led=gpiozero.PWMLED(pin)
def set_brightness(self,value):
if abs(self.brightness-value) > .005:
self.brightness=value
self.led.value=self.state*self.brightness
print("Setting brightness for LED on pin {} to {}".format(self.pin, self.brightness))
def set_colour(self,value):
@ -50,11 +52,13 @@ class LED:
def set_state(self,value):
self.state=value
self.led.value=self.state*self.brightness
log.info("Turning LED {} {}".format(self.pin, self.mode[self.state]))
def toggle_state(self,value):
if (value):
self.state=not self.state
self.led.value=self.state*self.brightness
log.info("Turning LED {} {}".format(self.pin, self.mode[self.state]))
@ -62,7 +66,8 @@ def led_colour(value):
leds[0].set_colour(value)
def led_brightness(value):
leds[0].set_brightness(value)
for led in leds:
led.set_brightness(value)
def led_state(addr,value):
led=addr.split("/")[6]
@ -97,7 +102,7 @@ osc_method("/track/2/fx/1/fxparam/[!12]/value",led_state,argscheme=OSCARG_ADDRES
log.info("Creating LEDs...")
# Create LEDs
leds=[LED(i) for i in range(0,4)]
leds=[LED(i) for i in [16,20,21]]
finished=False
log.info("Starting loop")

Loading…
Cancel
Save