diff service/piNode/devices.py @ 1094:90bf3f11fc2b

gamma curve on led output Ignore-this: 338721a341a37881375d99c5a113f9e2 darcs-hash:5524f8c883a11b9ae1b1b52bb18828fce88ed416
author drewp <drewp@bigasterisk.com>
date Wed, 11 May 2016 21:45:11 -0700
parents 3d0133cdce90
children 7b5cff542078
line wrap: on
line diff
--- a/service/piNode/devices.py	Mon May 09 01:05:24 2016 -0700
+++ b/service/piNode/devices.py	Wed May 11 21:45:11 2016 -0700
@@ -400,6 +400,7 @@
     def hostStateInit(self):
         self.value = 0
         self.fv = FilteredValue(self._setPwm)
+        self.gamma = float(self.graph.value(self.uri, ROOM['gamma'], default=1))
     
     def setup(self):
         setupPwm(self.pi, self.pinNumber)
@@ -414,7 +415,7 @@
         self.fv.set(self.value)
 
     def _setPwm(self, x):
-        v = int(x * 255)
+        v = int((x ** self.gamma)* 255)
         self.pi.set_PWM_dutycycle(self.pinNumber, v)
 
     def hostStatements(self):