
'Driver' for the Primax Colorado Direct 9600 scanner. Version 0.4

This is the third release, still full of unfixed things so don't
expect too much. This program was at first written without any information
from Primax. Almost everything here is based on information gathered
via traces made with a second computer logging the traffic in the
cable to the scanner.


New in this version:

   Greyscale conversion.

   Black&white conversion.

   Manual start using the button on the scanner. Useful if the scanner is some
   distance away from the controlling terminal or if your are running a batchfile
   scanning a lot of pictures.

   Quiet mode. Nice if called from some other program or script.

   Much faster data transfer speed ( thanks to Peter Popovec ).

   The code has been restructured to some extent and reduced in size.

   A man page has been added.



Some bugs have been fixed:

   The position parameter now works. ( I think )
 
   The calibration of individual pixels now works for the full scan width.
 
   The first discolored scanline skipped. 

   The code has been cleaned up a lot. Lots of meaningless code has been removed.
   A big part of the code has been rewritten to make it understandable ( at least
   to me...). 


Known problems:

1.
The different printer ports out there are not dealt with in a
structured way. The target is to use EPP of some sort.

2.
Calibration of individual pixels not fully understood. The current version
is much better than version 0.2 but may still give weak vertical lines.

3.
The exact position of the scanarea is not determined during calibration
so the scanning window moves a little from scan to scan.

4.
Still no range checks of input parameters.

5.
EPP transfers are not checked for time-out.

6.
The Makefile is very simpleminded. Expect some errors and warnings when
you try it. You will probably have to locate your tifflib and some
header files. The capabilities.h included here should not be used if
your system has its own one.


To Do:

   Fix things above.

   Clean up the (still) messy code.

   Improve the black&white scanning to use only one selectable color directly
   from the scanner for faster data transfers.

   There are some indications that the 600p model can not always be run
   using this program. Would be nice to find out why.



HOWTO USE

This assumes that the scanner is connected to the lp1 port at 0x378.


First of all turn on the lamp and leave it on for about one minute:

pxscan -lon


Place your original face down on the glass. The origin is in the lower left
corner but you can use the -p option to scan somewhere else.

Start a scan selecting a size ( in inches! ) and a resolution ( in pixels
per inch ):

pxscan -r123 -d2x3

The output file is in tiff format and is called test.tiff by default. Use
the -n option to give it a better name.

Here is what the -h option prints:


  -h,   --help             shows this message
  -v,   --verbose=LEVEL    increase debugging output
  -P,   --port=PORT        portnumber of parallel port
  -V,   --version          display version
  -p    --pos=BXL          position from bottomxleft in inch
  -d    --dim=WxH          widthxheigth of scan area in inch
  -c    --color=C/B/G      contrast/brightness/gamma
  -r    --res=RES          resolution
  -n    --filename=NAME    name for tiff file
  -l    --lamp=on/off      turn lamp on/off
  -m    --manual           press button to start scanning
  -B    --BW               Black/White mode
  -G    --GREY             Greyscale mode
  -q    --quiet            quiet mode



If you have something nice to say do it to:


g.kroling@swipnet.se



Good luck


Gustaf
