Wykres commitów

2696 Commity (d35e4a072f85e45e94d8da832a93b09309e2078d)

Autor SHA1 Wiadomość Data
Stéphane Voltz eb061b2c28 fixed incorrect image height for sheetfed scanners 2011-07-07 22:31:08 +02:00
m. allan noah 03c6806618 canon_dr backend v38
- initial support for DR-5020
- use ppl_mod instead of Bpl_mod, apply to all modes
- invert logic of read_panel tracking
- add ability to disable read_panel()
- automatically disable read/send_panel if unsupported
2011-07-07 10:29:45 -04:00
Stéphane Voltz 91027fdee9 double the number of shading lines at 4800 dpi 2011-07-06 21:45:34 +02:00
Stéphane Voltz c4ebb66293 remove all un-needed use of mode->shading_lines 2011-07-06 21:33:38 +02:00
Stéphane Voltz 68074484ff use the new calib_lines field instead of model->shading_lines 2011-07-06 21:17:13 +02:00
Stéphane Voltz 5a0c42a357 calibration cache fix
- overwrite old entries so that calibration file doesn't grow up
2011-07-05 15:04:30 +02:00
Stéphane Voltz 1581bd3865 Merge branch 'gl847' 2011-07-05 14:29:12 +02:00
Stéphane Voltz abcc5104dd 4800 dpi now fully working 2011-07-05 14:27:56 +02:00
Stéphane Voltz b8ea43fd39 added bytes to skip from scan line 2011-07-05 13:55:13 +02:00
Stéphane Voltz 197d5ce954 high resolution fixes
- use 32 bit number for pixel number so we can handle high resolution
- simplify cache reuse
- code cleanups
2011-07-05 13:53:44 +02:00
Stéphane Voltz 69b17b34f2 binary logging fixes 2011-06-29 06:55:26 +02:00
Stéphane Voltz e827077bf3 binary logging change
- removed old raw data logging
- added new binary data logging (gl847 only for now)
2011-06-28 22:13:41 +02:00
Stéphane Voltz a3274977cb add little move at probe time 2011-06-27 06:29:05 +02:00
Alex Belkin 9aa6850874 USB id for Samsung CLX-216x Series, tested with CLX-216.
Reported by Malte Starostik <malte@malte.homeip.net>
2011-06-16 13:34:59 +04:00
Stéphane Voltz 15e256f8b0 lineart fix 2011-06-15 07:14:08 +02:00
Stéphane Voltz 245db82a37 HP2400 support from Alexey Osipov <simba@lerlan.ru>
- applied and tweaked a patch from Alexey Osipov to complete
HP2400 support
2011-06-13 21:52:05 +02:00
Stéphane Voltz b750f1715c gl847 start of scanarea tuning 2011-06-13 21:15:47 +02:00
Stéphane Voltz cef28b4d46 X1100 device regression fix 2011-06-09 22:22:57 +02:00
Stéphane Voltz 80254a558c move LIDE 100 to new description model, 2400 now available 2011-06-08 22:23:30 +02:00
Stéphane Voltz e2b633ef8b good for release
- nice quality from 75 to 2400 dpi
- 4800 dpi shading improvement
- motor moving smoothing
2011-06-08 21:55:59 +02:00
Stéphane Voltz 0a807c9db1 position after shading OK 2011-06-07 21:26:20 +02:00
Stéphane Voltz 91a186bce0 move ok at all resolution 2011-06-07 21:26:20 +02:00
Stéphane Voltz abf93fae62 fix 1200 dpi move bug by using fast fed only for this mode 2011-06-07 21:26:20 +02:00
Stéphane Voltz c31eb26d1e LiDE 200 almost OK
- 1200 dpi scans hang after calibration
- 4800 dpi shding data is incorrect
- move to scan area needs tuning
2011-06-07 21:26:20 +02:00
Stéphane Voltz 18beac8e63 1200 and 2400 dpi shading are working 2011-06-07 21:26:20 +02:00
Stéphane Voltz ae6349b2ba shading calibration start to work again at <= 600 dpi 2011-06-07 21:26:20 +02:00
Stéphane Voltz a7652acdcc working 4800 dpi scans 2011-06-07 21:26:20 +02:00
Stéphane Voltz 9f9a157801 4800 dpi motor settings progress 2011-06-07 21:26:19 +02:00
Stéphane Voltz 721d388eca swithc slop definitions to uin32t to allow high resolutions 2011-06-07 21:26:19 +02:00
Stéphane Voltz d7551176ce 4800 dpi WIP
- 8 segments scan handling for 8 and 16 bits
- scan buffer size computing fix
- enable 4800 dpi for LiDE 200
- tune minimal slope size to step factor
2011-06-07 21:26:19 +02:00
Stéphane Voltz bfc3cad22f working 2400 dpi mode for gl847 2011-06-07 21:26:19 +02:00
Stéphane Voltz 49b9fa7c4b fast move to scan area at 1200 dpi 2011-06-07 21:26:19 +02:00
Stéphane Voltz 7f30df8b6f 1200 DPI working again 2011-06-07 21:26:18 +02:00
Stéphane Voltz d67135cf4c gl847 rework : 75-600 dpi motor speed working 2011-06-07 21:26:18 +02:00
Stéphane Voltz 4f5be8bdb7 gl847 rework progress 2011-06-07 21:26:18 +02:00
Stéphane Voltz 801f4ed160 before gl847 motor setting rewrite 2011-06-07 21:26:18 +02:00
Stéphane Voltz f3fa997d9b gl847 exposure setting rework 2011-06-07 21:26:18 +02:00
Stéphane Voltz 1265e26d61 gl847 rewrite progress
- sensor setup function updated
2011-06-07 21:26:17 +02:00
Stéphane Voltz 2a6872c385 rework gl847 to set up exposure and coordinates like multi-segmented
gl124
2011-06-07 21:26:17 +02:00
Stéphane Voltz c67786154f Add software page de-rotate and white page skip 2011-06-07 06:38:04 +02:00
m. allan noah e4f634d68e add support for sanei_magic to kvs1025 backend 2011-06-06 20:52:25 -04:00
m. allan noah 483b0dc488 adding new kvs40xx backend 2011-06-06 14:28:55 -04:00
Stéphane Voltz 08b5abc8ca add Xerox 2400 onetouch model 2011-04-20 21:42:49 +02:00
Stéphane Voltz 709885ccaf big endian hadling rewrite 2011-03-28 17:16:59 +02:00
Stéphane Voltz b1da70e585 minor changes for genesys backend
- improve calibration file handling
- big endian fixes rewrite
2011-03-18 07:04:35 +01:00
Stéphane Voltz d581aec7ad big endian fixes for gl847/gl124 based scanners 2011-03-17 06:20:17 +01:00
Stéphane Voltz 6ae81b713b make private function getLine static
- make private function getLine static to prevent clashing with
  same function from sanei_magic.c under cygwin static build
2011-03-15 06:19:50 +01:00
Stéphane Voltz 1891efebfe add sanei_magic to libsane dependencies
- add sanei_magic to libsane dependencies to fix problems
  in cygwin static build
2011-03-15 06:16:18 +01:00
Troy Rollo 91ea92686d hp3500.c: Remove interdependency between contrast and brightness 2011-03-13 10:07:33 +11:00
Troy Rollo b7d79169f3 Add grayscale and line art scanning to HP3500 backend, as well as contrast
and brightness controls that influence calibration of the scanner.
2011-03-12 20:36:43 +11:00
Alex Belkin 90f15838ea usb ids for Samsung SCX-4623FW 2011-03-08 18:01:25 +03:00
Alex Belkin 5ea227caea keep usb device by default (correct for bug introduced by tcp sub-backend 2011-03-08 17:57:19 +03:00
Ilia Sotnikov 10c776769f hp5590: fixed detection of HP4500 devices (tested) and HP5550 (untested) -
these devices need no reading USB-in-USB acknowledgement after each command.
To achieve that, proto_flags are passed down to low-level functions. These
flags are taken from device descriptions
hp5590: fixed up get_status command - index should be 0x00, not 0x20
hp5590: bump up the backend version
2011-03-06 13:30:58 +02:00
Ilia Sotnikov 359114a7a0 hp5590: in ADF modes the device can scan up to 14", which is usually bigger
than what scanner reports back during initialization
2011-03-06 13:10:39 +02:00
Alessandro Zummo ccf58bf516 epson2: updated resolution list detection 2011-02-23 11:16:48 +01:00
Julien BLACHE c5ca46c2d1 Fix v4l build with libv4l 0.8.3+ 2011-02-16 19:37:43 +01:00
Alessandro Zummo 71f68035b3 epson2: try to avoid a division by zero 2011-02-05 18:14:29 +01:00
Stéphane Voltz 66716a5666 disbale software crop/deskew and despeckle at 16 bit depth 2011-02-04 06:17:27 +01:00
Stéphane Voltz e375cef3b0 genesys asynchronous parking hadling fixes 2011-02-02 10:47:21 +01:00
Stéphane Voltz 99ede36f75 more asynchronous parking issues fixed 2011-02-02 09:30:13 +01:00
Stéphane Voltz 58d5d64e00 fix unused variables 2011-01-31 21:47:32 +01:00
Stéphane Voltz 66549b2b7d minor cleanups and changelog entry 2011-01-31 21:47:32 +01:00
Stéphane Voltz 5ea5757579 don't return EOF if some data was available 2011-01-31 21:46:22 +01:00
Stéphane Voltz d0ea6b8647 fix asynchronous parking issues 2011-01-31 21:46:22 +01:00
Stéphane Voltz 948aa52e54 handle writing of lineart data 2011-01-31 21:46:22 +01:00
m. allan noah cde8951ef9 fujitsu backend v106:
- listed new models
- dont call mode_select with a page code the scanner does not support
2011-01-31 08:31:34 -05:00
m. allan noah 583c345a39 epjitsu: comment changes, listed new models 2011-01-31 08:31:34 -05:00
Reinhold Kainhofer 8e688f51b6 magicolor: Drop SNMP autodetection timout from 2.5 to 1.5 secs 2011-01-31 14:27:10 +01:00
Mike Kelly 8e623c473e Bumped the BUILD version 2011-01-29 11:50:17 +09:00
Mike Kelly edcf4cbadb Fixed initialization and duplexing for AV220-G
This fix correctly initializes the AV220-G by querying the firmware.
Added the correct option to support the interlaced duplex format used by
this unit.
2011-01-29 11:50:15 +09:00
Mike Kelly d7b3076142 Add page re-flipping as an option
Flipping duplex scanners must flip the page in order to scan the back side
of the page.  With this option set (which is the default), the page is
flipped back to the original orientation.  This is important if you have
a stack of papers.  However, if you don't care if every page ends up
flipped compared to how it was loaded, turning this option off might save
some scanning time as the paper won't have to be pulled back through the
ADF mechanism a third time.
2011-01-29 11:50:14 +09:00
Mike Kelly b82e9949b5 Fixed back page handling for flipping duplexers
Although the flipping duplexer is working, there are some issues relating to
the mechanics of physically flipping paper.  First among these is that the
back side of each page is physically scanned in reverse, resulting in an
upside down image.  Secondly, the page is held partially in the ADF
mechanism while waiting for the frontend to make another scan request for
the back side image, thus resulting in a stuck page if the frontend fails to
follow through.

My solution to these problems is to treat page flipping as an extreme
extension of interlaced scanning; page level interlacing.  This means making
another scan request on behalf of the frontend, and writing the resulting
image to a file as would have been done if the page were line interlaced.
We would have had to write this image to a file anyway to flip the image
right-side up, so we aren't doing any extra work, and technique allows us to
reuse existing code for most of the file handling.  The reader_process()
function is called again (recursively) after scanning the front page.  We
use the page length of the front side to determine the length of the back,
so that we can write the lines to the file starting at the end and working
towards the beginning (thus flipping the image).

A side effect of this solution was the discovery that the scanner must be
reminded that the paper needs to be re-flipped after each scan, so
set_window() must also be called in reader_process() before starting the
second scan.

Finally, with this change, a minor bug was exposed where frontends were
given the number of lines which would be scanned, which makes sense in
flatbed mode, but does not make sense for an ADF, where the page may be
smaller than the scan window.  The code was changed to follow the
specifications, returning -1 in ADF mode (when the length cannot be
determined).
2011-01-29 11:50:13 +09:00
Mike Kelly 104b43a183 Removed inquiry_adf_need_mirror_rear variable
After fixing the duplexer initialization, it became clear that the code was
mirroring the back pages.  Since the scanner already supports page
mirroring internally with an optional bit setting (which was already set)
it made the most sense to simplify the code base and remove the variable.
2011-01-29 11:50:12 +09:00
Mike Kelly 1b1b0b9a78 Fixed flipping duplexer initialization
For scanners which potentially have flipping duplexers, only enable
duplexing if there is an ADF present.  This leads to the next problem, that
the flipping duplexers (present only on the HP 8200 series AFAIK) don't
always seem to be properly configured when powered up.  To solve this some
magical values are written to magical memory locations, and some more
magical status is read back, causing an apparent firmware reset which
blocks communication for a short period of time.  See adf_reset() for
details.
2011-01-29 11:50:11 +09:00
Mike Kelly 12924236c6 Enable firmware reading for some scanners.
Sometimes scanners like to have their firmware read to cause them to
function properly.
2011-01-29 11:50:10 +09:00
Mike Kelly 1b1df46e41 Add feature type for flipping duplexing ADF units
Added the AV_ADF_FLIPPING_DUPLEX flag to activate the flipping duplex code
only for models known to have such duplexing ADFs.  Prior to this a doubious
huristic was used to guess when the hardware had a flipping duplex unit.
2011-01-29 11:50:09 +09:00
Mike Kelly 1904dad962 Removed additional_probe gatekeeper variable
The additional_probe variable protected add_source_mode() and
add_color_mode() from being entered upon subsequent calls.  These functions
were patched to not insert duplicate records in this case, removing the
need for the gatekeeper variable.
2011-01-29 11:50:08 +09:00
Mike Kelly 4d38523bda Return copied values in sane_get_parameters()
Until now the code has been changing the frontend supplied pointer to point
to our internal data structure.  There are two problems with this.  It
orphans the data previously associated with that pointer, which causes a
memory leak.  It also gives the frontend the ability to munge our internal
data structure.

The only downside to this change is the possibility that a frontend took the
spec too literally and merely supplies a pointer but does not allocate
storage space for the result.  Technically, the spec is a bit vague on this
point, because it does not specifically state who should allocate the
structure, but I feel a reasonable programmer would guess that space
allocation is a frontend obligation.
2011-01-29 11:50:07 +09:00
Mike Kelly 64caf38683 Don't compute parameters twice (in a row)
Removed a redundant call to compute parameters.  This function is called
from within the last function call, no need to call it again.
2011-01-29 11:50:06 +09:00
Mike Kelly b45400222d Added paper-length option to prevent double feeds
There was an old TODO in the code which suggests creating an option for using
the paper_length field to detect double feeds in the ADF.  I've added it as
an option, but set the default to not use it since it might cause older
scanners to get confused.
2011-01-29 11:50:05 +09:00
Mike Kelly 42cdb00aa1 Added a Misc option group to hold misc features
I felt that the ehancements group was doing double duity for image tuning and
other more hardware related options.  This new group takes ownership of those.
I'm not happy with the name, but that can always be changed.
2011-01-29 11:50:04 +09:00
Mike Kelly d48f749cae Fixed debug level for a single message
There is no reason that this message needs to be triggered at 100 when
everything else only goes to 9.
2011-01-29 11:50:03 +09:00
Mike Kelly 1bc4003b6c Whitespace changes. 2011-01-29 11:50:02 +09:00
Mike Kelly a230ee3ae2 Fixed spelling and grammar 2011-01-29 11:50:01 +09:00
Mike Kelly 260e86397f Updated copyright because it's 2011! 2011-01-29 11:50:00 +09:00
m. allan noah c78f416175 canon_dr backend v37:
- don't center window when using flatbed
- improve request sense error messages
- enable flatbed for all known models
- ad usb ids for DR-6030C, CR-135i & CR-190i
- moved DR-2020U to unsupported.desc
2011-01-26 22:05:02 -05:00
m. allan noah e237abad17 hopefully enable flatbed support 2011-01-26 22:05:02 -05:00
Reinhold Kainhofer e7532c03c5 magicolor: Get rid of the byteorder macros, copy the bytes manually to/from little endian
This also fixes some compiler error on 64-bit systems
2011-01-25 21:25:00 +01:00
Reinhold Kainhofer f054a4e8ee magicolor: cast size_t arguments to unsigned long for debug output and use the %lu format 2011-01-20 21:23:51 +01:00
Reinhold Kainhofer 2d9f458992 magicolor: Get rid of compiler warning 2011-01-20 21:23:51 +01:00
Stéphane Voltz 0e2432be53 HP2400/G2410 support progress 2011-01-20 06:59:17 +01:00
m. allan noah 70da6167cc Disable automatic RIF of binary modes on DR-5060F 2011-01-19 08:42:05 -05:00
m. allan noah 40e40989d9 rebuild autofoo for magicolor and snmp support 2011-01-18 21:31:13 -05:00
m. allan noah 39ae267f06 improved scsi scanner detection 2011-01-18 10:46:33 -05:00
m. allan noah 5aa48d8b17 update credits 2011-01-18 10:08:38 -05:00
m. allan noah a52a72a260 initial support for DR-7090C 2011-01-18 10:08:38 -05:00
m. allan noah 6130047b10 canon_dr backend v36
- initial support for DR-3080 and DR-5060
- add code to clamp scan width to an arbitrary byte width boundary
- add code to prevent setting of brightness/threshold/contrast
- don't send dropout color command on non-color scanners
2011-01-18 10:08:38 -05:00
Reinhold Kainhofer 6a7888ef26 New backend: magicolor (for KONICA MINOLTA magicolor devices)
-) LAN and USB communication
-) SNMP LAN auto-detection (using libsnmp, added configure check!)
-) Based on the epson2 backend, with many structural changes
-) B/W, Gray, Color scanning works in 150/300/600dpi (full-page
   color scan only possible with <=300dpi)

-) The timeouts (SNMP, scan data, other data) are configurable in the
   magicolor.conf file

-) Keeps list of known scanners in sane_get_devices, does not destroy
   existing handles; Also correctly calls sanei_usb_init.
2011-01-15 22:10:34 +01:00
Stéphane Voltz ded946b70d exposure calibration cache fix 2011-01-13 22:27:26 +01:00
Stéphane Voltz 53e28b3cd1 working 2400 dpi mode for LiDE 110 2011-01-13 22:08:31 +01:00