Previously I had changed the USB ID of this scanner from 0x0a18 back to
0x0a19, believing a previous commit to have been in error since it went
unmentioned in the commit log and duplicated the AV600U Plus scanner's USB
IDs. Rolf Würdemann reported that his AV610 scanner used the 0x0a18 ID and
that it wasn't compatible with the AV_INT_STATUS flag. This commit reverts
my USB ID changes and removes the AV_INT_STATUS flag for the AV610.
However, because this scanner shares its USB ID with the AV600U Plus, it's
possible that the AV600U Plus may require that the AV_INT_STATUS flag be set
in order to function, and thus will break with this change. The code, as
it's written, isn't designed to deal well with the possibility of shared USB
IDs, so I'll wait to see if this actually becomes a problem before embarking
on the lengthy challenge of getting that to work.
- 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
- 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
- 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
-) 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.
Added support for the Avision AV210D2+ scanner. This is the first scanner
to require the use of the gray filter bits, so code was added to enable them.
Regenerated description file to reflect this change.
create a place holder for low level commands
move low level functions to genesys_low.c
GL124 progresses
enable genesys_low debug and add DAC for LiDE 110
gl124 WIP
- gl847 cleanups
- genesys_low refactor
- gl124 starting version
GL124 WIP
- read scancnt/fedcnt,valid words coded
- memory layout coded
LiDE110 WIP
GL 124 WIP
- definition and use of get/set double/triple
- define register names
all mods done, ready to test
set fe OK
GL124 WIP : ready to test scans
GL124 WIP
GL124 WIP
- fixed analog fe issue: don't put afe regs in global set
GL124 : first light at 300 dpi
GL124 WIP
- 300 and 600 uncalibrated mostly ok (x coordinate rounding)
- 150 and 75 OK x-wise, y to be solved
solved rounding errors for gl124
re-add 400, 200 and 100 dpi modes
GL124 : tous x dpi OK
before adding line cropping
GL124 : line cropping almost finished
GL124 WIP : working line deletion
compute step rework
GL124 WIP : high speed table for dpi <= 300
move to scan area working
line skipping fix
new slope table for 600 dpi base
geometry and movement tuned
GL124 WIP : shading calibration almost working
working 600 dpi shading
GL124 : working shading calibration for all modes but 1200 dpi
working 1200 dpi shading
beta 1 of GL124 support
last tuning
update genesys.desc for LiDE 110
motor slope and start area tuning
shading coefficient computing clean up
add support for GL124 based CanoScan LiDE 110
feed almost OK up to 300 dpi
feeding is fixed
all issues fixed
the same and already work, but this change will reflect that fact on the
website.
- Generated a new version of doc/descriptions/avision.desc from avision.c.
the AV610, and added a comment for the @V5100 in avision.c.
- Generated a new version of doc/descriptions/avision.desc from avision.c.
This restores information lost with my last update. I've intentionally
seperated these changes so that they can be more easily understood.
but somehow got re-added again.
- Generated a new version of doc/descriptions/avision.desc from avision.c.
This change merely updates the .desc file, the driver code remains unchanged.
* include/sane/sanei_config.h sanei/sanei_config.c: Add function
sanei_config_get_paths to obtain all configuration pathes (from env var
SANE_CONFIG_DIR and default paths); fix pointers to invalid/freed
strings when SANE_CONFIG_DIR is set
* backend/dll.c: When searching for the dll.d/ directory, also use
the SANE_CONFIG_DIR env variable.
backend/pixma_imageclass.c: added PIXMA_CAP_ADF to model imageclass MF4320, to support MF4330d
backend/pixma_mp150.c: removed untested state for MP560 (comment)
doc/descriptions/pixma.desc, doc/sane-pixma.man: doc update for both MP560 and MF4330d
- backend/pixma_mp150.c: some error condition fixes to Generation 4 (MP640, ...) XML code
- backend/pixma_imageclass.c: added support for ImageClass MF4360dn-MF4390dn
- include/pixma.h: bumped backend version to 0.16.1
- doc/descriptions/pixma.desc, doc/sane-pixma.man: doc updates
- MF3110: fix interrupt messages handling.
- MF4660: added support for this ImageClass device.
- MP980: Following a report, tuned the color planes shifting values.
- All: Documentation updates.
- split sane_get_parameters into two functions
- remove unused code from get_pixelsize
- support hardware based auto length detection
- various status and comment updates
- backend/pixma_mp150.c:
Thanks to Vladimir Andreev patch, fix network scan for MP800R.
- doc/descriptions/pixma.desc and doc/sane-pixma.man:
. Documentation updates for latest MF5770 changes.
. Note: MF5770 grayscale mode appears to require some more work.
The backend description comes from the epkowa.desc file
with appropriate changes to suit epson2.desc. The usb
device list is now generated from this file, skipping
the :unsupported models. This means epson2 now detects
32 more models.
- use average instead of min/max for fine offset and gain
- rewrite supported resolution list as x and y arrays
- merge x and y resolution options into single option
- move scan params into two new structs, s->u and s->s
- sane_get_parameters() just returns values from s->u
- dont call wait_scanner() in object_position()
- dont call ssm_*() from option handler
- refactor sane_start()
- read_from_buffer() can workaround missing res, modes and cropping
- set most DR-2xxx machines to use the read_from_buffer workarounds
- set default threshold to 90
- add option for button #3 of some machines
- don't eject paper during init
- add DR-2010 quirks
- switch counter to HARD_SELECT, not SOFT
- Updated backend version
- Added HP ScanJet 4500C as completely supported
- Added HP ScanJet 5500C as untested
- HP ScanJet 4570C/5550C/5590/7650 marked as completely supported
* configure, configure.in: version 1.0.21cvs
* doc/releases.txt: minor updates for new build system
* doc/descriptions/canon_dr.desc, doc/descriptions/coolscan3.desc,
doc/descriptions/rts8891.desc, doc/descriptions/xerox_mfp.desc:
remove :new tag
doc/descriptions/fujitsu.desc: add S1500 usb ids and status
* backend/canon_dr.c: update credits
* doc/sane-fujitsu.man doc/sane-canon_dr.man: update version numbers,
dates, credits and known issues
* doc/saned.man: remove section about uncontrolled data port range
- return cmd status for reads of sensor options
* backend/canon_dr.c, doc/descriptions/canon_dr.desc: backend v26
- return cmd status for reads of sensor options
- allow rs to adjust read length for all bad status responses
- fix DR-2510C duplex deinterlacing code
- rewrite sane_read helpers to read until EOF
- update sane_start for scanners that dont use object_position
- dont call sanei_usb_clear_halt() if device is not open
- increase default buffer size to 4 megs
- set buffermode on by default
- hide modes and resolutions that DR-2510C lies about
- read_panel() logs front-end access to sensors instead of timing
- rewrite do_usb_cmd() to use remainder from RS info
* doc/desciptions/canon_dr.desc: backend v24, update DR-2510C comment
- rewrite all image data processing code
- handle more image interlacing formats
- re-enable binary mode on some scanners
- limit some machines to full-width scanning
* doc/desciptions/canon_dr.desc: v23, improved comments
- pad gray deinterlacing area for DR-2510C
- override tl_x and br_x for fixed width scanners
* doc/descriptions/canon_dr.desc: backend v19, update comments
- add byte-oriented duplex interlace code
- add RRGGBB color interlace code
- add basic support for DR-2580C, DR-2050C, DR-2080C, DR-2510C
- add more unknown setwindow bits
- add support for 16 byte status packets
- clean do_usb_cmd error handling (call reset more often)
- set status packet size from config file
- rewrite config file parsing to reset options after each scanner
- add config options for vendor, model, version
- dont call inquiry if those 3 options are set
- remove default config file from code
- add initial gray deinterlacing code for DR-2510C
- rename do_usb_reset to do_usb_clear
* doc/descriptions/canon_dr.desc: backend v18, update model status
* backend/canon_dr.conf.in: added better comments and new options
issues, by Mattias Ellert.
* backend/fujitsu.c: backend v89, fi-4750 has no serial number support
* doc/descriptions/fujitsu.desc: backend v89, remove 'MAC/TWAIN' text
* doc/sane-fujitsu.man: backend v89
* backend/.cvsignore: ignore *.loT
* doc/descriptions/epjitsu.desc, doc/descriptions/fujitsu.desc: version
* doc/descriptions/umax1220u.desc: correct status of 1600U
* doc/descriptions/xerox_mfp.desc: status = new
- round pixels_per_line down to arbitrary limits for fi-4990 & fi-4860
- fi-4860 returns random garbage to serial number queries
- initialize *info to 0 in sane_control_option()
* doc/descriptions/fujitsu.desc: backend v85, improve status/comments
* frontend/scanimage.c: initialize *info, fix buffer overwalk
- add all documented request sense codes to sense_handler()
- fix color jpeg (remove unneeded BGR to RGB swapping code)
- add macros for LUT data
* backend/canon_dr.conf.in: add DR-2080C usb ID
* doc/descriptions/canon_dr.desc: backend v10, add DR 3020
- rename read/send_counter to read/send_panel
- enable control panel during init
- add options for all buttons
- call TUR twice in wait_scanner(), even if first succeeds
- disable rif
- enable brightness/contrast/threshold options
* doc/descriptions/canon_dr.desc, doc/sane-canon_dr.man: backend v8
- jpeg support (size rounding and header overwrite)
- call object_position(load) between pages even if buffering is on
- use request sense info bytes on short scsi reads
- byte swap color BGR to RGB
- round image width down, not up
- round image height down to even # of lines
- always transfer even # of lines per block
- scsi and jpeg don't require reading extra lines to reach EOF
- rename buffer option to buffermode to avoid conflict with scanimage
- send ssm_do and ssm_df during sane_start
- improve sense_handler output
* doc/descriptions/canon_dr.desc: backend v7
doc/descriptions/canon_dr.desc: backend v5
- remove EOF ejection code
- add SSM and GSM commands
- add dropout, doublefeed, and jpeg compression options
- disable adf backside
- fix adf duplex
- read two extra lines (ignore errors) at end of image
- only send scan command at beginning of batch
- fix bug in hexdump with 0 length string
- DR-7580 support
backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v79
- add usb ids for several models
- print additional hardware capability bits
- detect front-side endorser
- disable endorser-side controls if only one side installed
- add quirks for fi-6x70
* backend/epjitsu.[ch], backend/epjitsu-cmd.h: backend v 13, 14 and 15:
- add working page-height control
- add working brightness, contrast and threshold controls
- add disabled threshold curve and geometry controls
- move initialization code to sane_get_devices, for hotplugging
- support S300 on USB power
- support S300 225x200 and 600x600 scans
- support for automatic paper length detection (parm.lines = -1)
- expose hardware buttons/sensors as options for S300
* doc/descriptions/epjitsu.desc: change S300 status to good
- add independent maximum area values for flatbed
- override said values for fi-4220C, fi-4220C2 and fi-5220C
* doc/descriptions/fujitsu.desc: bump version, add 2 untested scanners
- add fi-6130 usb ID
- correct overscan dimension calculation
- provide correct overscan size overrides for fi-5110C and fi-4x20C2
- fi-5750C can't handle 10 bit LUT via USB
- add halftone type and pattern options
- support M3097G with IPC and CMP options via modified VPD response
* doc/descriptions/fujitsu.desc, doc/sane-fujitsu.man: backend v68,
- manpage cleanup
use model and serial to build sane.name (idea from Ryan Duryea),
allow both serial_name and device_name to sane_open scanner,
simulate missing VPD data for M3097G, probe scanner for color
interlacing mode instead of hardcoding, other minor cleanups
doc/descriptions/hp3900.desc, doc/descriptions/hp5590.desc,
doc/descriptions/hpljm1005.desc, doc/descriptions/hs2p.desc:
remove 'new' tag from sane 1.0.19 backends
* doc/descriptions/fujitsu.desc, backend/fujitsu.conf.in:
add fi-5530C2 usb ID
* backend/cardscan.c: correct version number
* backend/epjitsu.conf.in: improved firmware directions
* backend/fujitsu.[ch]: update to backend v 1.0.61
- page code 32 is not color interlacing, rename to 'unknown'
- increase number of bytes in response buffer of init_ms()
- protect debug modification code in init_ms() if NDEBUG is set
- proper async sane_cancel support
- re-enable JPEG support
- replace s->img_count with s->side
- sane_get_parameters(): dont round up larger than current paper size
- sane_start() rewritten, shorter, more clear
- return values are SANE_Status, not int
- hide unused functions
- added: Pixma MP210, MP470, MP520, MP610
- added: MultiPASS MP710
- declared untested: MP140, MP220, MultiPASS MP740
- declared experimental and untested: MP970
Bugs and fixes
- multipage documents scan no more fails with non-ADF MPs
- IO Fail bug when scanning large pages e.g. with Xsane
- implement send_time message form MP710, MP730 family
- run indent -gnu on all pixma_* source files.