Readme for Pegg 0.14a
---------------------

	Pegg 0.14a - A small printing program for the
	Casio "EGG" KP-C10/C50/KL-P1000 label Printer.

	Copyright (c) 2003,2004 Daniel Amkreutz, <daniel.amkreutz@tu-harburg.de>

        IMPORTANT NOTICE:

	* This software was designed using data made available by and is released
          with the permission of CASIO COMPUTER CO., LTD.
        * CASIO COMPUTER Co., LTD. assumes no responsibility for the content of
          this software.
        * Please do not contact CASIO COMPUTER CO., LTD. with any inquiries
          concerning this software.

	A large amount of code is borrowed from the libusb Documentation.
	The communication API of the Printer has been greatly documented
	and published by CASIO COMPUTER CO., LTD

							Many Thanks.

        This program is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

	You may use this program for whatever you want as long the above written
	text remains.

	Please support Pegg by testing it and reporting bugs. !


------


Pegg is a small control program for the Casio KP-C10 label printer
it has been tested using the KP-C10 Printer. But it should also work on a
KP-C50. For this you have to modify the sourcecode
pf pegg as described in pegg.c
Pegg scans the USB for your printer using libusb (libusb.sourceforge.net).

You can do two things with it. First is to get some information
about your printer by using the -t (test) option.

	$bash>./pegg -t

You'll the something like this:
	Pegg Version 0.14a
	Scanning USB ...
	Found Casio Label Printer.
	Status Packet request answer:

	5: 1  Product-Type 1 = 0x01
	6: 28  Product-Type 2 = 0x28 => 0x0128 (KP-C10)
	7: 0  Version Information
	8: 0  Support Information

	Transfer complete.
	Printer closed.

	No Raw-File specified.

This output is mainly used to test the communication with your printer and
get the type of printer you have connected.

The second thing Pegg can do is to print a RAW Image on the printer using
64K-Block transfer. The maximum imagesize is 4KB. My printer stops using
imagedata bigger than (approx.) 3KB but your printer might use higher bytes.
To print a raw file use pegg the folowing way:

	./pegg -3 test_raw

Pegg will set the printing density to 3 and print the file test_raw.
Make sure that you use the correct syntax for the density option (like -1 for
light printing or -5 for a dark print).

RAW IMAGE DATA:

Imagedata has currently a fixed size of 4 Kilobytes.
The printer has a fixed printing width of 64 dots. Each dot is represented
by one bit. After transfering 64 Bits (or 8 Bytes), the printer starts
(automatically) a new line. This leads to a maximum number of ( (4KB * 8) / 64)
512 lines. My Printer only prints roughly about 490 lines. Maybe yours can do more.
Clear uneccessary data to zero (0x00).
