Mercurial > code > home > repos > light9
view nodes/gamma.py @ 134:f2f73a2171e6
many adjustments to the loops and timing
many adjustments to the loops and timing
now sends the hardware updates only when clients change, but at least 1Hz
new option to adjust the rate of the loop that considers sending changes (if
the lights have changed)
author | drewp |
---|---|
date | Sat, 14 Jun 2003 14:59:09 +0000 |
parents | 45b12307c695 |
children |
line wrap: on
line source
"""node that performs a simple gamma (exp) function on its input""" class GammaOps(Ops): def started(self, input, output, stateaccess): self.startmeup(stateaccess) def changed(self, input, output, stateaccess): port.output = port.input ** stateaccess.gamma + stateaccess.offset stateaccess.lastvalue = State.FloatingPoint(port.input) output = gamma(input) # no timed function def startmeup(self, stateaccess): # whatever pass class Gamma(Node): def __init__(self): Node.__init__(self) self.node_params = {'gamma':State.FloatingPoint,'offset':State.FloatingPoint} self.ops = GammaOps() def getnodeparams(self): return self.node_params def getports(self): return (Port('a', optional=1), Port('b')) def __str__(self): return "3" world.register_node(Gamma)