diff options
author | dan <dmtaub@gmail.com> | 2011-01-28 16:11:11 -0500 |
---|---|---|
committer | dan <dmtaub@gmail.com> | 2011-01-28 16:11:11 -0500 |
commit | f017051f9b93c3a8ac435537c8c9c1f360d0702f (patch) | |
tree | 3f0a9e01ddcb87af2e1b016dd8489be572641ca0 /behaviors | |
parent | fac2f8373cd0e63a34a39cb77c0c7276d1d88b65 (diff) | |
parent | a7d6577e55ebd665ad9e4f45183836f11b3c6fd4 (diff) |
Merge branch 'fridaydemo' of github.com:rcoh/SmootLight into osc
Diffstat (limited to 'behaviors')
-rw-r--r-- | behaviors/Deccelerate.xml | 9 | ||||
-rw-r--r-- | behaviors/ExpandingColorZones.py | 20 | ||||
-rwxr-xr-x | behaviors/SmootWind.py | 33 |
3 files changed, 62 insertions, 0 deletions
diff --git a/behaviors/Deccelerate.xml b/behaviors/Deccelerate.xml new file mode 100644 index 0000000..e64e61d --- /dev/null +++ b/behaviors/Deccelerate.xml @@ -0,0 +1,9 @@ + +<Behavior> + <Class>behaviors.ModifyParam</Class> + <Args> + <ParamType>Sensor</ParamType> + <ParamName>StepSize</ParamName> + <ParamOp>{val}*.98</ParamOp> + </Args> +</Behavior> diff --git a/behaviors/ExpandingColorZones.py b/behaviors/ExpandingColorZones.py new file mode 100644 index 0000000..345851e --- /dev/null +++ b/behaviors/ExpandingColorZones.py @@ -0,0 +1,20 @@ +from operationscore.Behavior import * +from logger import main_log +class ExpandingColorZones(Behavior): + def behaviorInit(self): + self.mapping = {'r':[(132,0),(255,0,0)], 'g':[(400,0), (0,255,0)], + 'b':[(668,0), + (0,0,255)]} + self.mappingkey = 'KeyChar' + def processResponse(self, sensorInputs, recursiveInputs): + ret = [] + for data in sensorInputs: + data = dict(data) + if self.mappingkey in data: + try: + data['Location'], data['Color'] =\ + self.mapping[data[self.mappingkey]] + ret.append(data) + except: + main_log.warn('Bad mapping key. Expanding Color Zones.') + return (ret,[]) diff --git a/behaviors/SmootWind.py b/behaviors/SmootWind.py new file mode 100755 index 0000000..347e2fc --- /dev/null +++ b/behaviors/SmootWind.py @@ -0,0 +1,33 @@ +from operationscore.Behavior import *
+import util.ComponentRegistry as compReg
+import random
+
+class SmootWind(Behavior):
+ def behaviorInit(self):
+ self.mapper = None
+ self.xFor = None
+
+ def processResponse(self, sensorInputs, recursiveInputs):
+ if self.mapper == None:
+ try:
+ self.mapper = compReg.getComponent('windgaussmap')
+ except KeyError:
+ pass
+ if self.xFor == None:
+ try:
+ self.xFor = compReg.getComponent('xfor')
+ except KeyError:
+ pass
+
+ for sensory in sensorInputs:
+ print sensory
+ # input[0] is windspeed, [1] is dir
+ windSpeed = sensory[0]
+ windDir = sensory[1]
+
+ #print self.mapper.argDict
+ self.mapper.argDict['Width'] = float(windSpeed)*2+20
+ self.xFor.argDict['ParamOp'] = float(windSpeed)*3+10*random.random();
+ #print 'Width: ' + str(self.mapper.argDict['Width'])
+ #print 'xFor: ' + str(self.xFor.argDict['ParamOp'])
+ return (sensorInputs, recursiveInputs)
|