usbio.py: default to immediately send changes
authorDan White <dan@whiteaudio.com>
Sun, 22 Apr 2012 03:42:20 +0000 (22:42 -0500)
committerDan White <dan@whiteaudio.com>
Sun, 22 Apr 2012 03:42:20 +0000 (22:42 -0500)
python-lib/usbio.py

index 8ead241a7e6cd04e885382207316aabff5aaa272..69ebbea0583fe6565ca5916e21b29996e14500c9 100644 (file)
@@ -372,9 +372,10 @@ class AD524x(object):
     lastO1 = None
     lastO2 = None
 
-    def __init__(self, i2cbus, addr):
+    def __init__(self, i2cbus, addr, immediate=True):
         self.bus = i2cbus
         self.addr = intbv(self.ADDR_BASE + intbv(addr, max=2**2), max=2**7)
+        self.immediate = immediate
         self._sel = False
         self._rs = False
         self._sd = False
@@ -413,40 +414,39 @@ class AD524x(object):
     def posA(self): return self._posA
 
     @posA.setter
-    def posA(self, value):
+    def posA(self, value, immediate=None):
         self._posA = intbv(value, max=2**8)
+        if immediate or (immediate is None and self.immediate):
+            self.update()
 
     @property
     def posB(self): return self._posB
 
     @posB.setter
-    def posB(self, value):
+    def posB(self, value, immediate=None):
         self._posB = intbv(value, max=2**8)
-
-    #@property
-    #def pos(self):
-        #if self.pos:
-            #return self.posB
-        #else:
-            #return self.posA
+        if immediate or (immediate is None and self.immediate):
+            self.update()
 
     @property
     def gpo1(self): return self._gpo1
 
     @gpo1.setter
-    def gpo1(self, value):
+    def gpo1(self, value, immediate=None):
         v = truth(value)
         self._gpo1 = v
-        self.updateGPO()
+        if immediate or (immediate is None and self.immediate):
+            self.sendGPO()
 
     @property
     def gpo2(self): return self._gpo2
 
     @gpo2.setter
-    def gpo2(self, value):
+    def gpo2(self, value, immediate=None):
         v = truth(value)
         self._gpo2 = v
-        self.updateGPO()
+        if immediate or (immediate is None and self.immediate):
+            self.sendGPO()
 
     @property
     def instruction(self):