forked from muccc/acab-streetlife
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME
79 lines (55 loc) · 2.29 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
This is the software behind the ACAB wall.
You can get our software on github: https://github.com/muccc/acab-streetlife
Animations are created as python scripts which run on the
computer controlling the installation.
In the multiwall setting the ACAB wall has two walls with 8x6 pixels each. They are addressed using the wall number [0,1] and their x and y coordinates.
The setup looks like this: (x,y)
Wall1:
(0,0,0), (0,1,0) ... (0,6,0), (1,7,0)
(0,0,1), (0,1,1) ... (0,6,1), (1,7,1)
. . . .
. . . .
. . . .
(0,0,4), (0,1,4) ... (0,6,4), (1,7,4)
(0,0,5), (0,1,5) ... (0,6,5), (1,7,5)
Wall2:
(1,0,0), (1,1,0) ... (1,6,0), (1,7,0)
(1,0,1), (1,1,1) ... (1,6,1), (1,7,1)
. . . .
. . . .
. . . .
(1,0,4), (1,1,4) ... (1,6,4), (1,7,4)
(1,0,5), (1,1,5) ... (1,6,5), (1,7,5)
Use the acabsl library from our git repository to create your own scripts.
It provides two methods:
acabsl.send(w,x,y,r,g,b,time):
Send a new color to pixel (x,y) on wall no w.
r,g,b are 0-255
time is in milliseconds:
time=0 => Instant update
time>0 => Fade to the new color in time millisceonds
acabsl.update():
Use this command if you want to use double buffering.
Use it once before you do your first acabsl.send() call.
Then use it everytime you want new commands to be executed.
Example:
import acabsl
#enable double buffering
acabsl.update()
wall1 = 0
wall2 = 1
#let every pixel fade to red
for x in range(8):
for y in range(6):
acabsl.send(wall1,x,y,255,0,0,500)
acabsl.send(wall2,x,y,255,0,0,500)
#execute all fades at once
acabsl.update()
Have a look at the scripts in the animations directory for examples. We also have audio examples ;)
Execute the startsimulation file to run a simulation of the walls on your computer:
./startsimulation
It will open two windows with simulated acab walls. Use your imagination to form cylinders for 29c3 ;)
Then execute the script you wrote to display it on the simulator.
Send new scripts via a pull request to our github account: https://github.com/muccc/acab-streetlife and we will put them
into rotation on the walls.
Have fun :)