changeset 1121:a856693007b2

flip L/R, add blacklight() effect Ignore-this: d0486e7678a1fe150f9fc5dc22c8ba13
author Drew Perttula <drewp@bigasterisk.com>
date Fri, 13 Jun 2014 07:32:06 +0000
parents f36fd5bc44e5
children 17b24cb10202
files light9/Effects.py light9/effecteval/effectloop.py
diffstat 2 files changed, 10 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/light9/Effects.py	Fri Jun 13 07:23:39 2014 +0000
+++ b/light9/Effects.py	Fri Jun 13 07:32:06 2014 +0000
@@ -23,6 +23,9 @@
 class Blacklight(float):
     """a level for the blacklight PWM output"""
 
+@register
+def blacklight(v):
+    return Blacklight(v)
     
 @register
 def chase(t, ontime=0.5, offset=0.2, onval=1.0, 
--- a/light9/effecteval/effectloop.py	Fri Jun 13 07:23:39 2014 +0000
+++ b/light9/effecteval/effectloop.py	Fri Jun 13 07:32:06 2014 +0000
@@ -143,9 +143,10 @@
     def initOutput(self):
         kw = dict(baudrate=115200)
         self.boards = {
-            'L': serial.Serial('/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A7027NYX-if00-port0', **kw),
-            'R': serial.Serial('/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A7027JI6-if00-port0', **kw),
+            'L': serial.Serial('/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A7027JI6-if00-port0', **kw),
+            'R': serial.Serial('/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A7027NYX-if00-port0', **kw),
         }
+        self.lastSentBacklight = None
         
     def combineOutputs(self, outputs):
         combined = {'L': Z, 'R': Z, 'blacklight': 0}
@@ -163,8 +164,10 @@
     def sendOutput(self, combined):
         for which, px255 in combined.items():
             if which == 'blacklight':
-                self.boards['L'].write('\x60\x01' + chr(px255))
-                self.boards['L'].flush()
+                if px255 != self.lastSentBacklight:
+                    self.boards['L'].write('\x60\x01' + chr(px255))
+                    self.boards['L'].flush()
+                    self.lastSentBacklight = px255
             else:
                 board = self.boards[which]
                 msg = '\x60\x00' + px255.reshape((-1,)).tostring()