Led Matrix: Unterschied zwischen den Versionen
|  addited descripshun | Benko (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung | ||
| (23 dazwischenliegende Versionen von 9 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| For the LED Matrix we  | === WTF? === | ||
| [[Bild:Matrix_frontside.jpeg|thumb|200px|hypnomatrix is hypnotizing]] | |||
| [[Bild:Matrix_backside.jpeg|thumb|200px|all hail to the hypnomatrix]] | |||
| 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! | |||
| ''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]] | |||
| <div> | |||
| <div style='float:left'>{{#ev:youtube|pHdAvMrkO0U}}</div> | |||
| </div> | |||
| <div style='clear:both'></div> | |||
| == Status == | == Status == | ||
| Everything is soldered and it works. We  | Everything is soldered and it works. We can stream videos via the parallel interface of the via board to the matrix with 72fps :)  | ||
| * main svn: https://whatever.metalab.at/projects/FPGAMatrix/ | |||
| * cliffords mplayer patch: http://svn.clifford.at/handicraft/2008/metaleds/ | |||
| == Usage examples == | |||
|  clifford/mplayer/mplayer-bin -vo metaleds:/dev/lp0 -framedrop -vf scale -zoom -x 72 -y 48 test.avi | |||
|  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) | |||
| == 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 19: | Zeile 79: | ||
| * 74HC595 shifting registers | * 74HC595 shifting registers | ||
| == New MiniITX Board == | == New MiniITX Board == | ||
| VIA EPIA- | VIA EPIA-M 1000G | ||
| 1 Ghz | |||
| 1 Gig RAM | |||
| MPEG2 Decoderchipset | |||
| [[Kategorie:WhateverLab]] | [[Kategorie:WhateverLab]] | ||
| [[Kategorie:Projekte]] | [[Kategorie:Projekte]] | ||