- add fine cal support for machines with internal buffer (2050/2080)
- support fixed-width machines that require even bytes per scanline
- pad end of scan with gray if scanner stops prematurely
- better handling of errors during calibration
- cleanup canceling debug messages
- remove old cancel() prototype
- 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
- bug fix in read_panel()
- initialize vars in do_usb_cmd()
- set buffermode off by default
- clear page counter during init and sane_start()
- eject previous page during init and sane_start()
- improved SSM_BUFF macros
- moved set_window() to after ssm-*()
- add coarse calibration (AFE offset/gain & per-channel exposure)
- add fine calibration (per-cell offset/gain)
- free image and fine cal buffers in sane_close()
- compare page counter of small scanners only in non-buffered mode
- add back-side gray mirroring code for DR-2580C
- 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
- improved macros for inquiry and set window
- shorten inquiry vpd length to match windows driver
- remove status-length config option
- add padded-read config option
- rewrite do_usb_cmd to pad reads and calloc/copy buffers
* backend/canon_dr.conf.in: s/status-length/padded-read/g
- 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
- 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
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