|
|
|
|
@ -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") |
|
|
|
|
|