[sane-devel] HP Scanjet 2400c for genesys
Stéphane VOLTZ
stefdev at modulonet.fr
Thu Jul 6 06:08:11 UTC 2006
Le mardi 4 juillet 2006 11:51, Thomas Mader a écrit :
> Hello,
>
> I have a HP Scanjet 2400c and would like to know if I can help somehow to
> speed up the development of the driver for this?
> Can I provide some information about it or something else?
>
Hello,
this topic has come a few time on the list. The way I see 2400 support added
is to record usb activity under windows, decode it. Then modify the genesys
backend accordingly. Test the changes, and compare debug output until it is
close enough to windows behaviour.
However, I think there is a 'roadmap': take the functions one after the other
in the sequence they are used by the backend. For instance, it make no sense
to directly jump to the final scan and trying to hack it, since it relies on
values detected by previous functions.
Here's the call graph for a preview:
sane_open
gl646_init
gl646_init_regs
sanei_genesys_create_slope_table
sanei_genesys_create_gamma_table
gl646_set_fe
gl646_slow_back_home
gl646_send_gamma_table
gl646_set_powersaving
sane_start
gl646_save_power
gl646_set_fe
gl646_search_start_position
gl646_setup_sensor
sanei_genesys_exposure_time
gl646_setup_steps
sanei_genesys_create_slope_table
gl646_send_slope_table
gl646_set_fe
gl646_begin_scan
sanei_genesys_read_data_from_scanner
this function generates a searh_position16.pnm and search_position.pnm
which are pictures of the innings of the scanner. These should contain
black and white areas that will be basis for postion detection.
gl646_end_scan
sanei_genesys_search_reference_point
... more to come ...
I'm currently compelting this, but I think making gl646_search_start_position
working will take enough time to let me finish.
Some on these functions already test for HP2300. You can add tests and
values for 2400 there. However, there are two points to take into account:
- for the HP2300 I made the analog frontend work like the MD5345 one since
I couldn't make it work like it is in usb logs.
- motor slope creation should favor sanei_genesys_create_slope_table3() over
the sanei_genesys_create_slope_table() currently used.
I append the latest version of the scripts that I use for log decoding. The
cmd.sh takes a decoded log and emits scanner status at each motor start
(which is used as a 'commit'). It is usefull since you can take it's output
to compare scanner internal state with the one from the backend log (output
of gl646_bulk_write_register() ) right before gl646_begin_scan().
Don't hesitate to ask for more or send patches ...
Regards,
Stef
-------------- next part --------------
A non-text attachment was scrubbed...
Name: scripts.tar.bz2
Type: application/x-tbz
Size: 15628 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20060706/db074ddb/scripts.tar.bin
More information about the sane-devel
mailing list