Betrieb eines Epson DM-D106 Displays
Intro
Auf dieser Seite will ich versuchen die Informationen zusammenzutragen, die mir zu dem oben genannten Kassendisplay von Epson vorliegen.
Bei dem Display handelt es sich um eine Vakuumfluoreszenzanzeige wie sie bei vielen Supermarktkassen oder Apotheken als Anzeige für die Kunden eingesetzt wird. Es besitzt 2 Zeilen mit je 20 Zeichen.
Das Display selbst wird per RS232 mit 9600 Baud, 8 Databits, No Parity und 1 Stopbit angesprochen und will mit 24Volt versorgt werden.
Es versteht einige typische Escape-Codes sowie einige Display-spezifische. Mir sind noch nicht alle bekannt, viele kann man per Mitsniffen rausbekommen oder durch längliche Internetsuche.
Dipschalter
Mittels Dipschaltern auf der Rückseite könnte wohl die Baudrate eingestellt werden, allerdings ignoriert mein Display dies. Interessant ist Dipschalter 8, dieser aktiviert das Durchlaufen eines Selbsttests nach dem Einschalten des Displays.
Befehle
Das Display versteht eine ganze Reihe von Escapesequenzen um diverse Kommandos auszuführen. Eine unvollständige Liste findet sich hier:
Display Reset/Init | 0x1b, 0x40 | |
Cursor on/off | 0x1f, 0x43, XX | XX: 0=off, 1=on |
Blink command: | 0x1f, 0x45, XX | XX: 0=on bis 0xff=off |
Cursor mode | ||
Overwrite | 0x1f, 0x01 | |
Vertical Scroll | 0x1f, 0x02 | |
Horizontal Scroll | 0x1f, 0x03 | |
Clear Screen, Home | 0x0c | |
Uhrzeit anzeigen und setzen | ||
Uhrzeit setzen | 0x1F, 0x54, H, M | H: Stunden, M: Minuten |
Uhrzeit anzeigen | 0x1F, 0x55 | Zeit muss vorher gesetzt werden. |
Beispiele
Das Display wird an der Uni im Rahmen unseres Kassensystems eingesetzt. Dabei ist zum einen ein kleines C-Tool entstanden, welches dann von einem python script abgelöst wurde.
Das Projekt findet man hier: k4ever.someserver.de
Das C-Tool (deprecated) ist hier, das python script findet sich als extra Klasse hier.