- 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
- 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
- add simplified Hough transform based deskewing code
- add extremity detecting cropping code
- use per-model background color to fill corners after deskew
- request and chop extra scanlines instead of rounding down
- remove padding dumb scanners add to top of front side
- sane_get_params uses intermediate struct instead of user struct
- if scanner stops, clone the last line until the end of buffer
- reset some intermediate params between duplex sides
- add software brightness/contrast for dumb scanners
- add blocking mode to allow full-page manipulation options to run
- add swdespeck option and support code
- add swdeskew and swcrop options (disabled)
- crop/resample image data before buffering, not after
- shink image buffers to size of output image, not input
- correct some debug message
- better handling of EOF
- add intermediate param struct to existing user and scan versions
- 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
- split coarse and fine cal to run independently
- add side option
- reset scan params to user request if calibration fails
- better handling of sane_cancel
- better handling of errors during sane_start and sane_read
- 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
- 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
- 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
- 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
- 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