Zum Inhalt springen

Led Matrix: Unterschied zwischen den Versionen

Wizard23 (Diskussion | Beiträge)
Benko (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen von 5 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 ==
Zeile 31: Zeile 33:




== Protocol ==
== Real-time access ==
72x48 = 3456 bytes of pixeldata ranging from 0 (0x00) to 15 (0x0F)
 
each byte represets one pixel with a brightness ranging from 0 to 15
=== Raw protocol ===
the pixels start at the upper left corner and are numbered as in the selfexplaining example below.
 
All output on is doublebuffered on the fpga so you have to send a 0x80 after the pixeldata to flip
72x48 = 3456 octets of pixel data followed by a terminating 0x80 octet.  
the framebuffers.


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>
<pre>
  ________________________
  ________________________
Zeile 48: Zeile 53:
|________________________|
|________________________|
</pre>
</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 ===
=== Using with Python ===
Zeile 78: Zeile 88:
[[Kategorie:WhateverLab]]
[[Kategorie:WhateverLab]]
[[Kategorie:Projekte]]
[[Kategorie:Projekte]]
__NOTOC__