aboutsummaryrefslogtreecommitdiff
path: root/config/Outdoor.xml
diff options
context:
space:
mode:
authorGravatar rcoh <rcoh@mit.edu>2010-12-08 16:39:50 -0500
committerGravatar rcoh <rcoh@mit.edu>2010-12-08 16:39:50 -0500
commitb335b746523ffd59db1402b097a802b3fd99eaac (patch)
tree74333be1820f3d2666358c3b009beb14bf929256 /config/Outdoor.xml
parent353ab16db64c86122c0fcb9e1852b85c14b354b8 (diff)
Code for the demo. Everything works afaik. Contains a couple more optimizations. Contains modify param behavior. Improved support for recursive hooks. Modifications to SmootCoreObject to get us closer to a fully multi-threaded system. This should be the last commit directly to master. All further commits should be on subranches and get merged.
Diffstat (limited to 'config/Outdoor.xml')
-rw-r--r--config/Outdoor.xml252
1 files changed, 252 insertions, 0 deletions
diff --git a/config/Outdoor.xml b/config/Outdoor.xml
new file mode 100644
index 0000000..7f054f0
--- /dev/null
+++ b/config/Outdoor.xml
@@ -0,0 +1,252 @@
+<!---All configuration items contain a "Class" tag specifying the python class they represent, and an "Args" tag specifying the args to be passed in.-->
+<LightInstallation>
+ <PixelConfiguration>
+ <PixelStrip>
+ <Class>layouts.LineLayout</Class>
+ <Args>
+ <Id>strip1</Id>
+ <pixelToPixelSpacing>4</pixelToPixelSpacing>
+ <spacing>4</spacing>
+ <numPixels>50</numPixels>
+ <originLocation>(10,20)</originLocation>
+ </Args>
+ </PixelStrip>
+ <PixelStrip>
+ <Class>layouts.LineLayout</Class>
+ <Args>
+ <Id>strip2</Id>
+ <pixelToPixelSpacing>4</pixelToPixelSpacing>
+ <spacing>4</spacing>
+ <numPixels>50</numPixels>
+ <originLocation>(10,24)</originLocation>
+ </Args>
+ </PixelStrip>
+ <PixelStrip>
+ <Class>layouts.LineLayout</Class>
+ <Args>
+ <Id>strip3</Id>
+ <pixelToPixelSpacing>4</pixelToPixelSpacing>
+ <spacing>4</spacing>
+ <numPixels>50</numPixels>
+ <originLocation>(10,28)</originLocation>
+ </Args>
+ </PixelStrip>
+ <PixelStrip>
+ <Class>layouts.LineLayout</Class>
+ <Args>
+ <Id>strip4</Id>
+ <pixelToPixelSpacing>4</pixelToPixelSpacing>
+ <spacing>4</spacing>
+ <numPixels>50</numPixels>
+ <originLocation>(10,32)</originLocation>
+ </Args>
+ </PixelStrip>
+ <PixelStrip>
+ <Class>layouts.LineLayout</Class>
+ <Args>
+ <Id>strip5</Id>
+ <pixelToPixelSpacing>4</pixelToPixelSpacing>
+ <spacing>4</spacing>
+ <numPixels>50</numPixels>
+ <originLocation>(10,36)</originLocation>
+ </Args>
+ </PixelStrip>
+ <PixelStrip>
+ <Class>layouts.LineLayout</Class>
+ <Args>
+ <Id>strip6</Id>
+ <pixelToPixelSpacing>4</pixelToPixelSpacing>
+ <spacing>4</spacing>
+ <numPixels>50</numPixels>
+ <originLocation>(10,40)</originLocation>
+ </Args>
+ </PixelStrip>
+ </PixelConfiguration>
+ <!--<PixelMapperConfiguration>
+ <PixelMapper>
+ <Class>pixelmappers.SimpleMapper</Class>
+ <Args>
+ <Id>simplemap</Id>
+ </Args>
+ </PixelMapper>
+ </PixelMapperConfiguration>-->
+ <PixelMapperConfiguration>
+ <PixelMapper>
+ <Class>pixelmappers.GaussianMapper</Class>
+ <Args>
+ <Id>gaussmap</Id>
+ <CutoffDist>20</CutoffDist>
+ <Width>3</Width>
+ <Height>1</Height>
+ </Args>
+ </PixelMapper>
+ </PixelMapperConfiguration>
+ <RendererConfiguration>
+ <Renderer>
+ <Class>renderers.PygameRenderer</Class>
+ <Args>
+ <Id>pygamerender</Id>
+ <displaySize>(1300,50)</displaySize>
+ </Args>
+ </Renderer>
+ <Renderer>
+ <Class>renderers.IndoorRenderer</Class>
+ <Args>
+ <Id>indoorRenderer</Id>
+ <PowerSupply>
+ <IP>10.31.255.233</IP>
+ <PortMapping>{'strip1':1, 'strip2':2}</PortMapping>
+ </PowerSupply>
+ <PowerSupply>
+ <IP>10.32.97.17</IP>
+ <PortMapping>{'strip3':1, 'strip4':2}</PortMapping>
+ </PowerSupply>
+ <PowerSupply>
+ <IP>10.32.96.211</IP>
+ <PortMapping>{'strip5':1, 'strip6':2}</PortMapping>
+ </PowerSupply>
+ </Args>
+ </Renderer>
+ </RendererConfiguration>
+ <InputConfiguration>
+ <InputElement>
+ <Class>inputs.PygameInput</Class>
+ <Args><!--Passed as a dictionary-->
+ <Id>pygame</Id>
+ <RefreshInterval>100</RefreshInterval>
+ </Args>
+ </InputElement>
+ <InputElement>
+ <Class>inputs.PygameInput</Class>
+ <Args>
+ <Id>followmouse</Id>
+ <RefreshInterval>10</RefreshInterval>
+ <FollowMouse>True</FollowMouse>
+ </Args>
+ </InputElement>
+ <InputElement>
+ <Class>inputs.UDPInput</Class>
+ <Args>
+ <Id>UDP</Id>
+ <Port>6038</Port>
+ <RefreshInterval>100</RefreshInterval>
+ </Args>
+ </InputElement>
+ </InputConfiguration>
+ <BehaviorConfiguration>
+ <Behavior>
+ <Class>behaviors.EchoBehavior</Class>
+ <Args>
+ <Id>echo</Id>
+ <z-index>0</z-index>
+ <RenderToScreen>False</RenderToScreen>
+ <Inputs>
+ </Inputs>
+ </Args>
+ </Behavior>
+ <Behavior>
+ <Class>behaviors.ColorChangerBehavior</Class>
+ <Args>
+ <Id>colorchange</Id>
+ <z-index>0</z-index>
+ <RenderToScreen>False</RenderToScreen>
+ <!--<ColorList>
+ <Color>(255,0,0)</Color>
+ </ColorList>-->
+ <Inputs>
+ <Id>pygame</Id>
+ </Inputs>
+ </Args>
+ </Behavior>
+ <Behavior>
+ <Class>behaviors.DecayBehavior</Class>
+ <Args>
+ <Id>decay</Id>
+ <DecayType>Exponential</DecayType>
+ <Coefficient>.01</Coefficient>
+ <z-index>0</z-index>
+ <RenderToScreen>False</RenderToScreen>
+ <Inputs>
+ </Inputs>
+ </Args>
+ </Behavior>
+ <Behavior>
+ <Class>behaviors.DebugBehavior</Class>
+ <Args>
+ <Id>debug</Id>
+ <z-index>0</z-index>
+ <Inputs>
+ <Id>pygame</Id>
+ </Inputs>
+ </Args>
+ </Behavior>
+ <Behavior>
+ <Class>behaviors.RecursiveDecay</Class>
+ <Args>
+ <Id>recursivedecay</Id>
+ <InitialResponseCount>70</InitialResponseCount>
+ </Args>
+ </Behavior>
+ <Behavior>
+ <Class>behaviors.BehaviorChain</Class>
+ <Args>
+ <Id>runcolordecay</Id>
+ <Inputs>
+ <Id>pygame</Id>
+ </Inputs>
+ <ChainedBehaviors>
+ <Id>colorchange</Id>
+ <Id>running</Id>
+ <Id>decay</Id>
+ </ChainedBehaviors>
+ <RecursiveHooks>{'running':'acceleratedie'}</RecursiveHooks>
+ <RenderToScreen>True</RenderToScreen>
+ </Args>
+ </Behavior>
+ <Behavior>
+ <Class>behaviors.ModifyParam</Class>
+ <Args>
+ <Id>accelerate</Id>
+ <ParamType>Sensor</ParamType>
+ <ParamName>StepSize</ParamName>
+ <ParamOp>{val}*1.05</ParamOp>
+ </Args>
+ </Behavior>
+ <Behavior>
+ <Class>behaviors.BehaviorChain</Class>
+ <Args>
+ <Id>acceleratedie</Id>
+ <ChainedBehaviors>
+ <Id>accelerate</Id>
+ <Id>recursivedecay</Id>
+ </ChainedBehaviors>
+ </Args>
+ </Behavior>
+ <Behavior>
+ <Class>behaviors.BehaviorChain</Class>
+ <Args>
+ <Id>mousechaser</Id>
+ <Inputs>
+ <Id>followmouse</Id>
+ </Inputs>
+ <ChainedBehaviors>
+ <Id>echo</Id>
+ <Id>colorchange</Id>
+ <Id>decay</Id>
+ </ChainedBehaviors>
+ <RenderToScreen>True</RenderToScreen>
+ </Args>
+ </Behavior>
+ <Behavior>
+ <Class>behaviors.RunningBehavior</Class>
+ <Args>
+ <Id>running</Id>
+ <Inputs>
+ <Id>pygame</Id>
+ </Inputs>
+ <StepSize>1</StepSize>
+ <RenderToScreen>False</RenderToScreen>
+ </Args>
+ </Behavior>
+ </BehaviorConfiguration>
+</LightInstallation>