<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>how_to_add_a_printer</title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <meta name="author" content="Jean-Jacques Sarton"> </head> <body bgcolor="White"> <h3>Adding a new printer</h3> The file <b>printer.desc.bldin</b> which must reside under the directory /<i>usr/lib/xw</i>, <i>/usr/local/lib/xw</i> or <i>/opt/mtink</i> describe the printer capabilities. This file can be used as template for creating the description file <b>printer.desc</b> which will be read by the status monitors mtink and ttink.<br> <br> If the printer.desc file is found, the remaining directories are not scanned.<br> The scan order is <i>/usr/lib/mtink</i> <i>/usr/local/lib/mtink</i>, <i>/opt/mtink</i><br> The description find into the printer.desc file prevail.<br><br> <h4>FILE printer.desc:</h4> This file contain blocks which describe the printer capability.<br> <br> A block look like this:<br> <br> <pre>.PRINTER .name: Stylus C20SX .colorsNb: 4 .mainProt: D4 .stateFlg: True .exchangeFlg: False .exchangeSeparateFlg: False .cleanSeparateFlg: True .resetProt: D4 .alignProt: OLD D4 .idFlg: True .passesNb: 3 .choicesNb: 15 .colorPassesNb: 2 .colorChoicesNb: 9 .alignFunctionName: - .END </pre> <br> <table cellpadding="2" cellspacing="2" border="0" width="100%"> <tr> <td valign="top"><b>.PRINTER</b> </td> <td valign="top" colspan=2>declare that a new description begins. The following words up to the <b>.END</b> word, but not including it, describe the capabilities for the printer. </td> <tr> <td> </td> <td valign="top" colspan=3>Please don't begin a line with a dot '<b>.</b>', this character tell the ttink/mtink as well as the help program rdPrtDesc that a description line begins. </td> </tr> <tr> <td valign="top"><b>.name:</b></td> <td valign="top" colspan=2>must contain the name of the printer as returned by the printer name query.</td> </tr> <td valign="top"><b>.colorsNb:</b></td> <td valign="top" colspan=2>tell ttink/mtink how many inks are used.</td> </tr> <td> </td> <td valign="top" colspan=2>The designer ending with<b> Prot:</b> tell the programs which protocol is to be used.</td> <tr> <td> </td> <td valign="top" colspan=2> Newer printers know a new protocol which is named the <b>D4</b> protocol. This new protocol allows to communicate with the printer via independant c This allows for example to query the remaining ink quantity or the printer status while printing.<br> The <b>D4</b> protocol includes also a set of commands, so that most of the old commands has a replacement. Unfortunately not all printers offer the full set of <b>D4</b> commands.<br> Due to this, and also for compatibility to drivers which don't know the <b> D4</b> protocol, it is possible to tell the printer that the <b>D4</b> protocol must be disabled.<br> According to this the following combinations values are possible: </td> </tr> <tr> <td> </td> <td valign="top"><i>OLD</i></td> <td valign="top">The printer don't know anythings about <b>D4</b>.</td> </tr> <tr> <td> </td> <td valign="top"><i>OLD </i><i>D4</i></td> <td valign="top">Use non <b>D4</b> command, but send this via the <b>D4</b> protocol.</td> </tr> <tr> <td> </td> <td valign="top"><i>OLD</i> <i>EXD4</i></td> <td valign="top">Use the normal commands and set the printer into the compatibility mode.</td> </tr> <tr> <td> </td> <td valign="top"><i>D4</i></td> <td valign="top">The printer know a special <b>D4</b> command, use this.</td> </tr> <tr> <td valign="top"><b>.mainProt:</b></td> <td valign="top" colspan=2>declare the default mode.</td> </tr> <tr> <td valign="top"><b>.resetProt:</b></td> <td valign="top" colspan=2>declare the protocol type top use for the reset command. <b>D4</b> printers may all know this command but not perform the operation as needed (e.g. Stylus Color 980 or the Stylus Scan ...).</td> </tr> <tr> <td valign="top"><b>.alignProt:</b></td> <td valign="top" colspan=2>This command seem not to have a <i>D4</i> counterpart and the classic command will alltime be used. Here you may declare only <i>D4</i> (<i>OLD</i> is implied).</td> </tr> <tr> </tr> <td> </td> <td> </td> <td> </td> <tr> <td> </td> <td valign="top" colspan=2>Words ending with <b>Flg:</b> tell if the printer has a particular capability. The assigned value may be <i>True</i> or <i>False.</i></td> </tr> <tr> <td valign="top"><b>.stateFlg:</b></td> <td valign="top" colspan=2>Tell if the printer is able to return if it is busy, working,...</td> </tr> <tr> <td valign="top"><b>.cleanSeparateFlg</b></td> <td valign="top" colspan=2>A few printers allow to clean separately the nozzle. For those printers declare<i> True</i>.</td> </tr> <tr> <td valign="top"><b>.idFlg:</b></td> <td valign="top" colspan=2>The Stylus Scan 2500 and probably the Stylus Scan 2000 don't return an identification. For such model this flag must be set to <i>False</i>.</td> </tr> <tr> <td valign="top"><b>.exchangeFlg:</b></td> <td valign="top" colspan=2>A few printers (Stylus Color 480/580) don't allows to do this via button on the printer.This must be done by software. For such printers set the value to <i>True</i>.</td> </tr> <tr> <td valign="top"><b>.exchangeSeparateFlg:</b> </td> <td valign="top" colspan=2>Both above mentionned printers need a selection of the cartridge which is to be exchanged. Set the value to <i>True</i>. </td> </tr> </tr> <td> </td> <td> </td> <td> </td> <tr> <tr> <td> </td> <td valign="top" colspan="2">The remaining designer ending with <b> Nb:</b> </td> </tr> <tr> <td valign="top"><b>.passesNb:</b><br> <b>.ChoicesNb:</b><br> <b>.colorPassesNb:</b><br> <b>.colorChoicesNb:</b></td> <td valign="top"colspan=2>are for the aligment procedure. The first two entries tell how many passes are needed, and how many choices are allowed. These values can be seen from the windows or Mac OS driver delivered by EPSON. If the printer don't allow an adjustement for the color head, set the value for <b>.colorChoicesNb</b> to <i>0</i>. </td> </tr> <tr> <td valign="top"><b>.alignFunctionName</b></td> <td valign="top" colspan=2>was introduced specially for the Stylus Photo 820. This printer don't have a buildin code which print the desired pattern. The pattern must be supplied by ttink/mtink. For the Stylus Photo 820, enter <i>Pattern820</i>, for others set the value to "<i>-</i> ".</td> </tr> </table> <br> <b>The following apply only for the source distribution:</b><br> <h4>Installing a printer.desc file</h4> If you want to modify the description for one of the given printers, extract the data with rdPrtDesc and modify the value for the wanted file, then copy the resulting printer.desc file to one of the above mentioned directory. <br> <h4> Compiling a new printer into ttink/mtink:</h4> Generate your printer.desc file under the directory .../mtink/utils and call <br> <br> rdPrtDesc -c > ../mainSrc/model.c<br> <br> The file for actual printers and the new one is then automatically generated.<br> <br> return then to the mtink directory and call make and make install.<br> </body> </html>