Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

147 lines (115 sloc) 4.916 kb
{{AchtungKasten1|title=Offline|msg=Durch die Abschaltung der [[Blackbox]] und in Absprache mit [[Benutzer:Felicitus|Felicitus]] wurde Pingie Pie temporär abgeschaltet.}}
{{ProjektInfoBox
|name = Pingie Pie
|status = experimental
|image = Ping-Plus.jpg
|description = Textanzeige für !ping <text>
|author = [[Benutzer:Felicitus|Felicitus]], [[Benutzer:Drahti|drahti]], [[Benutzer:SEC|sECuRE]]
|username =
|version = 1.0
|update =
|platform = ATMEGA168
|license = GPL
|download =
}}
Der Pingie Pie aka. Ping+ ist eine Erweiterung für den [[Ping]], welcher einen Text anzeigt, der nach dem !ping-Kommando im IRC geschrieben wird.
Benutzung im IRC:
<pre>
!ping Wer ist im Raum?
</pre>
Ein Video zum Ping+ gibt's auf [http://www.youtube.com/watch?v=47Umq2Ar7kc youtube].
== Implementation ==
[[Image:Ping-plus-implementation.png]]
=== Hardware ===
Die Implementation besteht aus dem [[V-USB Proto Board]], einer 85x7 Pixel LED-Anzeige sowie einer Treiberplatine.
Das LED-Panel bekommt seinen Strom von einem ausgedienten D-Link-Netzteil, welches 3A bei 5V liefern kann. Das LED-Panel zieht je nach Ansteuerung zwischen 50mA und 1A. Deshalb wird das LED-Panel durch den [[NPM 2000]] bei Bedarf angeschalten und nach einer noch zu definierenden Zeit wieder abgeschalten. Das V-USB Proto Board wird über USB dauerhaft gespeist.
=== Software (Controller) ===
Auf dem V-USB Proto Board kommt eine kleine [https://github.com/raumzeitlabor/ping-plus-avr Firmware] zum Einsatz, die folgende Funktionen über Control Messages unterstützt:
{| class="wikitable" valign = "top"
!Funktion
!bRequest
!wValue
!wIndex
|-
|Pixel setzen
|2
|x-Koordinate
|y-Koordinate
|-
|Pixel löschen
|3
|x-Koordinate
|y-Koordinate
|-
|Einzelnes Zeichen in den Offscreen-Buffer übertragen
|4
| -
|ASCII-Code (32-127)
|-
|Offscreen-Buffer in den Main Buffer kopieren
|5
| -
| -
|-
|Offscreen-Buffer leeren
|10
| -
| -
|-
|Aktuelle Zeile nach oben wegscrollen
|20
| -
| -
|-
|Wartezeit am Zeilenende/Zeilenanfang in Zyklen
|25
|Zyklen (0-255)
| -
|-
|Scrolldelay
|26
|Delay (0-255)
| -
|}
Da Control Messages nicht besonders schnell sind und durch das permanente Neu-Aufbauen des Displays nicht ständig nach USB-Messages gepollt werden kann, werden die Zeichen zuerst in einen Offscreen-Buffer geschrieben (bRequest 4). Ist die Übertragung der Nachrichten komplett, kann der Offscreen-Buffer in den sichtbaren Main Buffer kopiert werden (bRequest 5).
Ist die Zeile länger als das Display anzeigen kann, scrollt es von Anfang bis Ende und wieder zurück. Die Scrollgeschwindigkeit und die Wartezeit am Anfang/Ende einer Zeile kann definiert werden.
Wenn sich jemand dazu berufen fühlt, kann er gerne die Firmware umschreiben, sodaß sie über etwas anderes als Control Messages arbeitet.
=== Gebührenzähler ===
[[Datei:Pingie Pie Gebührenzähler.jpg|thumb|right|Gebührenzähler]]
Es ist ein Gebührenzähler installiert, welcher bei jedem Ping eine Einheit abrechnet. Installationsdatum 25.06.2012.
=== Pong+ ===
Der Pong+ ist eine Erweiterung, mit der man mittels Grobhandtaster eine Antwort ins IRC senden kann. Der Pong+ kann nur dann verwendet werden, wenn ein Ping aktiv ist.
Die geplante Funktionsweise:
* Den Taster kurz drücken wechselt zwischen verschiedenen vordefinierten Antworten
* Den Taster lang drücken schickt die Antwort ins IRC ab
Es soll ein Easteregg geben ;)
=== Software ===
Die Implementation besteht aus 2 Programmen:
* Ein [https://github.com/raumzeitlabor/ping-plus-host/blob/master/pingplus.py Python-Script], welches mittels pyusb und libusb die USB-Mikrokontrollerfunktionen hostseitig anbietet und als CLI-Script implementiert ist
* Ein kleiner [https://github.com/raumzeitlabor/ping-plus-host/blob/master/index.php Webservice], an welchen neue Zeilen aus dem IRC gepostet werden können
== Limitations ==
* UTF-8 nur mit Aufwand möglich.
== Status ==
* Unterstützt jetzt auch ISO-8859-15 - danke an [[Benutzer:pennylane|pennylane]].
* Die Hardware ist soweit komplett und aufgehängt
* Es muß noch ein Stromkabel vom NPM zum Ping+-Board gelegt werden (derzeit hängt das Netzteil direkt an ner Steckdose)
* Der Mikrokontroller-Code muß beschönigt werden
* ???
* Profit!
== Pingie Pie Großoffensive ==
=== Aufbauorte ===
* Das große LCD-Display wandert über die Tafel
* Das bisherige Pingie Pie wandert in die E-Ecke
* Eine Hälfte des Fahrzielanzeigers kommt ins FabLab
* Die andere Hälfte des Fahrzielanzeigers kommt in die Werkstatt
=== Plugins ===
* Die Anzeigen sollen Plugins unterstützen
** Flederrattie wünscht sich eine Anzeige, wie lange es bis zum nächsten Chaos-Event dauert
** Zeitanzeige
** Lustige Sprüche
** Anzeige des Chats
** Zufällige Quotes der RZL-ML
** Esst mehr Eis/Popcorn/Zuckerwatte und drinkt mehr Slush-Anzeigen (inkl. Alarm oder sowas)
= Unterseiten =
<splist />
[[Kategorie:Projekt]]
Jump to Line
Something went wrong with that request. Please try again.