|
From: <ni...@us...> - 2010-11-22 14:59:47
|
Revision: 151
http://openautomation.svn.sourceforge.net/openautomation/?rev=151&view=rev
Author: nilss1
Date: 2010-11-22 14:59:41 +0000 (Mon, 22 Nov 2010)
Log Message:
-----------
Test List support for toggle, sending increasing [0,20,40,60] and on end start over
Modified Paths:
--------------
PyWireGate/trunk/lirc_connector/LIRC_Connector.py
Modified: PyWireGate/trunk/lirc_connector/LIRC_Connector.py
===================================================================
--- PyWireGate/trunk/lirc_connector/LIRC_Connector.py 2010-11-22 14:58:25 UTC (rev 150)
+++ PyWireGate/trunk/lirc_connector/LIRC_Connector.py 2010-11-22 14:59:41 UTC (rev 151)
@@ -21,6 +21,9 @@
import select
import re
+
+nearestValue = lambda a,l:min(l,key=lambda x:abs(x-a))
+
class lirc_connector(Connector):
@@ -79,6 +82,7 @@
val = int(counter,16)
if 'toggle' in obj.config:
if counter <> "00":
+ ## only toggle once
continue
toggle = obj.config['toggle']
val = obj.getValue()
@@ -86,8 +90,16 @@
val = int(val == 0)
else:
val = 0
- #if type(obj.config['toggle']) == list:
- # toglen = len(val)
+ if type(obj.config['toggle']) == list:
+ lentoggle = len(obj.config['toggle'])
+ near = nearestValue(val,obj.config['toggle'])
+ if near < val:
+ if val > obj.config['toggle'][-1]:
+ val = obj.config['toggle'][0]
+ else:
+ val = obj.config['toggle'][obj.config['toggle'].index(near)+1]
+ else:
+ val = near
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|