1
2 from operationscore.Behavior import *
3 import util.ColorOps as colorops
4 import pdb
6 """Implements a pulsing/flashing behavior.
7 Jim Salem
8
9 Args:
10 Factor - The speed of flashing. Must be b/w 0 and 1. Default is .95
11 """
13 ret = []
14 for response in sensorInputs:
15
16 if self['Factor'] != None:
17 factor = self['Factor']
18 else:
19 factor = 0.95
20
21 if not 'FireflyStartColor' in response:
22 response['FireflyValue'] = 1.0
23 response['FireflyDir'] = 1
24 response['FireflyStartColor'] = response['Color'];
25 else:
26
27 if response['FireflyDir'] == 1:
28 response['FireflyValue'] = response['FireflyValue'] * factor
29 if response['FireflyValue'] <= 0.01:
30 response['FireflyValue'] = 0.01
31 response['FireflyDir'] = 0
32 else:
33 response['FireflyValue'] = response['FireflyValue'] / factor
34 if response['FireflyValue'] >= 1.0:
35 response['FireflyValue'] = 1.0
36 response['FireflyDir'] = 1
37
38
39 response['Color'] = colorops.multiplyColor(response['FireflyStartColor'], response['FireflyValue'])
40 ret.append(response)
41 return (ret, [])
42