Anleitung zum Programm
PrtInfo

Erstellt 26.02.2005 T. Milius
Geändert 28.01.2007 T. Milius


Inhaltsverzeichnis

Übersicht

PrtInfo erlaubt es einfache Aktionen auf Druckern, wie z.B. Reinigen der Druckköpfe, Wechseln der Patronen etc. durchzuführen bzw. sich Tintenstände anzuzeigen. Dies geschieht unabhängig vom eigentlichen Druckprozeß.

Installation

Vorraussetzungen

Um PrtInfo installieren zu können, werden ca. 1MB Plattenplatz und 300KB RAM, sowie RISC OS 3.5 oder höher benötigt. USB-Drucker werden nur in der Castle USB-Version unterstützt.

Drucker mit Parallelanschluß sind z.Z. nur eingeschränkt ansteuerbar, da sowohl RISC OS als auch dieses Programm weder den Nibble noch den ECP-Modus unterstützen.

Durchführen der Installation

Kopieren Sie !PrtInfo an eine beliebige Stelle ihrer Festplatte.

Ggf. müssen die Dateien "<PrtInfo$Dir>.Resources.TypeAlias" und "<PrtInfo$Dir>.Resources.PrtAlias" für den eigenen Drucker angepaßt werden. Sofern Sie Drucker nicht über USB automatisch identifizieren, muß wahrscheinlich zumindest "PrtAlias" angepaßt werden, da das Programm sonst nicht weiß, um welchen Druckertyp es sich handelt. "PrtAlias" kann in jedem Texteditor bearbeitet werden. Fügen Sie einfach eine Zeile ans Ende der Datei ein, die am Anfang mit dem Namen ihres Druckers beginnt, so wie er auf der linken Seite der Programmleiste angezeigt wird (Groß- und Kleinschreibung beachten!). Nach einem Komma tragen Sie den Namen des Herstellers gefolgt von einem weiteren Komma und der Druckertypenbezeichnung ein. Auch hier gilt es Groß- und Kleinschreibung zu beachten. Wichtig ist es, daß alle Leerzeichen in Namen durch einen "_" ersetzt werden.

Die Namen des Herstellers bzw. den Druckertyp entnehmen Sie soweit vorhanden den Dateinanem im "<PrtInfo$Dir>.Resources.Commands"-Verzeichnis, bzw. in den darunter liegenden Verzeichnissen. Sind Hersteller und Drucker nicht vorhanden, so sind Sie in ihrer Namensgebung frei. Sollte sich allerdings kein Druckermodell finden, dessen Resourcen Sie zur Steuerung ihres Druckers nutzen können, müssen Sie sich die Dateien selber zusammen bauen. Näheres hierzu finden Sie unter den technischen Details. Finden Sie jedoch ein Druckermodell, das auf ihres paßt (notfalls durch Ausprobieren), so können Sie seine Resourcen für ihren Drucker mitverwenden, indem Sie in "TypeAlias" eine neue Zeile einfügen, in der am Anfang Hersteller und Druckertyp, wie in der "PrtAlias" stehen. Danach folgenden Hersteller und Druckertyp des Druckers, dessen Resourcen genutzt werden sollen. Dies läßt sich auch bei USB-Druckern anwenden, deren Typ automatisch bestimmt wurde, für die aber keine Resourcen vorliegen.

In "<PrtInfo$Dir>.Resources.PrtAlias" sollten Sie nur dann Einträge vornehmen, wenn es sich um RISC OS Standarddruckernamen handelt. Sofern Sie die Drucker umbenannt haben, z.B. um unterschiedliche Papierqualitäten zu nutzen, sollten Sie ihre Einträge in der Datei "<Choices$Dir>.PrtInfo.PrtAlias" vornehmen. Diese Datei wird bei Programmaktualisierungen im Gegensatz zu "<PrtInfo$Dir>.Resources.PrtAlias" nicht überschrieben und vor dieser ausgewertet.

Netzwerk

PrtInfo unterstützt gesharedte Drucker. Dazu werden bestimmte Operationen über Netzwerk an das PrtInfo auf dem Rechner weitergereicht, an dem der Drucker angeschlossen ist. Die Ergebnisse laufen ebenfalls über Netzwerk wieder an das aufrufende PrtInfo zurück.

Die meisten Nutzer betreiben nur einen RISC OS Rechner und sharen deshalb keine Drucker zwischen mehreren RISC OS Maschinen. Das Netzwerk ist deshalb nach der Installation von PrtInfo ausgeschaltet. Wenn Sie PrtInfo in einem RISC OS Rechnernetzwerk mit gesharedten Druckern betreiben wollen, müssen Sie deshalb auf allen PrtInfo-Installationen einige Einstellungen ändern. Diese Einstellungen befinden sich in der "<ChoicesWrite$Dir>.PrtInfo.Settings" Datei.

Zur Kommunikation mit seinen Pedanten auf anderen RISC OS Maschinen benutzt PrtInfo den Netzwerkport 9152. Dieser läßt sich netzwerkweit einheitlich über den Parameter "Port" ändern. Um im Fehlerfall die Probleme besser eingrenzen zu können, läßt sich über den Parameter "NetworkTraceFile" eine Protokolldatei festlegen. Um unerwünschte Zugriffe von aussen abzublocken gibt es zwei Parameter namens "Network" und "Netmask", von denen "Network" gleichzeitig festlegt, ob das Netzwerk aktiv ist, oder nicht. Jede ankommende Anfrage wird mit "Netmask" UND verknüpft. Das Ergebnis daraus muß mit der UND-Verknüpfung aus "Network" und "Netmask" übereinstimmen, sonst wird die Anfrage nicht akzeptiert. "Network" sollte in den relevanten Stellen mit der IP ihres Rechners übereinstimmen, die relevanten Stellen werden über "Netmask" bestimmt, indem die entsprechenden Bits 1 gesetzt werden. Ist "Network" 0.0.0.0 oder nicht angegeben, so wird der PrtInfo Netzwerkzugriff deaktiviert.

PrtInfo im Netzwerkbetrieb verbraucht etwas Rechenleistung (auf meinem Iyonix ca. 1%). Ohne Setzen der Netzwerkmaske besteht, wie bei jedem Server ohne Firewall ohne unbeschränkte Zugriffsrechte, die Gefahr von externen Hackversuchen, sofern man sich parallel zum Internet verbindet. Aufgrund bestimmter Einschränkungen von !Printers legt PrtInfo im Serverbetrieb ein seltsames Verhalten an den Tag. Wenn es zum ersten Mal eine Anfrage für einen gesharedten Printer bekommt, für den bis dahin auf dem Rechner selbst kein PrtInfo-Statusfenster geöffnet wurde. Es aktiviert kurzzeitig nacheinander alle über !Printers bereitgestellten Drucker. Am Ende ist dann aber wieder der usprünglich gewählte Drucker aktiviert. Verwenden Sie deshalb niemals die Option "Detect Errors" für den Parallelanschluß im Netzwerkbetrieb. Liegt wirklich ein Fehler auf dem Drucker vor, so schlägt die Aktivierung fehl und erzeugt eine Fehlermeldungsbox auf dem Server. Kann eine Verbindung zu einem Rechner nicht aufgebaut werden, so merkt sich PrtInfo dies, und man erhält kein Statusfenster für den entsprechenden Drucker bis PrtInfo neu gestartet wird.

Bedienungsanleitung

Starten Sie !PrtInfo. Auf der rechten Seite der Programmleiste erscheint danach das Programmsymbol.

Wenn Sie die MENU-Maustaste über dem !PrtInfo-Symbol drücken, erhalten Sie ein kleines Menü, was ihnen das Anzeigen eines Copyrights und dieser Hilfe sowie das Beenden des Programms erlaubt. Zusätzlich können Sie sie wählen, ob für neue Statusfenster eine TRACE-Protokolldatei erzeugt werden soll, und das Verzeichnis mit den erzeugten Dateien oder das Verzeichnis mit ihren lokalen Einstellungen anzeigen. Die TRACE Protokolldateien erlauben eine genaue Problemanalyse und sind bei der Treiberentwicklung sehr hilfreich. Im normalen Betrieb werden sie nicht benötigt. Die Dateien mit den lokalen Einstellugen werden in der Installation näher beschrieben

Beim Beenden des Programms werden alle zugehörigen Statusfenster geschlossen. Im schlimmsten Fall, wenn Sie gerade irgendeine komplexe Aktion auf einem Drucker durchführen, lassen Sie den Drucker dann in einem undefinierten Zustand. Meist hat dies aber keine negativen Folgen.

Wählen Sie einen Drucker auf der linken Seite der Programmleiste aus und drücken danach die SELECT-Maustaste über dem !PrtInfo-Symbol.

Es öffnet sich, wenn möglich, ein Statusfenster für den entsprechenden Drucker oder Sie erhalten eine Fehlermeldung.

In der oberen Fensterleiste zeigt das Statusfenster den Namen des Druckers zu dem es gehört. Entfernen Sie den Drucker, so wird das Statusfenster nicht automatisch geschlossen. Weitere Aktionen auf dem Drucker führen zu Fehlermeldungen.

Ganz oben im Fenster finden sich drei Zustandsanzeigen. Darunter befindet sich eine Zeile zum Anzeigen von Meldungen. Unter dieser kommt ein Bereich in der Text und Grafik je nach Aktion dargestellt werden. Hier finden sie z.B. umfangreichere Erläuterungen zu bestimmten Aktionen oder Tintenstandsanzeigen. Der darunter liegende Teil des Fenster wird nur aktivert, wenn innerhalb einer Aktion etwas von Ihnen erwartet wird. Entsprechend sind dann die Köpfe mit Werten gefüllt und in der darüberliegenden Zeile wird ggf. eine kurze Frage/Erläuterung dargestellt.

Sobald Sie über dem Statusfenster den MENU-Mausknopf drücken, öffnet sich ein Menue, das ihnen die Aktionen zeigt, die sie auf ihrem Drucker durchführen können bzw. die Auswahl eines Tintenpartonenherstellers/der Reinigungsstufe erlaubt. Aktionen, die für den Drucker nicht definiert sind, können nicht gewählt werden und werden hellgrau dargestellt. Führen Sie gerade eine Aktion aus, so werden alle Aktionen gesperrt, bis die aktuelle Aktion abgeschlossen ist. Manche Aktionen können für verschiedene Patronen bzw. Druckköpfe ausgeführt werden. Diese Aktionen haben dann ein Untermenue, in dem die entsprechenden Patronen bzw. Druckköpfe aufgeführt sind. Wählen Sie eine Aktion, indem Sie auf den entsprechenden Menue- bzw. Untermenueeintrag mit dem SELECT-Mausknopf drücken. Die entprechende Aktion wird dann ausgeführt und verändert ggf. die Anzeige im Statusfenster.

Eine Ausnahme im Menue bildet der Eintrag "Patronenhersteller". In seinen Untermenue werden die für den Drucker (d..h für das Original und nicht für den ggf. vorhandenen Aliastyp!) verfügbaren Hersteller von Druckerpatronen angezeigt, sofern sie in der Tintenpatronendatenbank hinterlegt wurden. Der Hersteller für den in Diagrammen ggf. detailiertere Informationen zu seinen Patronen für diesen Drucker angezeigt werden sollen, ist durch ein Häckchen markiert und kann durch Drücken des SELECT-Mausknopfes geändert werden. Die Diagramme ändern ihre Information allerdings nicht sofort sondern erst bei erneutem Aufbau.

Bei einigen Druckern kann die Reinigung der Druckköpfe auf mehrere Arten durchgeführt werden. Die Art, wie die nächste Reinigung durchgeführt werden soll, können Sie im Untermenue des Eintrags "Reinigungststufen" durch Drücken des SELECT-Mausknopfes über der gewünschten Stufe festlegen.

Während einer Aktion kann es vorkommen, daß Sie bestimmte Dinge manuell durchführen müssen, bevor die Aktion weiter geführt werden kann, oder eine bestimmte Auswahl treffen müssen. In diesem Fall werden die Knöpfe in unteren Teil des Statusfenster aktviert, bis Sie einen der Knöpfe drücken, was die Aktion entsprechend des gewählten Knopfes fortsetzt.

Als Aktionen sind maximal möglich:

Nutzungsrechte

Dieses Programm ist geistiges Eigentum von

Thomas Milius Stade, Germany (Kontakte)

Das Programm darf frei kopiert werden.

Das Programm ist Open Source, d.h. die Quellcodes oder Teile davon dürfen auch in anderen Freeware-Programmen verwendet werden, sofern diese nicht der GPL oder ähnlichen Lizenzen unterliegen, die die geistigen Eigentumsrechte des Herstellers an dem Programm einschränken. Nach Genehmigung des Herstellers darf der Quellcode oder Teile davon auch in anderen kommerziellen Programmen genutzt werden.

Der Hersteller des Programms haftet nicht für irgendwelche Schäden und Folgeschäden, die aus der Nutzung des Programms entstehen, wie z.B. Datenverlust oder Druckerbeschädigung. Für Hinweise auf Fehler ist der Hersteller jederzeit dankbar und wird versuchen sie schnellstmöglichst zu beseitigen. Eine Pflicht zur kostenlosen Nachbesserung ergibt sich daraus jedoch nicht.

Historie

Version 1.00

Ausgabetermin:

Preis:

Bemerkung:

Behobene Fehler:

Neue Fehler/Schwächen:

Neue Eigenschaften:

Version 1.01

Ausgabetermin:

Bemerkung:

Neue Eigenschaften:

Version 1.02

Ausgabetermin:

Bemerkung:

Behobene Fehler:

Neue Fehler/Schwächen:

Neue Eigenschaften:

Version 1.03

Ausgabetermin:

Bemerkung:

Behobene Fehler:

Neue Eigenschaften:

Version 1.04

Ausgabetermin:

Bemerkung:

Behobene Fehler:

Version 1.05

Ausgabetermin:

Bemerkung:

Behobene Fehler:

Version 1.06

Ausgabetermin:

Bemerkung:

Behobene Fehler:

Neue Fehler/Schwächen:

Neue Eigenschaften:

Version 1.07

Ausgabetermin:

Behobene Fehler:

Neue Eigenschaften:

Version 1.08

Ausgabetermin:

Behobene Fehler:

Neue Eigenschaften:

Kontakte

Hersteller:
Thomas Milius
Tilsiter Straße 2
21680 Stade
Deutschland

Telefon:
04141/65005
Werktags 19:00 bis 21:30 und an Wochenenden

E-mail:
Thomas-Milius@t-online.de

Homepage:
http://www.thomas-milius.homepage.t-online.de/

Zukunft

Grundsätzlich sind keine großen Änderungen oder Erweiterungen an dem Programm geplant. Allerdings werden wenn vorhanden neue Resourcen für weitere Druckermodelle ständig eingebunden. Bei Bedarf können weitere Kopf-/Patronenschemata bzw. Farben eingebaut werden.

Evt. wird irgendwann nochmal das Nibble Mode bzw. ECP-Protokoll für die verbesserte Ansteuerung des Parallelports eingebaut.

Technische Details

Verzeichnisstrukturen

Alle vom Nutzer zu verändernden Dateien stehen im "<PrtInfo$Dir>.Resources"-Verzeichnis. Außerdem gibt es im "<ChoicesWrite$Dir>.PrtInfo"-Verzeichnis noch eine lokale Version von PrtAlias, sowie die Settings Datei mit den Netzwerkeinstellungen.

Name Typ Beschreibung
CtrInfo Textdatei Enthält die Partonendatenbank und wird separat beschrieben.
PrtAlias Textdatei Enthält die Zuordnung von RISC OS Druckernamen zu Druckertyp und wird in der Installation näher beschrieben.
TypeAlias Textdatei Enthält die Zuordnung von Druckertyp zu einem ähnlichen Drucker dessen Resourcen mitbenutzt werden können und wird in der Installation näher beschrieben.
Settings Textdatei Enthält die Netzwerkeinstellungen und wird in der Installation näher beschrieben.
Commands Verzeichnis Enthält pro Druckerhersteller ein Unterverzeichnis, in denen sich wiederum die Command-Dateien für die jeweiligen Drucker befinden. Diese Struktur wird vom Programm vorausgesetzt.
Cartridges Verzeichnis Enthält pro Druckerhersteller ein Unterverzeichnis, in denen sich wiederum die DRAW-Dateien zur Anzeige der Partonenfüllstände für die jeweiligen Drucker befinden. Diese Struktur hängt von den Pfadangaben in den Funktionen ab, d.h. sie ist nur eine Empfehlung.
Tutorials Verzeichnis Enthält pro Druckerhersteller ein Unterverzeichnis, in denen sich in Unterverzeichnissen wiederum die DRAW-Dateien zur Anzeige von Anleitungen für die jeweiligen Drucker befinden. Anleitungen können aber auch auf Herstellerebene abgelegt sein. Wenn die Anleitungen Text enthalten, so sollte ihr Dateiname mit der Nummer des zugehörigen Territories enden (Ausnahme 1=UK). Diese Struktur hängt von den Pfadangaben in den Funktionen ab, d.h. sie ist nur eine Empfehlung.
Warnings Verzeichnis Enthält pro Druckerhersteller ein Unterverzeichnis, in denen sich in Unterverzeichnissen wiederum die DRAW-Dateien zur Anzeige von Warnungen für die jeweiligen Drucker befinden. Warnungen können aber auch auf Herstellerebene abgelegt sein. Wenn die Warnungen Text enthalten so sollte ihr Dateiname mit der Nummer des zugehörigen Territories enden (Ausnahme 1=UK). Diese Struktur hängt von den Pfadangaben in den Funktionen ab, d.h. sie ist nur eine Empfehlung.

Die Patronendatenbank

Die Patronendatenbank ist in der Textdatei "<PrtInfo$Dir>.Resources.CtrInfo" abgelegt. Jede Zeile der Datei enthält die Typenbezeichnung und eine Bemerkung für eine bestimmte Patrone eines bestimmten Patronenherstellers für einen bestimmten Drucker eines bestimmten Druckerherstellers in einer bestimmten Sprache.

Der Druckerhersteller und der Druckertyp müssen mit den sonst verwendeten Begriffen (keine Leerzeichen, Groß- und Kleinschreibung beachten!) übereinstimmen. Sie beziehen sich immer auf den Druckertyp selbst und nicht auf einen evt. verwendetem Alias-Typ. Die Patrone wird durch eine hexadezimale Cartridge-Nummer angegeben. Der Name des Patronenherstellers kann beliebig geschrieben werden, allerdings muß er für alle Patronen gleich sein. Als Sprache ist die RISC OS Territory Nummer zu verwenden (1 für UK!). Die Einträge sind sprachbezogen, da zum Einen die Bemerkungen sonst nicht für alle lesbar sind. Zum anderen kann es aber auch sein, daß Patronen in anderen Gebieten der Erde gar nicht von dem Hersteller angeboten werden, oder aber unter einer anderen Bezeichnung. Eine Besonderheit stellt die Territory Nummer 0 da, die RISC OS nicht verwendet. Ein solcher Eintrag wird in allen Territories angezeigt.

Über Sinn und Unsinn der Partonendatenbank kann man diskutieren. Ich hielt es für eine interessante Ergänzung, die es bei Anzeige des Patronenstandes, oder wo sonst immer gewünscht, erlaubt die Typenbezeichnung für Patronen mit dazustellen. Die Bemerkung kann man für Hinweise verwenden, die es erlauben, zu entscheiden, ob eine Partone für den jeweiligen Einsatzzweck geeignet ist oder nicht.

Aktionen

Auf einem Drucker können diverse Aktionen durchgeführt werden. Eine Aktion besteht aus diversen Funktionen. Die Menge der möglichen Aktionen variiert von Drucker zu Drucker. Alle für einen Drucker möglichen Aktionen sind in der entsprechenden Command-Datei abgelegt.

Jede Aktion beginnt mit einem bestimmten Begriff gefolgt von einem ":". Manchmal folgt dahinter noch ein Parameter, der z.B. Schnittstellenangaben enthält, da einige Aktionen je nach vom Drucker verwendeter Schnittstelle unterschiedlich ausgeführt werden müssen oder gar nicht vorhanden sind. Einige Aktionen müssen für verschiedene Bereiche leicht abweichend mehrfach vorhanden sein. Dies ist z.B. bei den Tintenpatronenwechseln der Fall. Bei den Begriffen und Parametern sind Groß- und Kleinschreibung zu beachten.

In den folgenden Zeilen stehen optional diverse Funktionen, die zur Durchführung der Aktion notwending sind. Jede Zeile enthält genau eine Funktion mit Parametern. Das Ende einer Aktion wird durch den Begriff "End" in einer Zeile markiert.

In der Datei sind außerdem Optionen enthalten. Das Format ist analog dem der Aktionen, außer daß eine Option immer Parameter hat und nicht von irgendwelchen Funktionen oder einem "End" gefolgt wird.

Tag Parameter Beschreibung
GetCartridgeInfo Ermittelt die Tintenstände der einzelnen Patronen.
ChangeCartridge Hexadezimale Nummer der Cartridge, für die diese Aktion gilt. Leitet den Austausch einer Partone ein.
CleanHead Hexadezimale Nummer des Kopfes (analog Cartridge), für den diese Aktion gilt. Säubert den Druckkopf.
Cleaning Levels Hexadezimale Nummer den möglichen Reinigungsstufen entsprechend. Legt fest, welche Reinigungsstufen gewählt werden können. Bit 0 entspricht Reinigungsstufe 1 usw.. Ist diese Option nicht angegeben, so wird automatisch Reinigungsstufe 1 unterstellt.
GetStatus
  • USB
  • Parallel
  • Else
Ermittelt, ob ein Fehler vorliegt, Papier eingelegt und der Drucker aktiviert ist. Hierfür gibt es je nach Schnittstelle genormte Verfahren zur Ermittlung dieser Zustände, die fest im Programm verdrahtet sind (USB und Parallel). Diese können aber durch zusätzliche Funktionen bei Bedarf ergänzt werden.
ResetPrinter
  • USB
  • Parallel
  • Else
Setzt den Drucker in den Zustand nach dem Einschalten zurück. Hierfür gibt es je nach Schnittstelle genormte Verfahren, die fest im Programm verdrahtet sind (USB und Parallel). Diese können aber durch zusätzliche Funktionen bei Bedarf ergänzt werden.
CalibrateHead Hexadezimale Nummer des Kopfes (analog Cartridge), für den diese Aktion gilt. Justiert einen Druckkopf.
PrintTestpattern Druckt ein Muster zum Test der Düsen.
ChangeHead Hexadezimale Nummer des Kopfes (analog Cartridge), für den diese Aktion gilt. Leitet einen Druckkopfaustausch ein.
Switchoff Schaltet den Drucker aus.
Init Wird beim Öffnen des Statusfensters ausgeführt.
Procedure Hexadezimale Nummer der Prozedur (maximal 32). Beliebig verwendbare Unterroutine. Parameterübergabe erfolgt bei Bedarf über die freien Variablen.

Die zulässigen Cartridgenummern sind im Folgenden näher erläutert.

Farbschemata

Den Farben entsprechen Menueeinträge, sowie verschiedene Variablen. Es gibt folgende Farben:

Hexwert Farbe
0x00 Schwarz
0x01 Zyan
0x02 Magenta
0x03 Gelb
0x10 Grau
0x11 Helles Zyan
0x12 Helles Magenta
0x13 Hellgelb

Patronenschemata

Jede Farbe kann als einzelne Patrone vorkommen. Zusätzlich gibt es noch ein paar weitere Patronen, die mehrere Farben zusammenfassen. Die Patronennummern werden auch zur Kopfbeschreibung genutzt. Beides steht naturgemäß in einem gewissen Zusammenhang, kann aber voneinander abweichen. Wie bei den Farben gibt es für die Patronen Menueinträge und Variablen. Es gibt folgende Patronen:

Hexwert Patronenart
0x30 Alles zusammen
0x31 Alle Schwarztöne
0x32 Alle Farbtöne

Funktionen

Bei den Funktionen und Variablenangaben ist auf Groß- und Kleinschreibung zu achten. Jede Funktion steht in einer speraten Zeile in einer Command-Datei.

Tag Parameter Beschreibung
cgorel Zahl_der_zu_springenden_Zeilen[ Quellvariable_1 ...[ Quellvariable_n]] # Logischer_RISC_OS_Eval-Ausdruck Wenn der angegebene RISC OS Eval Ausdruck wahr wird, wird die angegebene Anzahl Programmzeilen übersprungen (maximal bis zum nächsten "End"). Rückwärtsspringen durch Angabe negativer Werte ist ebenfalls erlaubt. Der RISC OS Eval Ausdruck kann auf RISC OS Systemvariablen zugreifen, z.B. Territory. Auf die PrtInfo-Variablen kann zugegriffen werden, in dem man sie vor dem Ausdruck deklariert und im Ausdruck als Parameter (%0 ... %9) referenziert.
send Sequenz_im_Druckerdefinitionsdatei_Format Sendet ein Kommando an den Drucker. Die Sequenz wird durch Angabe einzelner Bytes entweder als Nummer oder als durch "" eingeschlossene Buchstaben festgelegt. Die Nummern bzw. Buchstaben müssen durch "," getrennt werden.
get hexadezimales_Endezeichen Liest eine Ausgabe vom Drucker (sofern möglich) in die Variable RESPONSE. 0-Werte werden dabei durch Leerzeichen ersetzt. Die Zeichenkette wird am Endezeichen terminiert. Wenn als Endezeichen ein negativer Wert angegeben wird, so signalisiert dies, daß der Drucker die Länge der Zeichenkette am Anfang mitüberträgt (als Big Endian und in soviel Bytes, wie als Absolutbetrag des negativen Wertes angegeben). Diese Bytes werden nicht in RESPONSE übertragen.
show Darstellungsposition Dateiname Lädt eine DRAW-Datei zur Darstellung an die angegebene Position in der Darstellungsreihenfolge. Eine evt. vorhandene Datei an der Position wird überschrieben. Beim Laden werden entsprechend markierte Objekte skaliert bzw. mit dem Text aus den angegebenen PrtInfo-Variablen gefüllt.
hide Darstellungsposition [upwards] Löscht die DRAW-Datei an der angegeben Darstellungsposition und bei Angabe von "upwards" auch alle nachfolgenden DRAW-Dateien.
ask [Beschriftung_Knopf_1] [Beschriftung_Knopf_2] [Beschriftung_Knopf_3] Stoppt die Aktionsausführung und aktualisiert das Statusfenster entsprechend den Variablen. Nach Drücken eines der Knöpfe wird die Aktionsausführung fortgesetzt. Die Knopfbeschriftungen können vorab per Programmcode gefüllt werden.
split Quellvariable Zielvariable_1[ Zielvariable_2 ...[ Zielvariable_n]] # scanf_term Zerlegt den Inhalt der als Quelle angegebenen PrtInfo-Textvariablen gemäß des angegebenen scanf-Term und weist die einzelnen Teile den angebenen Zielvariablen zu.
eval Zielvariable[ Quellvariable_1 ...[ Quellvariable_n]] # RISC_OS_Eval_Ausdruck Wertet den Ausdruck aus und legt das Ergebnis in der angegebenen PrtInfo-Variablen ab. Der RISC OS Eval-Ausdruck kann auf RISC OS Systemvariablen zugreifen, z.B. Territory. Auf die PrtInfo-Variablen kann zugegriffen werden, in dem man sie vor dem Ausdruck deklariert und im Ausdruck als Parameter (%0 ... %9) referenziert.
system [ Quellvariable_1 ...[ Quellvariable_n]] # RISC_OS_Command Führt ein RISC OS Kommando aus. Auf die PrtInfo-Variablen kann zugegriffen werden, in dem man sie vor dem Kommando deklariert und im Kommando als Parameter (%0 ... %9) referenziert.
action Aktionsname:[ Parameter] Führt eine andere Aktion als Unterprogramm aus, dies kann neben den üblichen Druckeraktionen auch eines der "Procedure"-Unterprogramme sein. Bei verbindungstypabhängigen Aktionen darf die Verbindungsart nicht mit angegeben werden.

Variablen

Variablen geben Programmen die nötige Flexibilität. Bestimmte Variablen sind an bestimmte Elemente im Statusfenster bzw. Funktionen gekoppelt.

Textvariablen können alle Zeichen außer dem Zeichen 0 enthalten. Werden Textvariablen an einen RISC OS eval Ausdruck bzw. ein RISC OS Kommando übergeben, so werden Kontrollzeichen und "<" in <> geklammerte Sonderzeichen übersetzt. Aus einem " wird "". CR und NL werden durch Leerzeichen ersetzt. Damit ist sichergestellt, daß die Zeichen die Auswertung nicht beeinflussen.

Variable Arrayindizes Typ Beschreibung
COL_ hexadezimale Cartridgeangabe Integer Programme sollten hier den Füllstand der Patronen bezogen auf den Wert 1024 als Maximalstand (=100%) ablegen. Wird die Variable in DRAW-Dateien als Gruppenname verwendet, so werden die zugehörigen Objekte entsprechend skaliert.
CTRMAN 49 Zeichen Patronenhersteller. Wird vom Benutzer gewählt.
CTRTYP_ hexadezimale Cartridgeangabe 19 Zeichen Wird von PrtInfo gemäß der Partonentabelle und dem gewählten Patronenhersteller gefüllt und enthält die Patronenbezeichnung.
RMRK_ hexadezimale Cartridgeangabe 39 Zeichen Wird vom PrtInfo gemäß der Partonentabelle und dem gewählten Patronenhersteller gefüllt und enthält einen Hinweis.
MESSAGE 49 Zeichen Wird im Feld unter den drei Optionskästchen im Statusfenster dargestellt.
DIALOGMESSAGE 49 Zeichen Wird im Feld über den drei Knöpfen im Statusfenster im Dialogmodus dargestellt und danach automatisch gelöscht.
DIALOGBUTTON_ 0-2 19 Zeichen

Im Dialogmodus wird der Inhalt dieser Felder in den drei Knöpfen am unteren Ende des Statusfensters dargestellt und danach automatisch gelöscht. Die Variablen können mit der Funktion "ask" geladen werden, oder auch per Evaluation gesetzt werden. Die Zuordnung zu den Knöpfen geschieht nach folgendem Schema:

Maximaler Arraywert ungleich leer Arrayelement Zuordnung linker Knopf Arrayelement Zuordnung mittlerer Knopf Arrayelement Zuordnung rechter Knopf
0
1 0
2 0 1
3 0 1 2

DIALOGRESULT Integer

Enthält nach Beendigung des Dialogmodus den Knopf, der zur Beendigung des Dialogmodus gedrückt wurde. Bei Aufruf des Dialogmodus wird der Wert auf 0 gesetzt.

  • linker Knopf setzt Bit 0
  • mittlerer Knopf setzt Bit 1
  • rechter Knopf setzt Bit 2
RESPONSE 255 Zeichen

Nimmt das Resultat der Funktion "get", d.h. Rückmeldungen vom Drucker auf. 0-Werte werden dabei durch Leerzeichen ersetzt.

MANUFACTURER 49 Zeichen Druckerhersteller, nicht eine evt. vorhandene Alias-Zuordnung. Wird von PrtInfo gesetzt.
PRINTERTYPE 49 Zeichen Druckertyp, nicht eine evt. vorhandene Alias-Zuordnung. Wird von PrtInfo gesetzt.
INTERFACE 255 Zeichen

Enthält die Schnittstelle, die der Drucker nutzt. Mögliche Werte sind:

  • Arbitrary
  • Parallel
  • USB

Wird von PrtInfo gesetzt.

PROTOCOL 255 Zeichen

Enthält das Protokoll, das die Druckerschnittstelle nutzt. Mögliche Werte sind:

  • Leer, wenn beliebige Ein- und Ausgabe möglich.
  • Output, wenn nur Ausgabe
  • Nibble, bei Parallel
  • ECP, bei Parallel

Wird von PrtInfo gesetzt.

CLEANINGLEVEL Integer 1-6 Enthält die gewünschte Reinigungsstufe. Der Treiber wählt anhand dieser Information die entsprechenden Steuersequenzen. Ist keine Auswahl zwischen verschiedenen Stufen möglich, so enthält die Variable den Wert 1.
ERROR Integer

Die Aktion "GetStatus" legt hier bei USB oder Parallel-Schnittstelle den Standarddruckerzustand ab. Der Wert kann auch durch Funktionen geändert werden. Die Bits sind den Zustandsanzeigen im Statusfenster zugeordnet.

Bit
3 Fehler
4 Aktiv
5 Papier
TEXT_ 0-3 255 Zeichen Textvariablen zur freien Verwendung durch die Programme.
INT_ 0-3 Integer Integervariablen zur freien Verwendung durch die Programme.

DRAW-Dateien

Zur Veranschaulichung können in den einzelnen Aktionen über die "show"-Funktion DRAW-Dateien im Statusfenster dargestellt werden. Bis zu 10 solcher Dateien können im Statusfenster übereinander gelegt werden. Anwendungsmöglichenkeiten sind z.B. die schematische Darstellung von manuell am Drucker durchzuführenden Arbeiten oder die Darstellung von Patronenfüllständen.

Beim Laden wird die Datei auf Gruppen untersucht. Sind diese Gruppen benannt, so wird untersucht, ob der Gruppenname einer PrtInfo-Variablen entspricht. Wenn ja, dann geschieht Folgendes. Jeder Text innerhalb der Gruppe wird mit dem Inhalt der Variable gefüllt. Integervariablen werden konvertiert. Beginnt ein Gruppenname mit "SC_" gefolgt von einer Orientierung und nach einem "_" vom Namen einer Integervariable so werden alle Pfad-Objekte innerhalb der Gruppe skaliert. Ein Integerwert von von 1024 entspricht 100%, d.h. die Objekte werden in Originalgröße dargestellt. Die Skalierungen werden auf jedem Pfad separat durchgeführt. Die Orientierung besteht aus zwei Buchstaben. Der erste bezieht sich auf die X-Koordinaten und der zweite auf die Y-Koordinaten des Pfades. Als Orientierungen sind folgende Werte zulässig:

Buchstabe Skalierungsbeschreibung
P Als Bezugspunkt der Skalierung wird die rechte bzw. obere Ecke der Boundingbox verwendet.
N Als Bezugspunkt der Skalierung wird die linke bzw. untere Ecke der Boundingbox verwendet.
M Als Bezugspunkt der Skalierung wird die Mitte der Boundingbox verwendet.
K Die Objekte werden in dieser Richtung nicht skaliert.

Die DRAW-Dateien selbst werden 1:1 im Statusfenster dargestellt. Die Zeichnungen müssen also am linken unteren Rand liegen. Man kann sich bzgl. der Abmasse grob behelfen, in dem man das DRAW-Fenster beim Entwurf über ein Statusfenster schiebt. Man beachte, daß DRAW-Dateien von Natur aus einen transparenten Hintergrund besitzen. Was sehr nützlich ist, da man sie so mühelos überlagern kann. Dies kann z.B. zur Einblendung von Warnhinweisen in der Patronenfüllzustandsanzeige nutzen, wenn die Patronen einen bestimmten Tintenstand unterschritten haben. Auch ist es möglich, eine Anleitung zum Partonenwechsel zu erzeugen, bei der die unterste Anzeigeebene einen Drucker ohne Deckel und ohne Patronen zeigt. Der Deckel bzw. die Patronen werden dann bei Bedarf per Überlagerung eingeblendet.

Das Benennen von Gruppen in DRAW-Dateien ist meines Wissens nach in !Draw nicht möglich. !Artworks erlaubt zwar das Benennen von solchen Gruppen, speichert diese Information aber nicht beim DRAW-Export, wie übrigens die von Artworks erzeugten DRAW-Dateien in Verwendung mit dem RISC OS DRAW-Modul zu den letzten großen Abenteuern unserer Zeit gehören. Ich weiß nicht, was es ist, aber es fährt das Redraw-Handling gegen die Wand. So kann man Gruppennamen letztlich erstellen, indem man die DRAW-Datei in einen besseren Texteditor, wie !Zap oder !StrongEd lädt und die 12 Leerzeichen jeder Gruppe entsprechend überschreibt. Rein theoretisch kann man so auch die Gruppe auf ein Objekt beschränken, dies ist aber ein zeimlicher Aufwand, so daß man jedem Objekt, das als Gruppe genutzt werden soll, ein passendes unsichtbares Dummy-Objekt mitgeben sollte.

Sonstiges

Moderne Tintenstrahldrucker werden kostenoptimiert hergestellt. Der in alten Modellen noch vorhandene Papierendesensor entfällt deshalb ersatzlos. Man bekommt deshalb immer erst mit, daß kein Papier im Drucker ist, nachdem man den Druckauftrag gestartet hat und nicht wie es sinnvoll gewesen wäre, schon vorher.

Die meisten Modelle der Firma Canon verzichten darauf im Drucker mitzuschreiben, wieviel Tinte schon aus einer Patrone verbraucht wurde. Dafür hat Canon einen echten Messsensor, der unterhalb einer bestimmten Füllmenge signalisiert, ob die Patrone bald leer ist. Canon liefert unter Windows zwar ebenfalls kontinuierliche Füllstandanzeigen, diese werden aber direkt durch den Druckertreiber verwaltet und sind deshalb auf anderen Maschinen nicht zugänglich. Betreibt man solche Drucker über Umschalter an mehreren Rechnern, ist die Windows-Anzeige wahrscheinlich prinzipbedingt falsch. EPSON hingegen verwaltet die Tintenstände druckerintern, allerdings wohl hauptsächlich dazu, um die Kunden vom preiswerten Befüllen gebrauchten Patronen abzuhalten. Die entsprechenden Kommandos zum Zurücksetzen der Tintenstandseinheiten sind jedenfalls nicht dokumentiert. Konsequenterweise haben die EPSON-Drucker kostenoptimiert keine absoluten Tintenstandssenoren.