summaryrefslogtreecommitdiff
path: root/doc/umax/umax.CHANGES
diff options
context:
space:
mode:
Diffstat (limited to 'doc/umax/umax.CHANGES')
-rw-r--r--doc/umax/umax.CHANGES1172
1 files changed, 1172 insertions, 0 deletions
diff --git a/doc/umax/umax.CHANGES b/doc/umax/umax.CHANGES
new file mode 100644
index 0000000..77d8d62
--- /dev/null
+++ b/doc/umax/umax.CHANGES
@@ -0,0 +1,1172 @@
+CHANGES FOR UMAX BACKEND FOR SANE
+---------------------------------
+
+umax -> sane-0.6:
+-----------------
+
+ * umax-sane-backend created:
+ - umax.c splitted in:
+ umax-cli.c, umax-scsi.c, umax-driver.c, umax-text.c
+ - umax.h splitted in:
+ umax-scanner.h, umax-scsi.h, umax-scsidef.h, umax-struct.h
+ - outputs done by DBG(level,msg,args...) defined in debug.h
+ - scsi-calls changed to sane-format (of sane-0.57)
+ - created umax.c and umax.h for sane-backend
+
+ * changed search-path for scsi.h and sg.h, now needs /usr/include/scsi
+
+ * removed mistake in bound-function
+
+ * added "Vista S-6E" as supported
+
+ * added PowerLook-II (PL-II) as supported
+
+ * added Astra 600S as supported
+
+
+sane-0.6 / 0.61 / 0.62 -> 0.63
+------------------------------
+
+ * added exception to gpl-licence:
+ > This program is free software; you can redistribute it and/or
+ > modify it under the terms of the GNU General Public License as
+ > published by the Free Software Foundation; either version 2 of the
+ > License, or (at your option) any later version.
+ >
+ > This program is distributed in the hope that it will be useful, but
+ > WITHOUT ANY WARRANTY; without even the implied warranty of
+ > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ > General Public License for more details.
+ >
+ > You should have received a copy of the GNU General Public License
+ > along with this program; if not, write to the Free Software
+ > Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ > MA 02111-1307, USA.
+ >
+ > As a special exception, the authors of SANE give permission for
+ > additional uses of the libraries contained in this release of SANE.
+ >
+ > The exception is that, if you link a SANE library with other files
+ > to produce an executable, this does not by itself cause the
+ > resulting executable to be covered by the GNU General Public
+ > License. Your use of that executable is in no way restricted on
+ > account of linking the SANE library code into it.
+ >
+ > This exception does not, however, invalidate any other reasons why
+ > the executable file might be covered by the GNU General Public
+ > License.
+ >
+ > If you submit changes to SANE to the maintainers to be included in
+ > a subsequent release, you agree by submitting the changes that
+ > those changes may be distributed with this exception intact.
+ >
+ > If you write modifications of your own for SANE, it is your choice
+ > whether to permit this exception to apply to your modifications.
+ > If you do not wish that, delete this exception notice.
+
+ * split resolution in x-res and y-res, flag bind-resolution
+
+ * only sane_... functions will be exported from umax-backend,
+ all umax_... functions are made static
+
+ * removed umax-emergency-routine for SANE
+
+ * made program-flow (esp. with do_canel) SANE-specific
+
+ * fixed missing 3-pass parts
+
+ * made scanmodes, sources, analog gamma, gamma download, negative,
+ quality calibration, highlight, shadow only selectable if they are
+ available
+
+ * calibration-mode selectable in advanced options if available
+
+ * warmup selectable if available
+
+ * changed umax-scsi.c like described from Gordon Matzigkeit
+ in his diff/patch-file from 21.06.97 so that the umax-backend
+ should compile on non-linux-systems now - thanks!
+
+ * split highlight and shadow in R, G and B for color-mode.
+
+ * reset adf and uta flag when not used (in sane_start)
+
+ * added possibilty to change calibration-mode if available
+
+ * added send_halftone_pattern to umax-scsi.c
+
+ * changed umax-scsi.c like described from Gordon Matzigkeit
+ in his diff/patch-file from 21.06.97 so that the umax-backend
+ should compile on non-linux-systems now - thanks
+
+ * added support for each color (R,G,B) for highlight and shadow
+
+ * added "Astra 1200S" and "UC840" as supported
+
+ * added bad bugfix for preview-problem with S6E
+ (in umax-scsi.c function start_scan)
+
+ * moved resolution-check from check_values to bound_scanarea,
+ now no floatingpoint-exception will occur if no resolution is given!
+
+ * changed range-check for width and height
+
+ * removed bug in set_window for three-pass-rgb-mode
+ -selected wrong buffer for some green and blue options
+ -scanmode now is greyscale instead of rgb
+
+ * changed start_scan(us) to better use with wid-list
+ and added missing 3 wid-bytes in scan.cmd
+
+ * removed parameter color in three_pass_function_headers,
+ the color ist taken from us->three_pass_color now.
+
+
+sane-0.63/0.64/0.65 -> 0.66
+---------------------------
+
+ * changed gamma-data-upload for 3-pass-color-scan
+
+ * corrected wrong calculation for highlight and shadow
+ selection for rgb-values
+
+ * changed gamma data to use 8 bit (256 bytes) or 10 bit (1024 bytes)
+
+ * included 10/30 bits per pixel mode
+
+ * changed bug in sane_exit (free()) that sometimes made a
+ segmentation-fault
+
+ * made patches runtime-selectable
+
+ * changed set_window_command to support 30 bits per pixel
+
+ * changed send_gamma_data to support three_pass_gamma and 10/30 bpp
+
+ * changed row_len in umax_bound_scanarea to 10/30 bit mode
+
+ * added halftone-support for ug630, uc630 and uc840,
+ but I don't know if all values are ok!
+
+ * changed CBHS-50-range to 78-178 (from 103-153)
+
+ * changed rangecheck for highlight and shadow
+
+ * fixed get_cbhs_range-bug in umax-scsidef.h
+
+ * added ADF-inquiry-bits to umax-scsidef.h
+
+ * added color_line_arrangement_mode-inquiry-byte to umax-scsidef.h
+
+ * added CCD_line_distance-inquiry-byte to umax-scsidef.h
+
+ * added all most unused bits and bytes in inquiry to umax-scsidef.h
+
+ * made patches runtime-selectable
+
+
+sane-0.66 -> 0.67
+-----------------
+
+ * removed bug in sane_start: ADF and UTA flags have not been set correct
+
+ * removed bug in init_options: value range for 10 gamma-input-bits corrected
+
+ * made custom gamma available for lineart and halftone for nonlinear effects
+
+ * added Vista-T630 as supported scanner
+
+ * removed test_warmup in wait_scanner because adaptec 1542 has problems
+ with request_sense-command in test_warmup
+ it was only used for printing a message, so it was not important.
+
+ * if a scanner has a full inquiry-block but is not known to be supported,
+ the driver will print a warning and continue instead of aborting,
+ option --continue (on umax-cli) will suppress the warning!
+
+ * changed ugly definition
+ char gamma[x] -> char *gamma; gamma=alloca(x);
+
+ * removed bug (wrong length for 10 bit-gamma) in send_gamma_data
+
+ * changed all buffer-definitions to unsigned char and insterted
+ type conversions, so there are no more warnings because of
+ typemismatches.
+
+ * corrected bad definition of set_DCF2_gamma_output_bits
+
+
+sane-0.67 -> 0.68
+-----------------
+
+ * changed open config to fp = sanei_config_open(UMAX_CONFIG_FILE)
+
+ * changed all set OPT...BIND commands, endless-loop happend in sane-0.67
+ =>ane-0.67-umax-fix.diff.gz
+ after that patch changed same for ten_bit_mode
+
+ * changed some strdup() to (SANE_Char *)strdup()
+
+ * added UMAX Astra 610S as supported scanner. it has the same problems
+ in color-mode like the Astra 600S.
+
+
+sane-0.68 -> 0.69
+-----------------
+
+ * changed maximum y-resolution from optical_res to y_res
+
+ * changed sane_cancel (waitpid) like suggested by David Mosberger
+
+ * added #include <lalloca.h> for AIX-support
+
+ * replaced call to umax_wait_scanner with umax_do_calibration
+ after umax_start_scan in umax.c
+
+ * moved sense_handler to umax-scsi.c
+
+ * removed call to umax_get_data_buffer_status in reader_process
+
+ * added umax_send_shading_data, umax_send_gain_data
+ and umax_read_shading_data, umax_read_gain_data
+
+ * changed name: umax_read_data_block -> umax_read_image_data
+
+ * changed length offest in do_inquiry from 5 to 4
+ and changed set_inquiry_length-offset from 5 to 4
+
+ * added calib_lines to structure US and added it to
+ set_window - command in umax-scsi.c
+
+ * changed in umax-scsi.c routine identify_scanner:
+ vendor and product is tested for each model instead of
+ vendor=="UMAX " and only model tested!
+ Because of that the format of scanner_str has changed
+ from product,product,...
+ to vendor,product, vendor,product,...
+
+ * added support for Linotype Hell Jade (LinoHell Office)
+
+ * added empty routine umax_do_calibration in umax-scsi.c, it shall be called
+ after umax_start_scan!
+
+ * replaced all umax_*scsi with sanei_*scsi, so the umax-driver
+ now directly calls the sanei_scsi-commands.
+
+ * moved sense-handler from umax.c to umax-scsi.c
+ and added detection for driver-calibration-request
+ sense_handler got a new parameter (void *arg).
+
+ * changed wait_scanner for SUN: usleep(0.1sec) -> sleep(1s)
+ this is only a bad bugfix that will be replaced one day!
+
+
+sane-0.69 -> 0.70
+-----------------
+
+ * moved reader_process to umax-scsi.c
+
+ * changed include <sane/config.h> for _AIX and non-_AIX
+
+ * added missing "," in definition line for UMAX Astra 1200S in umax-scanner.h
+
+ * added in umax-scsi.c in function identify_scanner a test that only
+ warnings and errors are printed if vendor="UMAX "
+
+ * added routine umax_order_line_to_pixel and umax_order_line
+
+ * moved reader_process from umax.c to umax-scsi.c
+ and added routine for color ordering.
+
+ * reset length offest in do_inquiry from 4 to 5
+ and set_inquiry_length-offset from 4 to 5
+ because umax-S6E didn't work with it!
+
+ * corrected error in identify-scanner in vendor-test
+
+ * changed end-detection of list of known scanners from
+ #define known_scanners 15 to last item "END_OF_LIST"
+
+ * added routine that corrects wrong inquiry-data from
+ Astra 600S and Astra 610S
+
+ * added test and selection for do_color_ordering in check_values
+
+ * changed __sun-code in umax_wait_scanner because the scsi-driver
+ answers with IOERROR instead of DEVICE_BUSY
+ (this is only a bugfix for a little time)
+
+
+sane-0.70/0.71 -> 0.72
+----------------------
+
+ * inactivated selection of quality calibration (until it is supported
+ by the driver)
+
+ * changed maximum x_resolution from optical_res to max_x_res
+
+ * reordered DBG-levels and defined them by symbols
+
+ * changed all sizes that used type int to type size_t
+
+ * changed wait_scanner for testing !sane_status_good,
+ because testing sane_status_device_busy does not work with
+ all scsi-drivers!
+
+ * changed ccd-order in umax_order_line, the order is now
+ specified by 9 values (before by 3 values), changed
+ order tables and added a table for Astra 600S and
+ another table for Astra 610S
+
+ * changed ccd-order, now based on optical_resolution
+ and added new routine umax_forget_line
+
+ * added inquiry-block for UC1200S: NOT TESTED!
+
+ * added inquiry-block for UC1260: NOT TESTED!
+
+ * included print_inquiry into umax-scsi.c
+
+ * added correction-routine for x_res > 600 dpi, phys_width is
+ corrected in umax-scsi.c: bound_scanarea
+
+ * changed umax-scsi: sense_handler:
+ changed test for valid sense-block
+ added test for button pressed
+
+ * added output of sense-code and error-code in sense_handler
+
+ * added options to select calibratin and scan exposure times
+
+ * added options to select calibratin and scan lamp density
+
+ * moved all option-names/titles/descr. to saneopts.h
+
+ * combined bind for highlight, shadow, analog-gamma and new
+ exposure time functions to rgb-bind
+
+ * added set_WD_line_arrangement(buffer_r, WD_line_arrengement_by_driver);
+ if driver is doing color-ordering from line to pixel
+
+ * included umax-scsi.c into umax.c
+
+ * included umax-struct.h into umax.h
+
+ * included US-structure into Umax_Device-structure
+
+ * added free(scanner->device->buffer) to sane_close
+
+ * added free(scanner->device->pixelbuffer) to sane_cancel
+
+ * added free(scanner->device->pixelbuffer) to do_cancel
+
+ * added SANE_UNIT_MICROSECOND to exposure-times
+
+ * added output of status-string in wait_scanner
+
+ * moved some options for Scan-mode-block to Enhancemant-block
+
+sane-0.72 -> 0.73
+-----------------
+
+ * disabled RGB_BIND if no such value is available
+
+ * included readproc
+
+ * included bound_scanarea into check_values, problem
+ with wrong scanarea for UTA should be solved now!
+
+ * all scanmode- and scansource-strings are #DEFINEd now
+
+sane-0.73 -> 0.74
+-----------------
+
+ * added support for 12/36 bits per pixel (for Astra 1220S)
+
+ * added support for Astra 1220S
+
+ * included inquiry data for UG80 (Escom Image Scanner 256)
+
+ * moved WAIT_SCANNER from umax_read_data to umax_read_image_data,
+ umax_read_shading_data now works!
+
+ * added umax_start_scan at the end of calibration by driver,
+ the scanner does not hang any more if quality calibration is enabled!
+ There must'nt be a "wait_scanner" in calibration by driver routine!!!
+
+ * added usage of driver internal values for calibration by driver if
+ the scanner does not give back the informations about the shading data:
+ width = dev->width * dev->inquiry_optical_res ( * 3 in RGB-mode )
+
+ * added 2 calibration-routines:
+ - use last line for shading data
+ - calculate average value for shading data
+ - prepared routine for complex calculation
+
+ * added gamma download curve format type 0 and 1
+
+ * defined gamma DCF = 1 for UC1200S and UC1260
+
+ * defined gamma DCF = 0 for UC1200SE and ARCUS PLUS
+
+ * changed sense_handler: if bad sense_key => DEVICE_BUSY
+ problem with black area at top of scan for some SCSI-adapters is solved now
+
+ * changed wait_scanner: waits 0.5 sec now
+
+ * disabled quality calibration in preview mode
+
+ * made upper_left_x and upper_left_y even values
+ it looks like even resolutions > 600 dpi work now!
+ (not ok!!!)
+
+ * added sigterm_handler for umax_reader_process
+ changed sane_canel, do_canel and do_eof(=close_pipe),
+ cancel now works!
+
+ * changed trim_rowbufsize that made problems with SGI,
+ there has been an overflow because of big buffersize
+
+
+sane-0.74 -> 1.00 (build 0)
+---------------------------
+
+ * added output of umax-backend-version in sane_init
+
+ * added support for Linotype Hell Jade2 (Vobis ScanBoostar Premium)
+ SCSI-ID "LinoHell","Office2"
+
+ * changed base of calculation of scanwidth and scanlegth from
+ pixel to resolutionbase (1/300, 1/600 or 1/1200 inch)
+ problem with wrong pixelcount at higher resolutions should be
+ solved now
+
+ * changed selection for calibration mode
+
+ * changed calculation for width in pixels for lineart and halftone mode
+
+ * added inquiry for UMAX UC1200SE
+
+ * corrected 12/36-bit-mode in send_gamma_data and array in umax.h
+
+ * added support for Gemini D-16
+
+
+sane-1.00-build-0 -> build-1
+-----------------------------
+
+ * added support for Nikon AX-210
+
+ * changed all grey to gray (David Mosberger asked for it)
+
+ * changed bug in gray gamma table conversion
+
+ * added Linotype Hell Saphir 2 as supported scanner
+
+ * changed umax-uc1260.h
+
+ * added "- 1" in umax_order_line:
+ else if (dev->pixelline_opt_res < length * 3 - CCD_distance * 3 - 1)
+ else if (dev->pixelline_opt_res < length * 3 - CCD_distance - 1)
+
+ * changed all allloca() to malloc() + free()
+
+ * removed options speed and smear, I got the info from umax that
+ these values should never be changed!
+
+ * removed ten_bit_mode and twelve_bit_mode options, added option bit_depth
+ and added support for 9, 14 and 16 bpp
+
+ * replaced u10_range and u12_range by dynamically set scanner.output_range
+
+ * removed static allocation for gamma_table[0..3], this is done dynamically
+ in sane_open and freed in sane_close now.
+
+ * added an empty string to the end of scan_mode_list and source_list
+
+build-1 -> build-2
+------------------
+
+ * added "*info |= SANE_INFO_RELOAD_PARAMS;" in control_option set bit_depth
+
+ * added inverted calibration modes for Astra 6X0S scanners.
+
+
+build-2 -> build-3 (sane-1.0.1)
+-------------------------------
+
+ * inversion of calibration is automatically set for Astra 6X0S and Vista S6E
+
+ * check for machine endianess is done only at backend start now!
+
+ * made umax_do request_sense static
+
+
+build-3 -> build-4
+------------------
+
+ * Added option name and parameter in debug output in option set value
+
+ * Added option name in debug output in option get value
+
+ * Changed calculation of pixels/line and lines, may be the problem
+ with shaered images at resolutions>600 dpi is solved now
+ later Remark: This error does still occur, but not so often!
+
+
+build-4 -> build-5
+------------------
+
+ * Changed calculation in umax_order_line, color images should
+ have the correct length now for Astra 6X0S and Vista S6E
+
+ * Added DOR resolutions and area
+
+
+build-5 -> build-6
+------------------
+
+ * Bits for ADF and UTA in driver internal inquiry block (old UMAX scanners)
+ are set dynamically now.
+
+ * Added Genius ColorPage-HR5 (vendor KYE) (=Astra 1200S) as supported scanner
+
+ * Added Astra 2400S as experimentally supported scanner
+
+ * Added pauses for Astra 2400S
+
+ * Removed reposition_scanner at start of scan, Astra 2400S does not work with it!
+
+ * changed debug output in correct_inquiry
+
+ * for UMAX S12 the driver does not wait any more until scanner is repositioned
+ this is experimental, it may work with other scanners too!
+
+
+build-6 -> build-7
+------------------
+
+ * changed some int -> unsigned int (resolution and scanwidth etc)
+
+ * calculate_pixel is called with right values in UTA mode now.
+
+ * if DOR resolution is not defined and DOR is available
+ the DOR resolution is set to double standard resolution
+
+ * removed wait_scanner after set_window-command
+
+ * added Mirage D16-L as supported scanner
+
+ * Astra 2400S works stable now
+
+
+build-7 -> build-8
+------------------
+
+ * for Mirage D-16L the driver does not wait any more until scanner is repositioned
+ this is experimental, it may work with other scanners too!
+
+ * Mirage D-16L does not give back informations for calibration by driver,
+ added new modus that "guesses" the values for Mirage D-16L.
+
+ * Added read_shading_data to 16 bit calibration routine and made a routine for
+ averaging with low byte first and one for high byte first
+
+ * Byte order (HBT) is set always (also in lineart and halftone)
+ because it is used in driver calibration
+
+ * Added relevant_*_res the is set to normal or double resolution values
+
+ * Added test if scsi buffer is large enough for one shading line
+
+ * selection for Calibration mode, Shading type and Speed/Smear
+ are only compiled in if define is set in umax.h
+
+
+build-8 -> build-9
+------------------
+
+ * slow speed options is preset for Vista T-630
+
+ * speed/smear can be set now (forgotten #ifdef)
+
+ * selection of exposure times now is only available if it is enabeld
+
+ * gamma table is disabled in lineart and halftone modes
+
+ * if image is transmitted completly sane_read (close_pipe)
+ returns with SANE_STATUS_GOOD in adf mode and in any other case
+ with SANE_STATUS_EOF
+
+
+build-9 -> build-10
+-------------------
+
+ * removed change about sane_read returns SANE_STATUS_GOOD in ADF mode
+
+ * transformed all gif files into jpeg format because of all the
+ trouble about the gif licence. Will never use gif again!
+
+ * added correction for inquiry-ADF-bit for Astra 2400S
+
+ * added second test method to detect ADF error in sane_start:
+ inquiry block is read and cover open, jammed and no paper is tested
+
+
+build-10 -> build-11
+--------------------
+
+ * test for adf errors (sane_start) is now only done if adf is selected
+
+
+build-11 -> build-12
+--------------------
+
+ * moved adf error tests from sane_start to umax_start_scan
+
+ * sane_control_option: printing option name is set to "(none)" if pointer is NULL
+
+ * added error message after each call of sanei_scsi_cmd
+
+ * changed manipulation of ADF bit for Astra 2400S in umax_correct_inquiry
+ from dev->adf to set_inquiry_sc_adf()
+
+
+build-12 -> build-13
+--------------------
+
+ * changed inquiry data of UC1200SE
+
+ * added set_inquiry_CBHS(50) in correct_inquiry for UC1200SE
+
+ * correct_inquiry is called for scanners with short inquiry now
+
+ * dev->inquiry_max_calib_lines is preset to 66,
+ problem with Vist S6E V1.6 should be solved this way.
+
+ * inquiry block parameters > 0x93 are only used if block is long enough
+
+
+build-13 -> build-14
+--------------------
+
+ * changed inquiry_cbhs_[min,max] -> inquiry_[contrast, brightness, threshold,
+ highlight, shadow]_[min,max] and set correct values for CBHS_255 and CBHS_50
+
+ * changed cbhs_str[CBHS_50] from "78-178" to "0-50"
+
+ * changed umax-uc1200se.h inquiry byte 0x64 bit 5 to 0 (gamma download format != 2)
+ and wdb len from 0x30 to 0x31
+
+ * disabled halftone pattern download, and halftone dimension selection - not ready
+ preselected is a 8x8 built in halftone pattern
+
+ * removed set_inquiry_CBHS(50) from correct_inquiry for UC1200SE
+
+ * added "Astra 2200 " as supported scanner
+
+ * added cast from (void *) to (unsigned char*) in umax_send_gamma_data
+
+
+build-14 -> build-15
+--------------------
+
+ * add "(unsigned)" to option number test in sane_control_option
+
+ * for Astra 1200 the driver does not wait any more until scanner is repositioned
+ this is experimental, it may work with other scanners too!
+
+
+build-15 -> build-16
+--------------------
+
+ * OPT_SOURCE: removed change of width/height and "*info |= SANE_INFO_RELOAD_PARAMS;"
+ from get_value to set_value and added "*info |= SANE_INFO_RELOAD_OPTIONS;"
+
+
+build-16 -> build-17
+--------------------
+
+ * changed calibration mode from SHADING_TYPE_AVERAGE_INVERT to SHADING_TYPE_AVERAGE
+ for UMAX S-6E, UMAX S-6EG and Vista-S6E
+
+ * changed several int -> unsigned int
+
+ * added support for sanei_scsi_open_extended and variable scsi buffer size
+
+
+build-17 -> build-18 (sane-1.0.2)
+---------------------------------
+
+ * some cosmetic changes of the form
+ if (..) {...}
+ =>
+ if (..)
+ {
+ ...
+ }
+
+ * removed unnecessary SHADING_TYPE-handling routines for UMAX S-6E, UMAX S-6EG and Vista-S6E
+
+ * scsi buffer is only reallocated when size has changed
+
+
+build-18 -> build-19
+--------------------
+
+ * added UMAX PowerLook III as supported scanner
+
+ * added EPSON Perfection600 as supported scanner (is a Astra 1200S)
+
+ * type of option 0 (Option numbers) is set to SANE_TYPE_INT now (undefined before)
+
+ * removed bug that mixed 12 bit and 14/16 bit gamma table when 14 or 16 bit are supported
+ and changed value range of grey custom gamma table:
+ - maximum output value is 255 for 8 bits/pixel
+ - maximum output value is 65535 for 9-16 bits/pixel
+ the custom gamma table does work now with 9-16 bits/pixel output mode
+
+ * added routine that reverses bit order in lineart mode when scanner sends LSB first in lineart
+
+
+build-19 -> build-20
+--------------------
+
+ * added variable calibration_width_offset, Mirage D-16L offset of 308 is defined there
+ and added offset of 28 for PowerLook III
+
+ * umax_do_calibration: guessed calibration data vaules use 2 bytes/color if scanner
+ supports gamma input bit depth supports 2 bytes/color
+
+ * calibration by driver now does work for PowerLook III
+
+ * added function umax_set_rgb_bind() that sets the sensitivity of some options
+ that make available different settings for RGB. This function now is called
+ when scanmode is selected.
+
+ * changed some int to unsigned int
+
+ * made dev->pause_after_reposition = -1; as default, so as default sane-umax does not wait
+ any more while the scanhead is moving back - this may break the support of some scanners
+ so it may have to be changed (dev->pause_after_reposition = 0;) for some scanners.
+ reported to work for:
+ - Supervista S12
+ - PowerLook III
+ - Astra 2200
+
+
+build-20 -> build-21 (sane-1.0.3)
+---------------------------------
+
+ * Added Linotype "JADE" as supported scanner
+
+ * Removed bug in sane_close that caused segfault when
+ sane_close was called twice with the same scanner handle
+
+build-21 -> build-22
+--------------------
+
+ * replaced fgets() by sanei_config_read()
+
+ * added command queueing for scsi read commands
+ - removed WAIT_SCANNER scsi command call after read command
+ - the additional buffers are allocated in the reader process
+ - the number of buffers can be defined in umax.conf
+ with option scsi-maxqueue [1..8] default:2
+ (did some tests with Supervista S12 and PowerLook III
+ on the same scsi controller (ncr53c810):
+ command queueing works, it is possible to start
+ both scanners at the same time. The scanner with the
+ higher scsi-ID (=priority) does scan without stops,
+ the other scanner has to wait long time between the
+ scsi-read commands, it also is possible to give
+ bothe scanners different scsi command queueing depth).
+
+ * prepared replacement of pipe by sanei_ipc_* routines
+
+ * added routines umax_get_lamp_status and umax_set_lamp_status
+
+ * updated inquiry output (new bits from powerlook scsi protocol 1.0 X101)
+
+ * added new (powerlook scsi protocol 1.0 X101) window descriptor block entries to umax-scsidef.h
+
+ * added button protocol (3 buttons, from powerlook scsi protocol 1.0 X101)
+
+ * added button "lamp off" to turn off scanner lamp
+ (this option may be remoeved again in later version, may be
+ it will be replaced by an autmatic lamp turn off function)
+
+ * added options to umax.conf
+ lamp-off-at-exit [01] default:0
+ lamp-off-time [10..720] (in minutes) default:30
+
+ * if lamp_off_at_exit == 1 and lamp_control_available == 1
+ the scanner lamp is turned off in sane_close
+
+ * renamed umax-scanner.h and umax-"scannername".h to umax*.c
+ because these files create data code
+
+
+build-22 -> build-23
+--------------------
+
+ * scsi commands set/get lamp control are send with a command length of
+ 10 bytes instead of 6 bytes and control bit #7 is in byte 0x03
+ and not in byte 0x04 (it is described incorrect in the umax doc)
+
+ * enabled lamp control for Astra 2200
+
+ * removed umax.conf options lamp-off-at-exit and lamp-off-time
+
+ * added frontend option lamp-off-at-exit
+
+ * added frontend option lamp-on
+
+ * forcing calibration_bytespp = 1 for Astra 2200 - quality calibration does work now
+
+ * for Astra 2200 selection for different x/y resolutions is disabled
+
+
+build-23 -> build-24 (sane-1.0.4)
+--------------------
+
+ * forcing calibration_bytespp = 1 for Astra 2100S
+
+ * Added Astra 2100S as supported scanner
+
+ * enabled lamp control for Astra 2100S
+
+ * Added warning in sane_control_option if option could not be set
+
+
+build-24 -> build-25
+--------------------
+
+ * dev->lamp_control_available is preset to 0
+
+ * dev is erased (0) after it is allocated
+
+ * added special options for PowerLook 3000:
+ - calibration is done for each CCD pixel
+ - calibration_bytespp is set to 1
+ the scanner still is not listed as supported scanner because
+ the changes are not tested
+
+ * added options that are read from umax.conf:
+
+ - execute-request-sense:
+ values: 0=disabled, 1=enabled, default=0
+ If set to 1 umax_do_request_sense is called in umax_do_calibration.
+ This can hang the system (but has been enabled until this version)
+
+ - scsi-buffer-size-min, scsi-buffer-size-max:
+ values: 4096-1048576, default min=65536, max=131072
+
+ - scan-lines, preview-lines:
+ values: 1-65535, default scan-lines=40, preview-lines=10
+ define the maximum number of lines that are scanned into one buffer
+
+ - force-preview-bit-rgb:
+ values: 0=disabled, 1=enabled, default=0
+ set preview bit in rgb real scan
+
+ - slow-speed, care-about-smearing:
+ values: -1=auto, 0=disabled, 1=enabled, default=-1
+ dangerous options, needed for some scanners
+
+ - calibration-full-ccd:
+ values: -1=auto, 0=disabled, 1=enabled, default=-1
+ do calibration for each pixel of ccd instead of selected image
+
+ - calibration-width-offset:
+ values: -1=disabled, >=0 set value
+ add an offset width to the calculated with for image/ccd
+
+ - calibration-bytes-pixel:
+ values: -1=disabled, 0=not set, 1=1 byte/pixel, 2=x bytes/pixel
+ use # bytes per pixel for calibration
+
+ - invert-shading-data:
+ values: -1=auto, 0=disabled, 1=enabled, default=-1
+ invert shading data before sending it back to the scanner
+
+ - lamp-control-available:
+ values: 0=automatically set by driver - if known, 1=available, default=0
+
+ * updated html-documentation
+
+ * updated sane-umax.man
+
+ * added pre focus options (PowerLook 3000):
+ - FP - fix focus position
+ - FDC - lens calibration in doc position
+ - PF - disable pre focus
+ - LCL - use 0.6/0.0mm holder focus position
+
+ * added #define SANE_I18N(text) text to umax.c. This is to mark the backend
+ specific texts that shall be translated by the frontend
+
+
+build-25 -> build-26
+--------------------
+
+ * added umax.conf option handle-bad-sense-error #
+
+ * added Mirage II as supported scanner
+
+ * added routine umax_set_max_geometry that defines available surface
+ and resolution in dependance of scansource and double optical resolution
+ (before this bugfix the change of dor mode overwrote the settings of
+ scansource and vice versa)
+
+ * added ESCORT Galleria 600S as supported scanner, is an Astra 600S
+
+ * removed if (config_line[len - 1] == '\n')... while reading config file
+
+ * changed some static unsigned int to static int
+
+ * sane_exit does free devlist
+
+ * added some options for Powerlook 3000 - still is not completly supported
+
+
+build-26 -> build-27
+--------------------
+
+ * added Linotype Saphir4 as supported scanner (is a Powerlook III)
+
+ * increased length of vendor, product and version by 1 to make sure the
+ string always ends with '\0'
+
+ * changed default minimum scsi buffer size from 64KB to 32 KB
+
+
+build-27 -> build-28
+--------------------
+
+ * removed "#include <assert.h>" from umax.c, assert() is never called
+
+ * added UMAX Powerlook 3000 as supported scanner
+
+ * bugfix for 3 pass scanning:
+ reposition_scanner is called in sane_start for 2nd and 3rd pass of 3 pass scan
+
+
+ * bugfix for UTA and DOR geometry offsets:
+ - added inquiry_uta_x_off and inquiry_uta_y_off
+ - geometry ranges are defined from xoff..xoff+dx, yoff..yoff+dx now
+ - check_values also does test for this range
+ - removed dev->maxwidth and dev->maxlength, values are calculated in place now
+
+ * bugfix for DOR:
+ - bottom-right edge keeps in position if possible when DOR is switched on
+
+ * bugfix for Astra 600S and 610S color mode:
+ - scale_y is set to 0.5 if y_resolutions is smaller than optical_res/2
+ this does fix the color scan problems for Astra 610S.
+
+ * added Heidelberg Linoscan 1400 "HDM LS4H1S" as supported scanner
+
+
+build-28 -> build-29
+--------------------
+
+ * removed bug in umax_set_max_geomentry: now left y keeps in position when possible
+
+ * rgb bind keeps unchanged when scanmode != color (only gray selection active in this case)
+
+ * in function static int umax_give_scanner(Umax_Device *dev) moved umax_reposition_scanner(dev);
+ to the end of the function
+
+ * set calibration area for astra 2200 to full ccd and calibration_bytespp to 2
+
+ * UC840 does wait in reposition_scanner until scan head stops moving
+
+ * set minimum resolution to 5 (was 1 before what could make problems)
+
+
+build-29 -> build-30
+--------------------
+
+ * added EDGE KTX-9600US as supported scanner
+
+ * Changing scansource does not change lower left selection edge
+ if not necessary
+
+
+build-30 -> build-31 (sane-1.0.6)
+---------------------------------
+
+ * sane-umax.man uses @LIBDIR@ and @CONFIGFIR@
+
+ * changed automatic calibration_width_offset marker from -1 to -99999
+
+ * changed
+ dev->calibration_area to 1 and
+ calibration_width_offset to -1 and
+ inquiry_max_calibration_data_lines to 66
+ for UMAX Supervista S-12, LinoHell Office and LinHell JADE
+
+
+build-31 -> build-32 (sane-1.0.7)
+---------------------------------
+
+ * added Nikon AX-110 as supported scanner (Vista S6E)
+
+ * added umax.conf option "gamma-lsb-padded" with options:
+ -1 = auto
+ 0 = inactive (msb padded)
+ 1 = active (lsb padded)
+ activated for astra 1220s, internal 12 bit gamma correction does work now
+
+
+build-32 -> build-33
+--------------------
+
+ * added USB support for Astra 2200
+ thanks to Frank Zago <fzago@greshamstorage.com>
+ for creating umax-usb.c and suggesting several changes to umax.c
+
+ * added umax.conf option "connection-type", values: 1=scsi, 2=usb
+
+ * added umax.conf device selection "usb 0x1606 0x0230" (usb vendor_id product_id)
+
+ * removed #ifdef HAVE_SANEI_IPC parts (SANEI_IPC was never defined)
+
+
+build-33 -> build-34 (sane-backends-1.0.8)
+--------------------
+
+ * removed bug in reader_process / umax_queue_read_image_data:
+ - the integer value that keeps the length information is kept valid
+ as long a queued scsi command is still running now
+ - when the scsi command returns with less data than requested
+ then the routine does handle this correct now
+ (before the routine handled this as if the requested amount of
+ data was returned)
+
+ * backend waits until scanhead has repositioned after scan for UMAX UC1260
+
+ * y_dpi quanitsation is set to 5 (same as x_dpi quantisation - was 1)
+
+
+build-34 -> build-35
+--------------------
+
+ * changed ID string "LS4H1S " to "LS4H1S " (remove one space)
+
+ * activated lamp control for Astra 1220S V1.5
+
+
+build-35 -> build-36
+--------------------
+
+ * added PowerLook 2100XL as supported scanner
+
+ * settings for PowerLook 2100XL:
+ calibration_width_offest = 52
+ (calibration_bytespp = 2, default)
+ (calibration area = image, default)
+
+ * force_quality_calibration defined for PowerLook 2100XL:
+ (normal calibration mode expects different calibration_width_offsets
+ for PowerLook 2100XL, so it is not possible to calculate the correct
+ number of calibration pixels in normal calibration mode)
+ - disable quality calibration option for frontend
+ - always set quality calibration bit when scanning
+
+ * changes for exposure times:
+ - Inquiry does print correct maximum value now
+ - changed variable type from SANE_FIXED to SANE_INT
+ - exposure times setting for colormode does work correct now
+ - as default there is only one common setting for exposure times in rgb mode,
+ added umax.conf option exposure-time-rgb-bind to enable different settings
+ for each color
+ - added option select-calibration-exposure-time, disabled by default.
+ if disabled then the calibration expousre times are the same as the scan exposure times
+
+ * added UMAX PS-2400X as supported device
+
+ * added batch scanning support:
+ Options:
+ --batch-scan-start: calibration, scan, scanhead is not moved into home position
+ --batch-scan-loop: no calibration, scan, scanhead is not moved into home position
+ --batch-scan-end: no calibration, scan, scanhead is moved into home position
+ --batch-next-tl-y: defines the y start position of the bext batch scan
+
+ - calibration for batch scan needs a different offset and always is done for full ccd.
+ PowerLook 2100XL: calibration_width_offset_batch = 1052
+ Powerlook III: calibration_width_offset_batch = 828
+
+
+build-36 -> build-37
+--------------------
+
+ * added Linotype Hell SAPHIR3 as supported scanner
+
+ * if batch-next-tl-y is not set then the backend uses br_y
+
+
+build-37 -> build-38 (sane-backends-1.0.9)
+--------------------
+
+ * added Power Look 2000 as supported scanner
+
+
+build-38 -> build-39 (sane-backends-1.0.10)
+--------------------
+
+ * Power Look 2000: corrected wrong calibration-width-offset from 52 to 22
+ and added calibration-width-offset-batch to 24
+
+ * initialized some global pointers and num_devices in sane_init
+
+ * replaced fork() by thread for OS2
+
+build-39 -> build-40 (sane-backends-1.0.12)
+--------------------
+
+ * UC630: dev->pause_after_reposition = 0
+
+
+build-40 -> build-41 (sane-backends-1.0.13)
+--------------------
+
+ * Astra 2200 SU via USB connection: quality calibration is reset and not selectable
+
+
+build-41 -> build-42
+--------------------
+
+ * replaced fork() routines by sanei_thread routines
+
+ * added call sanei_scsi_req_flush_all(); to do_cancel - in threaded case this is not done when reader_process is cancled
+
+ * in reader_process: marked freed scsi buffers as freed(NULL). This is necessary when reader_process is run as thread!
+
+ * Backend is compatible to Mac OS-X now.
+
+
+build-42 -> build-43
+--------------------
+
+ * DOR mode does test for non negative upper_left_x values, set to 0 if negative
+
+
+build-43 -> build-44
+--------------------
+
+ * the sense_hanlder stores the sense data in buffer[0] when valid sense data is avialable
+
+ * do_calibration:
+ - corrected bug in reading calibration width from scanner (added /bytespp)
+ - when additional request sense is not called then the buffer is not erased,
+ the sense data from the sense_handler is used
+ - when additional request sense is called then the buffer is erased at first
+
+build-44 -> build-45
+--------------------
+
+ * added defualt options for Linotype Opal2
+ * changed bug in highlight-blue function (using green value)
+