1CHANGES for the SANE Mustek USB backend 2 32004-03-02 4 * Release of version 1.0-18. 5 62004-03-02 7 * Added workaround for data0 toggle bug. I think this is a bug in the 8 chipset. The chipset doesn't set the toggle to data0 when the endpoints 9 are reset. As this is done whenever the device files/libusb is closed, 10 this backend worked only once. Now we count the number of URBs and 11 just read/write some crap if the number is odd. 12 132003-09-21 14 * Release of version 1.0-17. 15 162003-09-21 17 * Fixed check for single quotation marks. 18 192003-02-22: 20 * Release of version 1.0-16. 21 222003-02-22: 23 * Iniatialize global variables explicitly. 24 * Mention ma1509. 25 262002-11-20: 27 * Man page updated concerning The BSDs. 28 292002-11-19: 30 * Added desc file hint to the gt68xx backend. 31 322002-11-17: 33 * Fixed minor issues in the man page. Removed beta status. Added links 34 to other backends for Mustek scanners. 35 362002-07-17: 37 * Release of version 1.0-15. 38 392002-07-17: 40 * Added manufacturer comment in mustek_usb.desc. 41 * Changed brightness to threshold. 42 * Fixed some warnings. 43 * Really check the status in usb_low_open. 44 452002-04-24: 46 * Release of version 1.0-14. 47 482002-04-24: 49 * Undef MIN and MAX if they are defined in mustek_usb_low.h to avoid 50 warnings. 51 522002-04-23: 53 * Free devlist in sane_exit. 54 552002-04-10: 56 * Release of version 1.0-13. 57 582002-04-10: 59 * sane_set_io_mode must return SANE_STAUS_GOOD if non_blocking is false. 60 Check if scanning. 61 * sane_get_select_fd: Check if scanning. 62 * sane_control_option: Cleanup. Avoid segfaults. Catch unknown options. 63 * sane_exit: set freed variable to 0. 64 652002-03-20: 66 * Release of version 1.0-12. 67 682002-03-19: 69 * Option 0 has an empty name now. 70 * Group options have size 0 now. 71 * Checked also for SANE_ACTION_SET_AUTO. 72 * Removed buggy output in sane_control_option. 73 * Added more debug output in sane_control_option. 74 752002-03-17: 76 * Release of version 1.0-11. 77 782002-03-16: 79 * mustek_usb.c: Fixed segfault when opening device again after closing. 80 * mustek_usb.c: Fixed possible segfault when name="". 81 * mustek_usb.c: Type for option 0 must be set to SANE_TYPE_INT explicitly. 82 832002-02-14: 84 * Fixed some problems with wrong formats in DBG statements. 85 862002-02-09 87 * Fixed wrong output in usb_low_read_reg(). 88 892002-01-23: 90 * Fixed undefined operation warnings. 91 922002-01-11 93 * Release of version 1.0-10. 94 952002-01-11 96 * mustek_usb_high.(c|h), mustek_usb_mid.(c|h): commented out unused CCD code. 97 * mustek_usb_mid.h: Fixed OFFSET_TABLE_SIZE. 98 * mustek_usb.c: Fixed bug concerning opening with empty name. 99 * mustek_usb.c, mustek_usb_high.c: Make sure usb_low_exit is only called once 100 per device. Fixed segfault. 101 1022002-01-10 103 * mustek_usb.desc: Status is "beta" now. 104 1052002-01-03 106 * Added link to plustek to manual page. 107 1082001-12-08 109 * Release of version 1.0-9. 110 1112001-12-08 112 113 * Added option max_block_size to limit amount of data acquired in one turn. 114 1152001-12-07 116 117 * usb_low_read_rows: Retry until all the data is received. Set maximum 118 size of data acquired in one turn. 119 1202001-11-15 121 * Release of version 1.0-8. 122 1232001-11-15 124 * Updated manual page concerning FreeBSD and kernel configuration. 125 1262001-11-14 127 128 * Added 600 USB detection. No support at all yet. 129 * Removed unnecessary calls to usb_low_open and usb_low_close. This 130 fixed the FreeBSD problems. 131 * Updated all SANE comments ("1200UB and similar"). 132 1332001-11-11 134 135 * Added function usb_high_scan_adjust_mono_600_exposure. 136 1372001-10-14 138 139 * Added start values for the 1200USB. 140 * Removed load_private_profile (now in usb_high_scan_init). 141 1422001-10-07 143 * Release of version 1.0-7. 144 1452001-10-07 146 147 * usb_low: fixed output if scanner has wrong vendor/product id. 148 * usb_high: Added the detection of 300&600 sensor again. Mustek seems to 149 have used both sensors in the Mustek 1200 UB, so we must distinguish them. 150 * Disabled 1200 USB for release. 151 1522001-09-30 153 * 1200CU_Plus has Canon600 sensor (fixed). 154 1552001-09-15 156 * Added functions for sensor nec600 (1200 USB) in mustek_usb_mid. 157 * Changed init_asic and exposure times for 1200 USB. 158 1592001-09-13 160 * Release of version 1.0-6. 161 1622001-09-13 163 * Added check for negative width and height. 164 * Changed status to NEW (internally: beta). 165 * Added check for too high gamma values (xscanimage is buggy). 166 * Return SANE_STATUS_CANCELLED in sane_read if scan was cancelled. 167 * Updated manual page. 168 1692001-09-12 170 * Added support for fitting lines (recalculation of resolution) for 171 color mode 172 * Added support for fitting lines (recalculation of resolution) for 173 lineart mode 174 * Better debug output for unmatched dpi in mustek_usb_mid. 175 * Changed default mode to "gray". 176 * Added gamma table support (software) for color + gray, stayed with 177 brightness for lineart. 178 * Added output of total bytes scanned (+ check). 179 * Decreased maximum width and height to avoid freezing the scanner. 180 * Added check for unknown options in mustek_usb. 181 * Code cleanup in mustek_usb, mustek_usb_high. 182 * Added SANE_I18N macro. 183 1842001-09-11 185 * Added support for idependent x and y resolution. 186 * Changed option resolution to constraint_range. 187 * Increased motor speed when returning back home for 600 dpi motor. 188 * Increased resolution to 1200 dpi for 1200CU, 1200CU Plus and 1200 UB. 189 * Increased resolution to 600 dpi for 600CU. 190 * Added support for fitting lines (recalculation of resolution) for 191 gray mode 192 1932001-09-10 194 * Release of version 1.0-5. 195 1962001-09-10 197 * mustek_usb_mid: Added functions for 300 dpi sensor. 198 * mustek_usb_mid: Fixed 200 dpi mode. 199 * mustek_usb_mid: added general sensor functions. 200 2012001-09-09 202 * mustek_usb_mid: Added functions for 600 dpi motor. 203 * mustek_usb_mid, usb_high: Added functions for selecting the motor 204 functions. 205 2062001-09-06 207 * Release of version 1.0-4. 208 2092001-09-06 210 * usb_high: use only lower case for functions. 211 * mustek_usb: use only lower case for variables and functions. 212 * mustek_usb: remove unnecessary functions. 213 2142001-09-01 215 * usb_high: removed unnecessary macros and types. 216 * usb_high: use only lower case for variables and upper/lower mixed for 217 types. 218 2192001-08-30 220 * usb_low, usb_mid: use only lower case for functions. Fixed some 221 spellings and debug messages. 222 2232001-08-29 224 * usb_low: use only lower case for variables and upper/lower mixed for types. 225 remove unnecessary types. 226 2272001-08-28 228 * Also include sane-usb man page in tar.gz file to avoid make errors. 229 * Only use arrays of SANE_Byte for data transfer to scanner in usb_low. 230 2312001-08-26 232 * Check the result of all mallocs. 233 * Sensor is now only in mustek_usb_low. 234 * Removed gamma functions from code (weren't used anyway). 235 * Contrast is only active for color and gray scans. 236 2372001-08-26 238 * Release of version 1.0-3. 239 2402001-08-26 241 * Set up motor600 functions using the motor1200 with double dpi. This 242 doesn't work for 200 dpi, however. Removed 200 dpi from list until I 243 understand what's going on. 244 * Updated manual page 245 * Updated .conf file 246 2472001-08-25 248 * Used proper SANE_Status return values in mustek_usb_mid for all functions. 249 * Used proper SANE_Status return values in mustek_usb for all functions. 250 * Added Trust scanner to mustek_usb.desc. 251 * Removed Mono4 and Mono1 functions. 252 2532001-08-23 254 * Removed ifdefs in mustek_usb_mid. 255 2562001-08-22 257 * Removed GREENGRAY macro and included code (didn't work anyway). 258 * Removed 36 and 48 bit calibration. 259 * Added RIE (return if error) macro. 260 2612001-08-19 262 * Removed io functions in mustek_usb_low. 263 * Used proper SANE_Status return values in mustek_usb_low for all functions. 264 * Fixed lots of debug output in mustek_usb_low. 265 * Formatting update in mustek_usb_low. 266 * Used proper SANE_Status return values in mustek_usb_high for all functions. 267 * Fixed lots of debug output in mustek_usb_high. 268 * removed unnecessary modes in mustek_usb_high. 269 2702001-08-18 271 * Added manual selection of scanner type in mustek_usb.conf 272 * It's checked now if the scanner was autodetected or manually selected 273 * Set maximum resolution to 300 for 600 CU. 274 * Changed nUSBPipe to fd, which is more appropriate. 275 * Removed #ifdef 0 code from mustek_usb_high 276 * Used proper SANE_Status return values in mustek_usb_low for 277 - io_Open 278 - Open 279 - io_WriteReg 280 - io_ReadReg 281 2822001-08-08 283 * Fixed some format issues 284 * Better debug output 285 * Added support for CANON300 sensor (for 600 CU) 286 2872001-08-07 288 * Added support for sanei_usb v2. 289 * Check vendor/product directly after sane_open. 290 2912001-08-06 292 * Added scan buffer. It's used if the buffer supplied with sane_read is 293 smaller than one scan line. 294 2952001-08-06 296 * Released mustek_usb-backend 1.0-2. 297 2982001-08-05 299 * Support more than one scanner in the .conf file 300 * Use sanei_usb functions 301 * Allow usb vendor device in .conf 302 * Only use usb statements in .conf for all three scanners, comment out 303 device files 304 * Now the correct names are returned if autodetection works 305 * Manual page updates 306 3072001-08-05 308 * Released mustek_usb-backend 1.0-1. 309 3102001-08-04 311 312 * mustek_usb_low: 313 - fixed compilation warnings 314 - fixed compilation problems 315 - fixed C++ to C transition issues (e.g. "initializer element is not 316 computable at load time") 317 - fixed debug output 318 - adjusted some names 319 - removed MEMFREE, MALLOC, LP* 320 * mustek_usb_mid: 321 - fixed compilation warnings 322 - changed printf to DBG 323 - fixed debug output 324 - reformatted 325 * mustek_usb_high: 326 - fixed some DBG statements 327 - fixed compilation warnings 328 - moved global variable to Mustek_Usb_Device 329 - reformatted 330 * mustek_usb: 331 - fixed compilation warnings 332 --> compile runs successfully for the first time since restructuring 333 - removed DWORDS etc. 334 - moved CScanner into Mustek_Usb_device 335 - removed global variables 336 * mustek_usb.conf: updated 337 * removed references to "WORD" 338 * ifdefed unused functions 339 * fixed bug concerning wrong x-resolution after the first scan for 340 low resolutions (e.g. preview). This also fixed the problems with 341 1200 CU. 342 --> Scanning works with 1200 UB, 1200 CU and probably 1200 CU Plus. 343 * added manual page 344 * updated mustek_usb.desc 345 3462001-08-02 347 348 * mustek_usb_high: 349 - fixed lots of compilation problems. 350 - removed LP..., huge*, far* 351 - removed MEMFREE, MEMALLOC 352 - added several "return SANE_TRUE" to SANE_Bool functions 353 - changed printf to DBG 354 - changed Sleep to usleep 355 3562001-07-22 357 * mustek_usb_low: Only one data structure: ma1017. 358 * mustek_usb_mid: 359 - removed // 360 - remove SANE disclaimers 361 - use SANE types 362 - changed to use new usb_low style 363 - made everything static 364 - renamed functions to usb_mid_* 365 * mustek_usb_high: 366 - removed remaining // 367 - reformatted 368 - used SANE types 369 - made everything static 370 - renamed 371 * Fixed quite some compilation errors 372 3732001-07-08 374 * mustek_usb_low: 375 - renamed functions to usb_low/usb_low_io 376 - made all functions static 377 - used DBG instead of printf 378 - moved all status information from global to struct ma1017 379 - rename constructor/destructor 380 - included io constructor/destructor in usb_low 381 3822001-07-01 383 * Added more debug output in attach () when device file couldn't be opened. 384 * Added some tests for NULL pointers in attach () 385 * fixed segfault in sane_exit () 386 * indented all files 387 * fixed mustek_usb_high: 388 - changed // to /* */ 389 - reformatted 390 * fixed mustek_usb_low: 391 - changed // to /* */ 392 - reformatted 393 - removed most non-standard types 394 3952001-05-26 396 * Started working based on the Mustek source code from their FTP 397 server. 398 * Renamed backend to mustek_usb. All files start with this name. 399 * Created: 400 - mustek_usb(.c .h) from 1200ub(.c .h) 401 - mustek_usb_low from ma1017 and ma1017io 402 - mustek_usb_mid from ada* 403 - mustek_usb_high from scanner and calibrator 404 * Used "../include/sane" in #include statements 405 * Used /dev/usbscanner in mustek_usb.conf 406 * Fixed mustek_usb.desc 407 * Fixed mustek_usb.*: 408 - use correct names 409 - no leading "_" 410 - use only C-style comments 411 - moved defines to .h, 412 - reformatted using GNU style 413 - use /dev/usbscanner as default 414 - Fixed DBG output 415 - don't use printf 416 - added more DBG output 417 - added "static" to internal functions 418 - commented out all references to c_scanner 419 - removed references to WORD and other non-standard types 420 - moved read_rows from global to Mustek_Usb_Scanner 421 --> mustek_usb.* compiles 422