need help, developing driver for brother ql-550 label printer

Thomas Seiler thseiler at gmail.com
Wed Dec 14 16:08:29 PST 2005


Hi

and sorry if you receive his twice...

I hope to be in the right place to ask a few questions about
developing a driver for the Brother QL-500 / QL-550 label printer
series. If I am in the wrong place, then please ignore this email.

The Brother QL-5x0 is a 62mm wide thermal label printer with 300 DPI
that can print on precut labels or on continuous paper rolls. The 550 model
has also an automatic cutter. See here:
http://www.brother.co.uk/cms.cfm/s_page/55570/s_level/17300/s_product/QL550
For the moment, I am using the continuous paper rolls.

I am working on integrating support for the QL-550 Label Printer into
the rastertodymo driver, the protocol of this make of label printer
was reverse-engineered some time ago by  RenaudBompuis
(http://etc.nkadesign.com/Printers/QL550LabelPrinterProtocol) but
nobody has yet written a cups driver.

I have already modified rastertodymo.c so that it talks the protocol of the 
ql550.
It simply sends all the lines of the raster image to the printer, but only 
sending the
first 62mms of each line. I started also a ppd for the ql550 based on a copy 
of
dymo.ppd with adapted model number, names and resolution, but I have to 
admit
I dont understand this ppd thing.

With this I can print a document of size a4, like i.e. the CUPS test page 
and
the printer produces indeed a label with length of an a4 page and prints the
left-most 62mm of the page on the label. Once the label is printed, the
integrated cutter cuts it from the roll. Very nice.

BUT, if I try to print anything that is smaller than an a4 page, for
example an address label, the printed label is still as long as an a4 page 
is high.

The strange thing is that in the properties dialog, I can see and select the
page sizes of the modified ppd, they just don't have any effect, as far as I 
can tell.

As the rastertodymo only translates the raster information into the
proprietary protocol of the QL550, I believe that the problem happens
somewhere upstreams. So I added debug statements to see what happens, and
indeed a small label had the same amount of rows than an a4 page.

How do I tell the upstream filters that this printer does not support 
a4/letter
but 62mm x document-length continuous paper roll ?
How does one express the continuity in one dimension and the fixed width
in the other dimension in a ppd ?

I have seen the cutter yes / no directive for ppds. This is to tell that the
printer has a cutter. But how can I say If the cutter should be enabled
or disabled by default ? And how can I access this  setting inside the
rastertodymo process in order to send the right commands to the printer ?

Thanks and best regards,
Thomas Seiler

--
Excercise 17:
If the human brain was simple enough for us to understand we'd be so
simple we couldn't understand.
Prove this by induction. 






More information about the cups-devel mailing list