Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
flipdot:start [2019/05/15 13:58] – [Mobiles Demo-Flipdot-Panel] paugustinerflipdot:start [2024/03/07 22:07] (current) linuxhackerman
Line 4: Line 4:
 Projekt_url       :  Projekt_url       : 
 Name              : Flipdot Name              : Flipdot
-Beschreibung_wiki : Die Flipdotmatrix die uns zukam in Betrieb nehmen+Beschreibung_wiki : Flipdotmatrixen in Betrieb nehmen
 Links_urls        :  Links_urls        : 
 Bilder_imgs       :  Bilder_imgs       : 
Line 10: Line 10:
 Lizenz            : -- Lizenz            : --
 Beteiligt         : sepi, jan, lilafisch, martin, krobin, fpletz Beteiligt         : sepi, jan, lilafisch, martin, krobin, fpletz
-Termine_page      : flipdot:termine +Termine_page      : 
-Status_           : api und protokoll definieren, mehr testen+Status_           : done
 Kategorie_tags    : Hardware, Software Kategorie_tags    : Hardware, Software
 Verwandtes_tags   : Display, Schaufenster Verwandtes_tags   : Display, Schaufenster
 ---- ----
  
 +Uns ist irgendwann mal ein Rudel Flipdot-Panels zugelaufen, die wir sowohl im Münchner Club als auch in andere Hackerspaces verteilt haben. Die Panels wurden in verschiedenen Konfigurationen zu mehreren Displays aggregiert und zeigen z.B. den Clubraum Status, das Channel Topic oder aktuelle (politische) Nachrichten im Schaufenster an.
  
 +Es gibt verschiedenste Treiberplatinen und Ansteuerungshardware, die auch mal besser dokumentiert werden müsste. :-) 
  
 +Der Quellcode sammelt sich im [[https://github.com/muccc/flipdots|flipdot git]].
  
-====== Howto ===== 
-===== Mobiles Demo-Flipdot-Panel ===== 
-Das Demo-Flipdot-Panel entstand im Sommer 2018 durch eine Kollaboration 
-vom Wagenplatz Hin&Weg und muCCC zum Freiraumkonvoi 2018. 
-Hin&Weg baute ein mobiles, wasserfestes Case, die Flipdot-Panels werden über ein Raspberry Pie mit Gifs bespielt. 
-Der Strom kommt entweder aus der Steckdose, von einer Auto- oder  
-LKW-Batterie. 
  
-Die Gifs müssen in der Größe 80 px hoch und 96 px breit  +Ein Panel hat die Abmessungen 30x24x6cm und wiegt mit vier Haltern ca. 1,2 kg. Zwei Panels mit Rücken aneinander haben zusammen ca. 9 anstatt 6 cm Tiefe.
-angelegt seineine Anleitung zur Gif-Herstellung mit Gimp  +
-oder Photoshop findet ihr im Internet.+
  
-Das Flipdotpanel ist sehr schwer, wir konnten es noch  +== Nomenklatur
-nicht wiegen. Es ist zu zweit kurz anhebbar, in die Tram +
-oder den Bus zB, für längere Strecken braucht es zum +
-Tragen 6 Personen, haben wir getestet auf dem Rückweg  +
-vom Marienplatz, nachdem nach einigem Geschiebe am Stiglmairplatz  +
-dann die 3. Rolle vom Hundt (Rollbrett) abgebrochen ist.+
  
-ZZ steht das Flipdot auf einem stabilen Palettenwagen,  +Um dem Chaos ausnahmsweise entgegen- und nicht zu-zuwirken legen wir hier feste Worte für die einfachere Kommunikation fest!
-mit dem es sehr gut durch die Gegend geschoben werden  +
-kann. +
  
-So ist der Transport gut mit den Öffis vollziehbar, einmal  +  * **Panel** == 1 Object voll mit Dots; besteht aus: Dot-Matrix mit 16 Zeilen und 20 Spalten. Hat hinten noch die Treiberplatine dran. 
-wollte uns eine Trambahnfahrerin aber nicht mitnehmen+    * FIXME: Sollte man nicht lieber 16 Spalten × 20 Zeilen verwenden? Dann entspräche eine Modulzeile einem 16 Bit Wort, was auch die interne Aufteilung von üblichen Framebuffern entspricht
-Das Panel passt auch nicht unbedingt in Aufzügezum +    * Treiberplatine == nimmt seriell Daten entgegen und gibt dieses Parallel auf die Dot-Matrix eines Moduls. 
-längeren Schieben und zB auch zum Rolltreppefahren braucht +    * Panelzeile == horizontal aggregierte Ansammlung von Dotstypischerweise 20 Dots 
-es eigentlich schon 4 Leute.+    * Panelspalte == vertikal aggregierte Ansammlung von Dots, typischerweise 16 Dots 
 +    * Der Ursprung ist oben links (wenn man von vorne draufschaut) und mit X0Y0 beschriftet 
 +  * **Assembly** == Ein bis mehrere Panel sind zu einem größeren Aggregat zusammengebaut worden und haben eine gemeinsame Steuerungseinheit. Im Club stehen drei Assemblys im Schaufenster rum. 
 +  * **Display** == Ein Display besteht aus einer bis mehreren Assemblies und ist für den Betrachter eine zusammenhängende Installation. Z.B. die drei Assemblies im Clubschaufenster, eine Assembly die aus einer "Zeile" panels besteht und im Clubhauptraum den ganzen Raum umrundet. Eine Einpanelassembly die nur den Clubstatus anzeigt. 
 +  * **Window** == Ein rechteckiger Bereich in einem Display. Diese Bereiche können als Resource an verschiedene Teilnehmer vergeben werden die darauf schreiben dürfen.
  
 +**ACHTUNG**: Eventuell ist im Rest der Wikiseite alles vertauscht. Das sollte später gefixt werden!
  
-auf dem Weg zum Frauenstreik am Marienplatz am 8.3.19 
-{{ :flipdot:190308-frauenstreik-tram.jpg?nolink&300 |}} 
  
 +== Displays
  
 +Wir haben aktuell folgende Flipdot-Displays:
  
 +^                               ^ Anzahl  ^                                                                               ^
 +| Mini                          |  2      | Zeigt den Clubstatus an, kann (offiziell?) nicht direkt angesprochen werden.  |
 +| Zeile                          11     | Zeigt Topic aus #ccc an                                                       |
 +| [[wand|Schaufenster / Wand]]  |  63     | drei Assemblies die in der Regel als ein großes Display betrieben werden      |
 +| [[mobil|Mobil / Demo]]        |  ??     | mobiles, wasserfestes Case                                                    |
  
 +=== Zeile
  
-auf dem Weg zur Fridays For Future Demo am 15.3.19 +176x20 Pixel.
-{{ :flipdot:190315-fff-wegzumbus.jpg?nolink&300 |}} +
-{{ :flipdot:190315-fff-wegzumbus2.jpg?nolink&300 |}} +
-{{ :flipdot:190315-fff-faehrtbus.jpg?nolink&300 |}}+
  
 +Es gibt mehrere Möglichkeiten die Zeile anzusprechen:
 +  - UDP: Wie alle Displays beherrscht auch die Zeile ein triviales UDP-Protokoll:  `2001:7f0:3003:beef:ba27:ebff:fe89:4cd2` Port `2323`
 +  - In #ccc auf darkfasel: Alle Posts, die "Alarm" enthalten sowie Topic-Änderungen werden angezeigt.
 +  - <del>https://muc.pads.ccc.de/flipdot wird angezeigt (BETA)</del> Landet aktuell auf der Wand, nicht auf der Zeile
  
 +=== Bildformat
 +Es muss ein animiertes 144x120 gif sein mit einem delay auf dem frame. am besten sowas wie 600 sekunden oder so
  
 +Schwarz-weiss: Image -> Mode -> Indexed...:  use black and white (1-bit) palette
  
 +Bug: Aktuell scheinen die linkesten 16 pixel am rechten Rand angezeigt zu werden.
  
-auf der Fridays For Future Kundgebung 15.3.19 auf der Theresienwiese +Workaround''gm convert tdoh.gif -affine 1,0,0,1,-16,0 -transform -draw 'image Over -112,0 144,120 tdoh.gif' tdoh2.gif''
-{{ :flipdot:190315-fff-baum.jpg?nolink&300 |}} +
-{{ :flipdot:190315-fff-kuh.jpg?nolink&300 |}} +
-{{ :flipdot:190315-fff-logo.jpg?nolink&300 |}} +
-{{ :flipdot:190315-fff-rufzeichen.jpg?nolink&300 |}} +
-{{ :flipdot:190315-fff-heimmitlkw.jpg?nolink&300 |}} +
- +
-Wenn ihr das Flipdot-Panel ausleihen wollt müsst ihr +
-euch um den Transport selber kümmern und euch rechtzeitig +
-eine Einführung zur Handhabung holen.  +
- +
-Ihr könnt gern +
-bereits bestehende Gifs verwendeneigene Gifs dürft ihr +
-gern drauf- und abspielen sofern sie keine rassistischensexistischen und sonstwie +
-menschen- oder andere Wesen verachtenden Inhalte zeigen. +
- +
-hier einige gifsdie wir bereits draufhaben: +
- +
- +
-gifs zum freiraumkonvoi 2018: +
- +
-{{ :flipdot:1-freiraummonster-1.gif?200 |}} +
-{{ :flipdot:2-kultur-1.gif?200 |}} +
-{{ :flipdot:3-daumen-2.gif?200 |}} +
-{{ :flipdot:4-freiraumgoenn-1.gif?200 |}} +
-{{ :flipdot:5-herz-4.gif?200 |}} +
-{{ :flipdot:6-wemgehoert-1.gif?200 |}} +
-{{ :flipdot:7-kinghomer-4.gif?200 |}} +
-{{ :flipdot:8-diestaedte-1.gif?200 |}} +
-{{ :flipdot:10-wir-1.gif?200 |}} +
-{{ :flipdot:11-brille-2.gif?200 |}} +
-{{ :flipdot:12-jetze-1.gif?200 |}} +
-{{ :flipdot:13-bauwagen-20.gif?200 |}} +
-{{ :flipdot:14-olga-1.gif?200 |}} +
-{{ :flipdot:15-banane-10.gif?200 |}} +
-{{ :flipdot:16-hwfleck-1.gif?200 |}} +
-{{ :flipdot:17-jumpinghomer-4.gif?200 |}} +
-{{ :flipdot:18-radundtat-1.gif?200 |}} +
-{{ :flipdot:18.2-radundtataale-1.gif?200 |}} +
-{{ :flipdot:19-freiraummonster-1.gif?200 |}} +
-{{ :flipdot:20-ware-1.gif?200 |}} +
-{{ :flipdot:21-bigboyhomer-4.gif?200 |}} +
-{{ :flipdot:22-kuh-4.gif?200 |}} +
-{{ :flipdot:23-alleklassen-1.gif?200 |}} +
-{{ :flipdot:24-pistole-2.gif?200 |}} +
-{{ :flipdot:25-supidupi-1.gif?200 |}} +
-{{ :flipdot:26-wampe-10.gif?200 |}} +
-{{ :flipdot:27-stadtretten-1.gif?200 |}} +
-{{ :flipdot:28-tennis-4.gif?200 |}} +
-{{ :flipdot:29-pacman-2.gif?200 |}} +
-{{ :flipdot:30-zukunft-1.gif?200 |}} +
-{{ :flipdot:31-gorillaslam-1.gif?200 |}} +
-{{ :flipdot:32-spaceinvader-1.gif?200 |}} +
-{{ :flipdot:33-gameover.gif?200 |}} +
-{{ :flipdot:42-herz-4.gif?200 |}} +
- +
- +
-gifs zum frauen-streik am 8. mai 2019: +
- +
-{{ :flipdot:3-nein-10.gif?200 |}} +
-{{ :flipdot:8m.gif?200 |}} +
-{{ :flipdot:9-fauststern-4.gif?200 |}} +
-{{ :flipdot:42-herz-4.gif?200 |}} +
-{{ :flipdot:65-refugees-1.gif?200 |}} +
-{{ :flipdot:fist.gif?200 |}} +
-{{ :flipdot:equalpay.gif?200 |}} +
-{{ :flipdot:klit.gif?200 |}} +
-{{ :flipdot:lila-gif.gif?200 |}} +
-{{ :flipdot:lovesexhatesexism.gif?200 |}} +
-{{ :flipdot:metoo.aufschrei.gif?200 |}} +
-{{ :flipdot:neinheisstnein.gif?200 |}} +
-{{ :flipdot:nomeansno.gif?200 |}} +
-{{ :flipdot:slogan.gif?200 |}} +
-{{ :flipdot:smashpatriarchy-ani.gif?200 |}} +
-{{ :flipdot:spaceinvaders.gif?200 |}} +
-{{ :flipdot:stop.beschneidung.gif?200 |}} +
-{{ :flipdot:uterus-animation.gif?200 |}} +
-{{ :flipdot:wecananimateit.gif?200 |}} +
- +
- +
- +
- +
- +
- +
- +
- +
-===== Wand ===== +
- +
- +
-http://[2001:7f0:3003:235e:ba27:ebff:fee3:ff77]:8000/ +
- +
-Beliebiges Bild an Wand schicken. Es wird automatisch skaliert. Schwarz-Weiß Bilder erzeugen bessere Ergebnisse. Wenn es nicht gehtmal anderes V6-Prefix testen.  +
-  nc 2001:7f0:3003:235e:ba27:ebff:fee3:ff77 2323 < <file>  +
-   +
-Animiertes senden (noch sehr buggy): +
-<code> +
-#!/bin/bash +
-rm -rf output +
-mkdir output +
- +
-convert $1 output/$1.png +
- +
-for i in `ls -v output/*` +
-do +
- nc 2001:7f0:3003:235e:ba27:ebff:fee3:ff77 2323 < $i +
- sleep 0.2 +
-done +
- +
-rm -rf output +
-</code> +
- +
-===== Zeile ===== +
-Es gibt mehrere Möglichkeiten die Zeile anzusprechen: +
-  UDP: Wie alle Displays beherrscht auch die Zeile ein triviales UDP-Protokoll:  2001:7f0:3003:beef:ba27:ebff:fe89:4cd2 Port 2323 +
-  - In #ccc auf darkfasel: Alle Postsdie "Alarm" enthalten sowie Topic-Änderungen werden angezeigt. +
-  - <del>https://muc.pads.ccc.de/flipdot wird angezeigt (BETA)</del> Landet aktuell auf der Wand, nicht auf der Zeile +
  
 +einfach per ssh das gif in ~/gifs/active legen
  
-===== Statusdisplay =====+=== Schaufenster / Wand
  
-Zeigt den Clubstatus ankann (offiziell?) nicht direkt angesprochen werden.+Das Fenster ist ca. 210x215cm – damit braucht es dann 7x9also 63 Panele.
  
-====== Aktuelles ======+Web-UI: http://[2001:7f0:3003:beef:ba27:ebff:fee3:ff77]:8000/ 
 +== Change Log
  
   * **2013-10-20**:    * **2013-10-20**: 
Line 223: Line 112:
     * Ziel: Streaming eines (virtuellen) Framebuffers     * Ziel: Streaming eines (virtuellen) Framebuffers
  
-====== Einführung ======+ 
 + 
 +== Steuerplatine 
 +  * 10 8-Stufe Schieberegister (80 bit) [[http://www.nxp.com/documents/data_sheet/74HC_HCT4094.pdf|74HC_HCT4094]] 
 +    * Aufgeteilt in row + column register 
 +  * Normalbetrieb am orginal-'Tafelrechner': 23V (24V?!), 0.2A -> 0.5 Watt 
 +  * Einmal komplettes Durchschieben: 1.6A fuer ca. 2 Sekunden -> 74 Joule, 37 Watt 
 +    * FIXME: Wo kommt die Zahl her, gilt das für ein Modul, also eine Steuerplatine? 
 + 
 +== Pinbelegung 
 +Thx an x5444 von den Ingolstädern für das PIN-Layout! 
 + 
 +Das row register ist 24px lang. (effektiv werden beim chainen noch 4px fnord mitgeschickt) 
 +Das col register is 16px lang. 
 + 
 +^ 1  | ?1        ^  2 | GND      | 
 +^ 3  | ROW_DATA  ^  4 | GND     | 
 +^ 5  | STROBE    ^  6 | GND     | 
 +^ 7  | WHITE_OE  ^  8 | GND     | 
 +^ 9  | BLACK_OE  ^ 10 | GND     | 
 +^ 11 | COL_CLOCK ^ 12 | GND     | 
 +^ 13 | ROW_CLOCK ^ 14 | GND     | 
 +^ 15 | COL_DATA  ^ 16 | GND     | 
 +^ 17 | DO        ^ 18 | GND     | 
 +^ 19 | ?1        ^ 20 | ?2     | 
 + 
 +* ?1 == durchverbunden, kann man wohl am abschluss für nen rückkanal nutzen, so dass man die anzahl der segmente zählen kann 
 +* DO == Ausgang des zweiten nichtinvertierten Schieberegisters für die Spalten auf der input Seite bei Kaskadierung von Modulen 
 +* ?2 == ind ein wenig komisch, die sind jeweils ein bestimmter pegel (hab ich grad nicht im kopf) sobald an einer der steuerplatinen in der kette die matrix die tatsächliche display-einheit verbunden ist 
 + 
 + 
 +== Historie
  
 Ursprünglicher Standort über der A9 bei Fröttmaning: Ursprünglicher Standort über der A9 bei Fröttmaning:
Line 236: Line 156:
   * 54 x in den drei großen Displays fürs Schaufenster   * 54 x in den drei großen Displays fürs Schaufenster
   * 2 x im Minidisplay Hauptraum   * 2 x im Minidisplay Hauptraum
 +  * 24 x im mobilen Flipdot
  
-====== Verteilung ======+=== Verteilung
  
 70 Vergeben: 70 Vergeben:
Line 267: Line 188:
     * 2 x [[http://coredump.ch|coredump]]     * 2 x [[http://coredump.ch|coredump]]
  
-===== Requests =====+=== Requests
  
 Wir haben noch ca. 11 Panels zu vergeben, Hackerspaces werden bevorzugt. Die Plan-Spalte wird nur von Mitgliedern des Fliptdot-Vergabe-Kommitees geändert.  Wir haben noch ca. 11 Panels zu vergeben, Hackerspaces werden bevorzugt. Die Plan-Spalte wird nur von Mitgliedern des Fliptdot-Vergabe-Kommitees geändert. 
Line 282: Line 203:
 | 4        |                                     | FabLab Nürnberg: charlie ]ät[ fabfolk ]dod[ com                      | Abholung, Uebergabe auf Veranstaltung, etc  | Statusanzeige, Twitterwall und Veranstaltungsshowcase  | | 4        |                                     | FabLab Nürnberg: charlie ]ät[ fabfolk ]dod[ com                      | Abholung, Uebergabe auf Veranstaltung, etc  | Statusanzeige, Twitterwall und Veranstaltungsshowcase  |
 ^            ^ ~~=sum(range(1,0,col(),row()-1))~~  ^                                                                                                                                                                                                           Summe ||| ^            ^ ~~=sum(range(1,0,col(),row()-1))~~  ^                                                                                                                                                                                                           Summe |||
- 
- 
  
  
Line 291: Line 210:
  
  
-==== FAQ ====+== Archiv
  
-Fragen z.B. hier oder im [[:IRC]] stellen.+[[https://wiki.muc.ccc.de/flipdot:start?rev=1385812570#deprecated_krobin_und_sepi_s_vorschlag|krobin_und_sepi_s_vorschlag]]
  
-Ein Panel hat die Abmessungen 30x24x6cm und wiegt mit vier Haltern ca. 1,2 kg. Zwei Panels mit Rücken aneinander haben zusammen ca 9 anstatt 6 cm Tiefe. 
-====== Nomenklatur ====== 
-Um dem Chaos ausnahmsweise entgegen- und nicht zu-zuwirken legen wir hier feste Worte für die einfachere Kommunikation fest! 
  
-  * **Panel** == 1 Object voll mit Dots; besteht aus: Dot-Matrix mit 16 Zeilen und 20 Spalten. Hat hinten noch die Treiberplatine dran. 
-    * FIXME: Sollte man nicht lieber 16 Spalten × 20 Zeilen verwenden? Dann entspräche eine Modulzeile einem 16 Bit Wort, was auch die interne Aufteilung von üblichen Framebuffern entspricht. 
-    * Treiberplatine == nimmt seriell Daten entgegen und gibt dieses Parallel auf die Dot-Matrix eines Moduls. 
-    * Panelzeile == horizontal aggregierte Ansammlung von Dots, typischerweise 20 Dots 
-    * Panelspalte == vertikal aggregierte Ansammlung von Dots, typischerweise 16 Dots 
-    * Der Ursprung ist oben links (wenn man von vorne draufschaut) und mit X0Y0 beschriftet 
-  * **Assembly** == Ein bis mehrere Panel sind zu einem größeren Aggregat zusammengebaut worden und haben eine gemeinsame Steuerungseinheit. Im Club stehen drei Assemblys im Schaufenster rum. 
-  * **Display** == Ein Display besteht aus einer bis mehreren Assemblies und ist für den Betrachter eine zusammenhängende Installation. Z.B. die drei Assemblies im Clubschaufenster, eine Assembly die aus einer "Zeile" panels besteht und im Clubhauptraum den ganzen Raum umrundet. Eine Einpanelassembly die nur den Clubstatus anzeigt. 
-  * **Window** == Ein Rechteckiger bereich in einem Display. Diese Bereiche können als Resource an verschiedene Teilnehmer vergeben werden die darauf schreiben dürfen. 
  
-**ACHTUNG**: Eventuell ist im Rest der Wikiseite alles vertauscht. Das sollte später gefixt werden!+== Live interaction at rc3
  
-====== Steuerplatine ====== +See the flipdot in our rc3.world assembly in the couch area or at [[https://webex.muc.ccc.de/rc3lounge|RC3 lounge]] via Jitsi.
-  * 10 8-Stufe Schieberegister (80 bit) [[http://www.nxp.com/documents/data_sheet/74HC_HCT4094.pdf|74HC_HCT4094]] +
-    * Aufgeteilt in row + column register +
-  * Normalbetrieb am orginal-'Tafelrechner': 23V (24V?!), 0.2A -> 0.5 Watt +
-  * Einmal komplettes Durchschieben: 1.6A fuer ca. 2 Sekunden -> 74 Joule, 37 Watt +
-    * FIXME: Wo kommt die Zahl her, gilt das für ein Modul, also eine Steuerplatine?+
  
-===== Pinbelegung ===== +You can send own pixel data to the flipdot using IPv6 (onlyStill using legacy IP? Time to upgrade) UDP packets to the Host flip.y.nu port 2424.
-Thx an x5444 von den Ingolstädern für das PIN-Layout!+
  
-Das row register ist 24px lang(effektiv werden beim chainen noch 4px fnord mitgeschickt) +There are a few examples in our [[https://github.com/muccc/flipdots/tree/master/scripts|flipdot git]] but they need some tweaking for the resolution and the destination host.
-Das col register is 16px lang.+
  
-^ 1  | ?1        ^  2 | GND      | +For a quick start try out [[https://pla.y.nu/flipdot-gameoflife.tar|this archive]] containing an adapted version of the game of life script. Beware: it needs python2. Example use: python2 gameoflife.py random
-^ 3  | ROW_DATA  ^  4 | GND     | +
-^ 5  | STROBE    ^  6 | GND     | +
-^ 7  | WHITE_OE  ^  8 | GND     | +
-^ 9  | BLACK_OE  ^ 10 | GND     | +
-^ 11 | COL_CLOCK ^ 12 | GND     | +
-^ 13 | ROW_CLOCK ^ 14 | GND     | +
-^ 15 | COL_DATA  ^ 16 | GND     | +
-^ 17 | DO        ^ 18 | GND     | +
-^ 19 | ?1        ^ 20 | ?2     |+
  
-* ?1 == durchverbunden, kann man wohl am abschluss für nen rückkanal nutzen, so dass man die anzahl der segmente zählen kann +Unfortunately so far the animations won't stop when you send data (unlike our [[https://wiki.muc.ccc.de/acab|ACAB]]), so depending on the shown animations your frames interleave with the current display or are almost invisible... We are working on that.
-* DO == Ausgang des zweiten nichtinvertierten Schieberegisters für die Spalten auf der input Seite bei Kaskadierung von Modulen +
-* ?2 == ind ein wenig komisch, die sind jeweils ein bestimmter pegel (hab ich grad nicht im kopfsobald an einer der steuerplatinen in der kette die matrix die tatsächliche display-einheit verbunden ist+
  
-====== Schaufenster ====== 
- 
-Das Fenster ist ca. 210x215cm, die es zu füllen gilt. Damit braucht es dann 7x9, also 63 Panele. 
- 
- 
-====== Archiv ====== 
- 
-* [[https://wiki.muc.ccc.de/flipdot:start?rev=1385812570#deprecated_krobin_und_sepi_s_vorschlag|krobin_und_sepi_s_vorschlag]] 
  • flipdot/start.1557928729.txt.gz
  • Last modified: 2021/04/18 12:32
  • (external edit)