Zum Inhalt springen

Led Matrix: Unterschied zwischen den Versionen

K hat FPGA MetaMatrix nach Led Matrix verschoben: jetzt noch besser zu finden
Benko (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(14 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=== Medien ===
=== WTF? ===


<div>
[[Bild:Matrix_frontside.jpeg|thumb|200px|hypnomatrix is hypnotizing]]
<div style='float:left'> [[Bild:Matrix_frontside.jpeg|thumb|left|300px|hypnomatrix is hypnotizing]]</div>
[[Bild:Matrix_backside.jpeg|thumb|200px|all hail to the hypnomatrix]]
<div style='float:left'>[[Bild:Matrix_backside.jpeg|thumb|300px|left|all hail to the hypnomatrix]]</div>
 
</div>
For the LED Matrix we wanted to build on the [[CCCamp2007]] we decided to design a GNU LEDMatrix Controller/Driver setup. It consists of two parts the FPGA board and a several driver electronics boards. Now almost one year later we're finally done!
<div style='clear:both'></div>
 
''see also:'' [http://www.flickr.com/photos/1000points/2509802438/ metalab led matrix - demo "die ewigkeit schmerzt"](Video)
 
== Animations ==
 
Two Animations for the linuxwochen: [[Bild:Metalabanim.zip]]




Zeile 12: Zeile 17:
</div>
</div>
<div style='clear:both'></div>
<div style='clear:both'></div>
For the LED Matrix we want to build on the [[CCCamp2007]] we decided to design a GNU LEDMatrix Controller/Driver setup. It will consist of two parts the FPGA board and a several driver electronics boards. Now almost one year later we're still working on it :)


== Status ==
== Status ==
Zeile 20: Zeile 22:


* main svn: https://whatever.metalab.at/projects/FPGAMatrix/
* main svn: https://whatever.metalab.at/projects/FPGAMatrix/
* cliffords mplayer patch: http://svn.clifford.at/metaleds/
* cliffords mplayer patch: http://svn.clifford.at/handicraft/2008/metaleds/


== Usage examples ==
== Usage examples ==
  clifford/mplayer/mplayer-bin -vo metaleds:/dev/lp0 -framedrop -vf scale -zoom -x 72 -y 48 test.avi
  clifford/mplayer/mplayer-bin -vo metaleds:/dev/lp0 -framedrop -vf scale -zoom -x 72 -y 48 test.avi
  netcat -l -p 7000 > /dev/lp0
  netcat -l -p 7000 > /dev/lp0


Format is: 72x48 bytes of pixeldata (ranging from 0x00 to 0x0F) followed by a single 0x80 (to flip framebuffers)
Format is: 72x48 bytes of pixeldata (ranging from 0x00 to 0x0F) followed by a single 0x80 (to flip framebuffers)
== Real-time access ==
=== Raw protocol ===
72x48 = 3456 octets of pixel data followed by a terminating 0x80 octet.
Each pixel data octet represents one pixel's brightness, ranging from 0 (0x00, off) to 15 (0x0F, brightest).
The pixels start at the upper left corner and are numbered in [http://en.wikipedia.org/wiki/Row-major_order row-major order] (see the diagram below).
All output is double-buffered on the fpga, so you have to send a 0x80 after the pixel data to flip the frame buffers.
<pre>
________________________
| 1  2  3 ...          72|
|73 50 ...            144| 
|.                      |
|.                      |
|...                3456|
|________________________|
</pre>
=== Using with C/C++ ===
You can use the metalib library from here; it comes with a couple of demos:
https://whatever.metalab.at/projects/FPGAMatrix/client/
=== Using with Python ===
You can use functions like getpixel, setpixel, submit with the python classes in https://whatever.metalab.at/projects/FPGAMatrix/python/
It supports the (now encouraged) way of using TCP. A example (Game of Life) is available.


== Specs ==
== Specs ==
Zeile 43: Zeile 79:
* 74HC595 shifting registers
* 74HC595 shifting registers
== New MiniITX Board ==
== New MiniITX Board ==
VIA EPIA-PD
VIA EPIA-M 1000G
 
 
* http://robots.net/article/983.html article on this board
 
ok .. i2c will not work because via i2c is actually SMBus running at 16khz :(
.. but hey what about the OBVIOUS?
there is a parallelport which should give us 8-10 mbit :)


linux stuff in the works
1 Ghz
1 Gig RAM
MPEG2 Decoderchipset




[[Kategorie:WhateverLab]]
[[Kategorie:WhateverLab]]
[[Kategorie:Projekte]]
[[Kategorie:Projekte]]
__NOTOC__