[sane-devel] Completed HP ScanJet 3500C backend

2005-11-27 Thread Troy Rollo
The attached patch adds support for the HP ScanJet 3500 series, including the 
3500C, 3530C and 3570C. It passes scanimage -T (both locally and via saned), 
and I have been using it locally for a few months now with no problems.
-- next part --
A non-text attachment was scrubbed...
Name: sane-diffs
Type: text/x-diff
Size: 86791 bytes
Desc: not available
Url : 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20051127/80f3270a/sane-diffs-0001.bin
From r...@exactcode.de  Sun Nov 27 11:29:19 2005
From: r...@exactcode.de (=?iso-8859-1?q?Ren=E9_Rebe?=)
Date: Sun Nov 27 11:31:18 2005
Subject: [sane-devel] Avision av 810c adf
In-Reply-To: <20051127111559.gb6...@meier-geinitz.de>
References: <1133049589.6913.3.camel@localhost.localdomain>
<200511270941.19234.r...@exactcode.de>
<20051127111559.gb6...@meier-geinitz.de>
Message-ID: <200511271229.25741.r...@exactcode.de>

Hi all,

On Sunday 27 November 2005 12:15, Henning Meier-Geinitz wrote:
> Hi,
>
> On Sun, Nov 27, 2005 at 09:41:16AM +0100, Ren? Rebe wrote:
> > I think AV810 ADF is tested and known to work fine. You need to specify
> > to use the ADF source:
>
> However, the whole scanner is listed as "untested" in avision.desc in
> SANE CVS:
> http://www.sane-project.org/cgi-bin/driver.pl?manu=avision&model=810&bus=an
>y

Ah - yep. Thanks for nitpicking. It was the 820 someone reported to work:

*) 2005-05-03

Rene Rebe:

r240* added AV3200C, AV3800C and AV120 (USB ID guessed) and marked the
  AV820C as tested
=> BUILD 155

please let me know if the 810 works as well or has issues. If you experience 
something to not work as expected please pass a log obtained by setting 
SANE_DEBUG_AVISION=7 for the application.

Yours,

-- 
Ren? Rebe - Rubensstr. 64 - 12157 Berlin (Europe / Germany)
http://www.exactcode.de | http://www.t2-project.org
+49 (0)30  255 897 45
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20051127/0783c4e4/attachment.pgp
From gmur...@cloudnet.com  Sun Nov 27 11:47:35 2005
From: gmur...@cloudnet.com (Gerald Murray)
Date: Sun Nov 27 12:14:23 2005
Subject: [sane-devel] Genesys HP scanjet 2400 
Message-ID: <1133092055.43899cd792...@webmail.cloudnet.com>

Thanks to Pierre Willenbrock and Stefane Voltz.  Both have done
fine work on the genesys backend.

[PATCH] at the end.
Scanner: hp scanjet 2400
using sane-backends-cvs20051124

Problems remaining:
- Head moves two times the expected distance.
- Excessive time in genesys_warm_up_lamp()
- There was no image in the STDOUT output (file size 1523712)
- Status register for lamp reports OFF, but lamp remains ON.
- Head remains where the scan stopped.
- In lineart mode, depth:1 was what I expected.  depth:8 was reported.

So, that is the report as of now.  The rest is the detail of the above.

The program loops in genesys_warm_up_lamp().
My tests showed that there was a diff = 0.000 % after about 45 seconds.
I patched the code to report SANE_STATUS_GOOD after 45 seconds period.

The scanner was expected to stop at 110mm, but continued to 228mm and parked.
The lamp stayed on, even after the provided off-time was exceeded.
The scan log showed no reason for stopping the scan.
54886 lines into the log, there is the line:
[genesys_gl646] gl646_park_head (wait_until_home = 1)
[genesys] sanei_genesys_read_register (0x41, 0xe4) completed (1 time)
[genesys] sanei_genesys_read_register (0x41, 0xc5) completed (2979 times)
[genesys] sanei_genesys_read_register (0x41, 0xc1) completed (45128 times)
NOTE: the lamp was ON, even though the register reports it as OFF.
The program stalled, and received SIGKILL.

The command:
scanimage --lamp-off-time 1
# turns the lamp off and executes slow-go-home certainly slow enough.
--mode lineart
[genesys] genesys_read_ordered_data: dumping current_setup:
pixels: 1176
lines: 1299
depth: 8<-- can this be right for lineart?
channels: 1
exposure_time: 11000
xres: 300
yres: 300
half_ccd: yes
stagger: 0
max_shift: 0

best regards,
Gerald

Patch only affects the log output.  This adjustment is consistent with
the gl646 document that shows the address is >> 4 in the register.
Currently, this just 'appears' wrong, but is actually correct.

--- sane-backends/backend/genesys.c 2005-11-24 00:01:51.0 -0600
+++ sane-backends+/backend/genesys.c2005-11-27 11:03:46.0 -0600
@@ -325,9 +325,9 @@
   SANE_Status status;

   DBG (DBG_io,
-   "sanei_genesys_set_buffer_address: setting address to 0x%05x\n",
+   "sanei_genesys_set_buffer_address: set to 0x%05x (before>>4 into
reg)\n",
addr & 0xfff0);
-
+  /* the buffer is offset 4 bits addr A[18..0] = B[14..0] */
   addr = addr >> 4;

   status = sanei

[sane-devel] Completed HP ScanJet 3500C backend

2005-12-10 Thread Troy Rollo
I have made all of the recommended changes to the patch and created a web page 
for the HP3500 backend at http://projects.troy.rollo.name/rt-scanners/ - the 
updated patch is available from that page.

The updated hp3500.desc file is attached.
-- next part --
; SANE Backend specification file
;
; It's basically emacs-lisp --- so ";" indicates comment to end of line.
; All syntactic elements are keyword tokens, followed by a string or
;  keyword argument, as specified.
;
; ":backend" *must* be specified.
; All other information is optional (but what good is the file without it?).
;

:backend "hp3500"   ; name of backend
:version "1.0"  ; version of backend
:manpage "sane-hp3500"  ; name of manpage (if it exists)
:url "http://projects.troy.rollo.name/rt-scanners/"; ; backend's web page
:comment "HP3500 series scanners."

:devicetype :scanner; start of a list of devices
; other types:  :stillcam, :vidcam,
;   :meta, :api

:mfg "Hewlett-Packard"  ; name a manufacturer
:url "http://www.hp.com";

:model "ScanJet 3500C"  ; name models for above-specified mfg.
:interface "USB"; interface type of the device:
; "SCSI", "USB", "Parport (EPP)",
; "Parport (SPP)", "Parport (ECP)",
; "Serial port" or "Propretiary".
:status :good

:model "ScanJet 3530C"  ; name models for above-specified mfg.
:interface "USB"; interface type of the device:
:status :good

:model "ScanJet 3570C"  ; name models for above-specified mfg.
:interface "USB"; interface type of the device:
:status :good


; :comment and :url specifiers are optional after :mfg, :model, :desc,
; and at the top-level.