File: mtink.It.html

package info (click to toggle)
mtink 1.0.16-8
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 3,480 kB
  • ctags: 1,349
  • sloc: ansic: 19,263; sh: 1,008; python: 626; xml: 444; makefile: 75
file content (277 lines) | stat: -rw-r--r-- 16,451 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
                   
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
                   
  <meta name="author" content="Jean-Jacques">
  <title>mtink</title>
    
</head>
<body>
<h2>Mtink</h2>
     Mtink  un analizzatore di stato per le stampanti EPSON a getto d'inchiostro.<br>
<br>
     Con mtink  possibile mostrare la quantit d'inchiostro rimasto e lo stato della stampante.<br>
     Sono anche implementate altre operazioni, come <b>controllo ugelli</b>, <b>pulizia ugelli</b> e <b>allineamento testine</b>.<br>
<br>
     Alcune stampanti, come la <i>Stylus Color 480</i> e la <i>Stylus Color 580</i>
      richiedono una componente software per cambiare cartuccia. Mtink
  conosce i comandi per questo scopo e supporta queste stampanti.<br>
<br>
<h3>Requisiti</h3>
     Mtink necessita della libreria openMotif, Motif o Lesstif. Per la compilazione
  accertarsi che i pacchetti di sviluppo X ed uno dei suddetti tool sia installato (in ambiente di sviluppo e di esecuzione).<br>
<br>
     Mtink usa una comunicazione bidirezionale con la stampante.<br>
<br>
<h4>Linux</h4>
     Se si usa la porta parallela bisogna accertarsi che il kernel o i moduli (partport*) siano configurati correttamente. Per la famiglia di kernel 2.2 il parametro "CONFIG_PRINTER_READBACK" (file /usr/src/linux/.config) dev'essere configurato a 'y'.<br>
<br>
     Il modulo per la porta stampante USB ha un errore per i kernel 2.2 e 2.4.
Se si usa la porta USB bisogna usare un kernel pi recente o modificare il file
/usr/src/drivers/usb/printer.c.<br>
     Queste modifiche non sono complicate. Bisogna cambiare le linee seguenti :<br>
<br>
<pre>static ssize_t usblp_read(struct file *file, char *buffer, size_t count, loff_t *ppos)
{
    struct usblp *usblp = file-&gt;private_data;
....
    if ((usblp-&gt;readcount += count) == usblp-&gt;readurb.actual_length)
        usb_submit_urb(&amp;usblp-&gt;readurb);<br>&nbsp;&nbsp;&nbsp; return count;<br>}
</pre>
      to:<br>
<pre>static ssize_t usblp_read(struct file *file, char *buffer, size_t count, loff_t *ppos)
{<b><br>    </b>struct usblp *usblp = file-&gt;private_data;
....
    if ((usblp-&gt;readcount += count) == usblp-&gt;readurb.actual_length) <b><font color="#ff0000">{
          usblp-&gt;readcount = 0;
          usblp-&gt;readurb.dev = usblp-&gt;dev;</font></b>
          usb_submit_urb(&amp;usblp-&gt;readurb);<br>          return count;<br>    <b><font color="#ff0000">}</font></b>
}</pre>
     Le modifiche sono in lettere rosse in grassetto. <br>
<h4>Solaris</h4>
    Non possiedo una postazione Sparc che permetta una comunicazione bidirezionale
 con la stampante, e non sono in grado di testare mtink con Sparc Solaris.<br>
    Postazioni pi recenti sono dotate di una porta ecpp compliant e permettono
  una comunicazione bidirezionale. Nel caso si possieda una tale postazione ed una stampante EPSON
  a getto d'inchiostro, si prega di tenermi informato sui risultati ottenuti.<br>
<br>
<h3>Mtink ed il protocollo di comunicazione EPSON</h3>
    Un nuovo protocollo di comunicazione  stato creato da EPSON quando i modelli Stylus Color 
740 e Stylus Scan sono apparsi sul mercato. Questo protocollo (<b>D4</b>)  basato
 sul draft <b>IEEE 1284.4</b> 1.5 e permette una comunicazione su vari canali logici. Il vantaggio principale  che un programma pu inviare richieste o
 comandi particolari relativi al canale di <i>controllo </i> anche se la stampante 
occupata (stia effettuando una stampa).<br>
    Questo permette anche di condividere una porta per pi dispositivi (stampante e scanner).<br>
<br>
    L'implementazione del protocollo D4 sembra essere molto parziale per
stampanti pi vecchie, e non  neppure priva di errori<br>
    per quelle nuove, come la Stylus Photo 890 (la mia stampante EPSON).<br>
<br>
    Il protocollo <b>D4</b> richiede che la stampante conosca almeno una parte
 del linguaggio <b> EJL</b> (Epson Job Language). I comandi pi importanti sono <br>
 <i>Esci dalla modalit D4</i>, conosciuto da tutte le
stampanti che supportano il protocollo di comunicazione <b>D4</b> e <br>
     <i>Leggi l' ID</i> che dice alla stampante di riportare alcune
  informazioni (modello, designazione, linguaggio supportato).<br>
    Il comando <i>Leggi l' ID</i> non  apparentemente supportato dalla Stylus Scan
  2500 e probabilmente dalla&nbsp; Stylus Scan 2000 o dalla famiglia Stylus Cxxx<br>
     che usano <b>D4</b> in dipendenza <i>Leggi l'ID</i>.<br>
<br>
    La vecchia modalit di ottenere informazioni sullo stato della stampante era di usare
 i comandi EPSON<b>     REMOTI</b>. Questi comandi sono <br>
    implementati anche sulle nuove stampanti.<br>
<br>
    Mtink sa dei diversi protocolli, ma l'autore non conosce esattamente
  le possibilit di ogni stampante prodotta da EPSON.<br>
    Per questa mancanza di informazioni, qualche stampante potr non fare ci che mtink
  si aspetta, ad ogni modo le modifiche da apportare<br>
    possono essere realizzate facilmente.<br>
<br>
    La descrizione delle possibilit della stampante si trova all'inizio del file 
 model.c. I campi pi importanti sono il campo protocollo<br>
    ed il campo id. Il campo protocollo deve contenere una delle seguenti 
 voci:<br>
<ul>
  <li>PROT_OLD &nbsp;La stampante non sa nulla del protocollo D4.
    </li>
  <li>PROT_NEW &nbsp;La stampante ha un'implementazione minima del protocollo <b>D4</b>
     ,&nbsp;<i>Esci dalla modalit D4 </i> necessaria.</li>
  <li>PROT_D4 &nbsp; &nbsp; &nbsp; La stampante supporta il protocollo <b>D4</b>
  &nbsp;nelle sue linee principali.</li>
</ul>
    Se il dispositivo non risponde al comando <i>Leggi l'ID</i> (versioni <b>EJL</b> e 
 <b> D4</b>) vi saranno sicuramente problemi se questi comandi venissero 
 inviati alla stampante. L'interrogazione della stampante sar disabilitata se il campo id 
 contiene <i>False</i> invece di <i>True</i><br>
<pre>/*   name               colors <font color="#ff0000">prot</font>      state exch.  e.sep  cl sep <font color="#ff0000">reset</font>             <font color="#ff0000">id </font>  */<br>   { "Stylus C20SX",         4,<font color="#ff0000">PROT_D4</font>,  True, False, False, True,  PROT_D4,          <font color="#ff0000">True</font>, 3, 15, 2, 9, NULL },<br>   { "Stylus Color",         4,<font color="#ff0000">PROT_OLD</font>, True, False, False, False, PROT_OLD,         <font color="#ff0000">True</font>, 1,  7, 0, 0, NULL },<br>   { "Stylus Photo 750",     6,<font color="#ff0000">PROT_NEW</font>, True, False, False, False, PROT_NEW,         <font color="#ff0000">True</font>, 3, 15, 0, 0, NULL },<br>   { "Stylus Scan 2500",     4,<font color="#ff0000">PROT_D4</font>,  True, False, False, False, PROT_OLD|PROT_D4, <font color="#ff0000">False</font>,3, 15, 0, 0, NULL },<br><br></pre>
    Nei dati presi dal file model.c si pu notare che la <i>Stylus
  Scan 2500</i> non fornisce informazioni sulla sua identit, ma utilizza il
protocollo <b>    D4</b>. La &nbsp;<i>Stylus Photo 750</i> fa parte della prima
 generazione di stampanti con <b>D4</b>: la comunicazione sar OK
solo se il comando <i>Esci dalla modait D4</i> viene dato prima del corrispondente comando <b>REMOTE</b>.  La Stylus Color  una stampante molto vecchia, e non sa
nulla del protocollo <b> D4</b>. Infine la <i>Stylus C20SX</i>
usa il protocollo D4 (il vecchio <i>Leggi l'ID</i> non funziona).<br>
<br>
    La correzione dei campi indicati permette di rendere mtink funzionante
 con la tua stampante. Per favore, informami sui tuoi successi e modifiche al
 file model.c.<br>
<br>
 Vedi anche la documentazione gimp-print riguardante i comandi:<br>
<a href="http://gimp-print.sourceforge.net">http://gimp-print.sourceforge.net</a>
<br><br>
<h3>Come funziona mtink</h3>
    La prima volta che si lancia mtink verranno richiesti il file dispositivo 
 e la stampante. Fatto questo, vengono caricati i dati relativi alla stampante 
 ed il campo <i>id</i>  posto a <i>True</i>, mtink tenter di rilevare se
 i dati siano corretti e caricher i dati per un'altra stampante se la scelta
 non era giusta. Infine, la configurazione (porta e modello di stampante) viene
scritta nel file<b> $HOME/.mtink</b>.<br>
    Invocando nuovamente mtink il file di configurazione viene letto e viene
 effettuato un controllo per la stampante collegata se  dichiarata <br>
<i>"id able"</i>.<br>
    La cancellazione del file <b>$HOME/.mtink</b> <i> ripristiner</i> mtink al comportamento iniziale.<br>
<br>
    Mtink  diviso in due parti, che comunicano tramite memoria condivisa.
 Ci permette di effettuare aggiornamenti per la parte X del programma ed evitare malfunzionamenti
  del <i>codice relativo alla stampante</i> dovuto all'ambiente X (timer, interruzioni,...).<br>
<br>
    La parte X non  costruita come un comune programma X. Mtink contiene vari 
cicli di eventi X per rendere il job pi facile. Ogni sottofinestra ha un proprio ciclo 
e la funzione di ritorno, se chiamata, ritorna solo se il ciclo della sottofinestra ritorna.
Questo permette il ritorno dei<br>
    valori al chiamante. La chiamata dell'interfaccia stampante usa un protocollo 
simile.<br>
<h3>Internazionalizzazione</h3>
    Mtink pu essere internazionalizzato molto facilmente. Attualmente mtink conosce
 l'inglese, il francese, l'italiano, il tedesco e qualche parola di turco. E' possibile
 aggiungere una lingua modificando il file Mtink.res e copiandolo nella tua home
directory come EpsonUtil.<br>
    Il nome della lingua  preso dalle variabili LANG, 
 LC_ALL and LC_MESSAGE. Se, per esempio, LANG contiene 
 fr_FR, mtink si aspetta di trovare il file EpsonUtil.Fr 
 (prima lettera maiuscola, e seconda come specificato nella variabile 
d'ambiente).<br>
    Se il file non viene trovato, il default usato  l'inglese.<br>

<br>
 Esempio:<br>
<pre>!!! Font di default per l'Inglese e le lingue europee<br>EpsonUtil*title_LB.fontList:&nbsp;&nbsp;&nbsp; *-helvetica-*-r-normal--14-*-*-*-*-*-iso8859-1<br>EpsonUtil*fontList:&nbsp;&nbsp;&nbsp;    *-helvetica-medium-r-normal-*-12-*-*-*-*-*-iso8859-1<br>!!! set the font required for turkish<br>EpsonUtil.Tr*title_LB.fontList: *-helvetica-*-r-normal--14-*-*-*-*-*-iso8859-9<br>EpsonUtil.Tr*fontList:    *-helvetica-medium-r-normal-*-12-*-*-*-*-*-iso8859-9<br>....<br>!!! Il valore di default (inglese)<br>EpsonUtil*previous_PB.labelString:    Previous<br>!!! ed i&nbsp;testi per il tedesco, francese, italiano e turco<br>EpsonUtil.De*previous_PB.labelString: Zur&uuml;ck<br>EpsonUtil.Fr*previous_PB.labelString: Pr&eacute;c&eacute;dent<br>EpsonUtil.It*previous_PB.labelString: Precedente<br>EpsonUtil.Tr*previous_PB.labelString: Geri<br></pre>
 Se volessi effettuare una traduzione, mandami il tuo lavoro. Inserisci anche
il tuo nome, indirizzo e-mail, url, come preferisci.<br>
<br>

<h3>Le opzioni a riga di comando</h3>
Passare opzioni a mtink di solito non  necessario. Se mtink dev'essere lanciato su un computer diverso rispetto a queloo a cui  connessa la stampante
bisogna indicare il nome del display, per es. <i>mtink -display computerName:0</i>.<br>
In questo caso non  necessario che un server X sia attivato sul server della stampante.<br>
Si pu anche lanciare mtink tramite ssh o rsh, se disponibili:<br>
<i>ssh serverName /home/jj/mtink/mtink -display workStationName:0</i><br>
E' anche possibile indicare quale lingua si debba usare<br>
<i>ssh serverName LANG=fr /home/jj/mtink/mtink -display workStationName:0</i><br>
configura mtink per l'uso di testo in lingua francese.<br>
Si tenga presente che non tutti i browser funzioneranno come previsto.
<br>
La rilevazione automatica della stampante pu essere disabilitata lanciando mtink con l'opzione <i>-noAutoDetect</i>.
<br>
<br>

<h3>La finestra principale</h3>
<img src="mtink.It.gif" alt="mtink main window" align="Top">
<br>
<br>
    In cima alla finestra compare il modello di stampante rilevato
 o inserito al momento della configurazione, in questo caso la Stylus Scan 2500.<br>
    La quantit d'inchiostro rimasto viene indicata sia in forma grafica 
che testuale.<br>
    Lo stato della stampante pu dare alcune informazioni sullo stato interno
  della stampante, ad es. stampa in corso (la stampante  occupata).<br>
    I pulsanti sollo alla linea di Stato permettono la scelta dell'operazione da effettuare,
  l'ultimo pulsante non  attivo se la stampante non supporta (richiede) la
  funzione per il cambio della cartuccia.<br>
    I pulsanti in fondo permettono di vedere &nbsp;alcune informazioni su 
mtink (Informazioni) o di terminare (Esci). Il pulsante Aiuto permette di vedere 
questo documento.<br>
<br>
<h3>La finestra di configurazione</h3>
<img src="configure.It.gif" alt="mtink configuration window" align="Top">
<br>
<br>
Si pu scegliere quale browser utilizzare per visualizzare il manuale,
ed indicare ad mtink di effettuare un rilevamento automatico al lancio del programma (default).<br>
<br>
<b>Scelta di un browser:</b><br>
Si pu indicare il nome del browser nel campo appropriato o cliccare su <b>[ ... ]</b>
e selezionare il browser tramite la finestra di selezione file.<br>
<br>
Mtink conosce le opzioni dei comandi in linea richieste da alcuni browser (Netscape, Mozilla
e galeon) e li lancia appropriatamente. Anche altri browser, come Konqueror, Gnome-help-browser
o Opera, non necessitano di particolari opzioni e possono essere usati.<br>
<br>
Alcuni browser non funzionano se il corrispondente desktop non  usato. La scelta
migliore in questo caso  un browser come Netsvcape, Mozilla, Galeon o Opera, che sono
indipendenti da un desktop particolare, come KDE (un OS sopra il OS che ha a tutt'oggi
un grosso errore, non ci sono chermate blu).<br><br>
<b>Rilevamento automatico:</b><br>
Il pulsante di controllo <i>Permetti rilevamento automatico</i> Pu essere attivato. In Modalit
rilevamento automatico, mtink cercher di identificare la stampante connessa. Se la stampante
risultasse essere un modello vecchio, come la Stylus Color 400 / 600, ... e non venisse riconosciuta
dopo il primo tentativo, mtink tenter di inviare un comando per la stampa
di alcuni caratteri. Un vantaggio ulteriore della disabilitazione del rilevamento automatico  che
l'avvio sar un po' pi veloce, ma se si connettesse un altra stampante EPSON
al computer vi potrebbero essere problemi.
<br>
Dopo aver modificato la configurazione  necessario salvarla. I dati vengono scritti nel file $HOME/.mtinkrc.

<br>
<h3>Allineamento testine</h3>
Mtink di allineare le testine. Questa caratteristica dipende dal modello di stampante
e l'aspetto della finestra pu essere leggermente diverso da modello a modello.<br>
Alcune stampanti, come le Stylus Color 480 e 580 richiedono allineamenti separati per
la testina del nero e del colore. Per questo motivo, la finestra principale mostrer pulsanti per
la selezione della testina. Un'altra differenza   che il numero di esempi di stampa
varia (8 o 15). Il numero di passi pu anche variare da modello a modello di stampante.<br>
Non posso garantire che il codice inviato
alla stampante sia sempre valido: se si usa questo tool bisogna considerare questo rischio.<br><br>
<table>
<tr align="left " valign="top">
 <td><img src="align1.It.gif" alt="mtink alignment first window" border=0></td>
 <td><img src="align2.It.gif" alt="mtink alignment wait window" border=0></td>
</tr>
<tr align="left " valign="top">
 <td>mtink: prima finestra per l'allineamento</td>
 <td>mtink: finestra principale per l'allineamento</td>
</tr>
<tr align="left " valign="top">
<tr align="left " valign="top">
 <td><img src="align3.It.gif" alt="mtink alignment setup window" border=0></td>
 <td><img src="align4.It.gif" alt="mtink alignment last window" border=0></td>
</tr>
 <td>mtink: finestra di configurazione per l'allineamento</td>
 <td>mtink: ultima finestra per l'allineamento</td>
</tr>
</table>
<br>
La seconda e terza finestra mostrate sopra verranno mostrate fino a tre volte
(dipende dal modello di stampante).<br>

<h3>Errori</h3>
    Probabilmente un sacco.<br>
<br>
<h3>To do</h3>
<ul>
  <li>Documentazione migliore.</li>
  <li>Traduzioni della documentazione.</li>
  <li>Sperimentazioni con pi stampanti.</li>
  <li>....</li>
</ul>
<h3>Autore</h3>
    Jean-Jacques Sarton<br>
<a href="mailto:jj.sarton@t-online.de"> jj.sarton@t-online.de</a>
<br>
<a href="http://xwtools.automatix.de"> Xwtools Home Page</a>
<br>
<br>
</body>
</html>