Re: [Printing-user-general] Successful uniprint driver for Sipix A6 Photoprinter

Till Kamppeter <[email protected]> Mon, 14 Aug 2006 14:19:52 +0200
Newsgroups gmane.linux.printing.general
Organization LinuxPrinting.org
Message-ID <[email protected]>
Thanks for your contribution.

I have added the printer and the driver to linuxprinting.org now:

http://www.linuxprinting.org/show_printer.cgi?recnum=SiPix-Pocket_Printer_A6
http://www.linuxprinting.org/show_driver.cgi?driver=sipixa6.upp

Please test the PPD file and the CUPS URI. If something does not work
for you, a correction is appreciated, as I do not have this printer and
so I could not test.

The "psutils" package and the "echo" command with "-e" and "-n" options
are needed to use the PPD file.

   Till

Mark Small wrote:
> Hi everybody,
> 
> After playing around on and off for the last month, I am now successfully 
> printing on my Sipix A6 pocket printer.  It is a serial printer meant for 
> laptops and PDAs and is dirt cheap on ebay these days because of poor driver 
> support on newer versions of Windows, palm and Wince.  
> 
> I was able to hack together a uniprint driver after I found that it uses a 
> subset of the escp command language.  
> 
> First step is to set the proper serial port parameters:
> 
> # stty -F /dev/ttyS1 115200 crtscts cs8 -cstopb -parenb
> 
> Your serial port may be ttyS0
> 
> First I have to resize the postscript document down to A6.
> 
> # psresize -w10.5cm -h 14.8cm -Pletter old.ps new.ps
> 
> Then I send it through ghostscript:
> 
> gs @sipixa6.upp -sPAPERSIZE=a6 -sOutputFile=new.bin new.ps -c quit
> 
> Then I send the binary file to the printer:
> 
> # cat new.bin > /dev/ttyS1
> 
> gs doesn't always put a final cr/lf pair at the end of the binary file, so I 
> made a 2 byte file with a cr/lf pair.  So instead I could do:
> 
> # cat new.bin fileend.bin > /dev/ttyS1
> 
> Here is my uniprint driver.  It has to be in the gs search path.  I put it 
> in /use/share/gs-esp/8.15/lib/
> 
> # cat /usr/share/gs-esp/8.15/lib/sipixa6.upp
> 
> -supModel="SiPix A6 Pocket Printer"
> -sDEVICE=uniprint
> -dNOPAUSE
> -dSAFER
> -dupColorModel=/DeviceGray
> -dupRendering=/ErrorDiffusion
> -dupOutputFormat=/Epson
> -r360x360
> -dupMargins="{ 20 0 20 0}"
> -dupWhiteTransfer="{
> 1.0         0.0
> }"
> -dupOutputPins=48
> -dupWeaveYPasses=1
> -dupFormatXabsolute
> -dupBeginPageCommand="<
> 1b40 0d
> 
>>"
> 
> -dupEndPageCommand"<0d 0a>"
> -dupEndJobCommand"<0a 0a 0a>"
> -dupAbortCommand="(\033\100\15\12\12\12    Printout-Aborted\15\12\12\12)"
> -dupSetLineFeedCommand="<1b2b>"
> -dupWriteComponentCommands="{(\033*\111)}"
> 
> Feel free to give this a try.