aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjaseg <jaseg@jaseg.net>2014-01-29 12:35:35 +0100
committerjaseg <jaseg@jaseg.net>2014-01-29 12:35:35 +0100
commitd3a08c1f4892196ff1e04232174afa80cc63079b (patch)
treeff21121a7fa7f7dd4621049960cca1c3561d01e1
parent8c0d16a46e7c4a40224f12016f9cf6d7318d9e99 (diff)
downloadmatelight-d3a08c1f4892196ff1e04232174afa80cc63079b.tar.gz
matelight-d3a08c1f4892196ff1e04232174afa80cc63079b.tar.bz2
matelight-d3a08c1f4892196ff1e04232174afa80cc63079b.zip
Updated the README
-rw-r--r--README.rst29
1 files changed, 21 insertions, 8 deletions
diff --git a/README.rst b/README.rst
index 9f835ec..ebd59e6 100644
--- a/README.rst
+++ b/README.rst
@@ -1,23 +1,36 @@
Mate Light
==========
-
-Objective
----------
-
+Transform a bunch of empty mate crates to a huge display using a 10 year old laptop, a 13US$ microcontroller board and a couple of cheap chinese christmas lights.
Hardware Setup
--------------
-
+Each bottle contains a LED with a WS2801 driver. Each crate contains a chain of 20 LEDs with a 9 pin SUB-D connector. A wiring harness connects 8 crates in series to a TI Stellaris Launchpad. The Launchpad has four hardware SPI interfaces which can control one wiring harness each. The controller board is connected to a ThinkPad T22 running the control program via USB.
+
+1. Take a mate bottle and wrap it in aluminum foil
+2. Poke a 12mm hole in the lid
+3. Put it in a crate
+4. Repeat from step 1
+5. Stick a loop of LEDs through the lids of the bottles
+6. Repeat from step 1
+7. Stack up a bunch of these crates and tie them together with zip ties and straps
+8. Connect the wiring harness to the LED loops and the control board
+9. ???
+10. PROFIT!!
Software
--------
-
+Currently, there are two versions of the control software around. The terribly slow legacy Python script and the WIP C implementation. The C implementation is about 10.000 times faster than the python script which is why we are working on it.
Architecture
~~~~~~~~~~~~
+The server listens on TCP and UDP ports 1337. Any GIF data coming in over TCP is displayed, text is first rendered interpreting ANSI escape sequences (colors, blink etc.) and rendered as a marquee. The UDP port accepts CRAP, our Custom advanced video stReAming Protocol. A CRAP packet contains three bytes of RGB data per pixel in 40 rows of 40 columns (i.e. ``[R0,0 G0,0 B0,0 R0,1 G0,1 B0,1 ... R0,39 G0,39 B0,39 R1,0 G1,0 B1,0 ... R15,39 G15,39 B15,39]``).
+There is at least one further server implementation of CRAP in the form of an `HTML5 CRAP emulator`_. There is `a Python script that plays gifs over CRAP`_.
-Setup
-~~~~~
+Related Projects
+----------------
+There is `a Python script that plays gifs over CRAP`_ and an `HTML5 CRAP emulator`_.
+.. _`a Python script that plays gifs over CRAP`: https://github.com/uwekamper/matelight-gifplayer
+.. _`HTML5 CRAP emulator`: https://github.com/sodoku/matelightemu/blob/master/app.js