Povilas Kanapickas
104ad9b448
genesys: Return errors as exceptions from setup_for_scan()
2019-07-20 11:01:59 +03:00
Povilas Kanapickas
32a3faa3b5
genesys: Return errors as exceptions from *setup_registers() and deps
2019-07-20 11:01:58 +03:00
Povilas Kanapickas
0636787720
genesys: Return errors as exceptions from *stop_motor()
2019-07-20 11:01:57 +03:00
Povilas Kanapickas
e5e9b5dc0d
genesys: Return errors as exceptions from *begin_scan()
2019-07-20 11:01:56 +03:00
Povilas Kanapickas
02efbdee43
genesys: Return errors as exceptions from *xpa_motor_power()
2019-07-20 11:01:55 +03:00
Povilas Kanapickas
8a3b5a88a5
genesys: Return errors as exceptions from *stop_action()
2019-07-20 11:01:54 +03:00
Povilas Kanapickas
fa6e4ab4c3
genesys: Return errors as exceptions from *setup_scan_gpio()
2019-07-20 11:01:53 +03:00
Povilas Kanapickas
86a151a4f2
genesys: Return errors as exceptions from *boot() and friends
2019-07-20 11:01:52 +03:00
Povilas Kanapickas
67ecc10b81
genesys: Return errors as exceptions from *init_gpio()
2019-07-20 11:01:51 +03:00
Povilas Kanapickas
8e9253e301
genesys: Return errors as exceptions from *genesys_init_shading_data()
2019-07-20 11:01:50 +03:00
Povilas Kanapickas
24775d6e0e
genesys: Return errors as exceptions from *homsnr_gpio()
2019-07-20 11:01:49 +03:00
Povilas Kanapickas
08a1ae5625
genesys: Return errors as exceptions from *start_action()
2019-07-20 11:01:48 +03:00
Povilas Kanapickas
c843e3e83d
genesys: Return errors as exceptions from *init_scan_regs()
2019-07-20 11:01:47 +03:00
Povilas Kanapickas
bd6afe3736
genesys: Store available DPI into proper array
2019-07-20 09:16:36 +03:00
Povilas Kanapickas
bca1ab1d99
genesys: Store available resolutions into proper array
2019-07-20 09:16:35 +03:00
Povilas Kanapickas
341061f3df
genesys: Correctly initialize Genesys_Model
2019-07-20 09:16:34 +03:00
Povilas Kanapickas
7d4e7efa4e
genesys: Initialize usb device list in a function
2019-07-20 09:16:33 +03:00
Povilas Kanapickas
847a3a6e7c
genesys: Fix 8400F 2400 dpi scans
2019-07-20 21:17:31 +03:00
Povilas Kanapickas
b29bb66a36
genesys: Add support for infrared scanning on 8400F
2019-07-20 21:17:30 +03:00
Povilas Kanapickas
ce713f95c0
genesys: Refactor XPA lamp setup function to be more extensible
2019-07-20 21:17:29 +03:00
Povilas Kanapickas
c19ab1fce5
genesys: Return errors as exceptions from *init_motor_regs_scan()
2019-07-14 23:41:05 +03:00
Povilas Kanapickas
9c9a118e12
genesys: Return errors as exceptions from *send_slope_table()
2019-07-14 23:41:04 +03:00
Povilas Kanapickas
7d9f4d2c58
genesys: Return errors as exceptions from *init_optical_regs_scan()
2019-07-14 23:41:03 +03:00
Povilas Kanapickas
876b7bba4e
genesys: Return errors as exceptions from *set_fe()
2019-07-14 23:41:02 +03:00
Povilas Kanapickas
ce06801d55
genesys: Support variadic format string in SaneException
2019-07-14 23:41:01 +03:00
Povilas Kanapickas
290f71d6c1
genesys: Move SaneException implementation to source file
2019-07-14 23:41:00 +03:00
Povilas Kanapickas
f258158ff3
genesys: Return errors as exceptions from *send_offset_and_shading()
2019-07-14 23:40:59 +03:00
Povilas Kanapickas
2f6052046f
genesys: Return errors as exceptions from gl843_set_buffer_address()
2019-07-14 23:40:58 +03:00
Povilas Kanapickas
4303877059
genesys: Return errors as exceptions from *init_cmd_set()
2019-07-14 23:40:57 +03:00
Povilas Kanapickas
d29f6862c6
genesys: Return errors as exceptions from *wait_for_home()
2019-07-14 23:40:56 +03:00
Povilas Kanapickas
2a9764b4fd
genesys: Return errors as exceptions from *send_shading_data()
2019-07-14 23:40:55 +03:00
Povilas Kanapickas
99b5f1e94e
genesys: Return errors as exceptions from *gamma_buffer()
2019-07-14 23:40:54 +03:00
Povilas Kanapickas
e78cfa750f
genesys: Return errors as exceptions from *fe_read_data()
2019-07-14 23:40:53 +03:00
Povilas Kanapickas
ad231613db
genesys: Return errors as exceptions from *read_feed_steps()
2019-07-14 23:40:52 +03:00
Povilas Kanapickas
612ff9487c
genesys: Return errors as exceptions from *fe_write_data()
2019-07-14 23:40:51 +03:00
Povilas Kanapickas
32a2eeaa5f
genesys: Return errors as exceptions from *write_ahb()
2019-07-14 23:40:50 +03:00
Povilas Kanapickas
693d42c025
genesys: Return errors as exceptions from *read_valid_words()
2019-07-14 23:40:49 +03:00
Povilas Kanapickas
478ddd5d01
genesys: Return errors as exceptions from *read_scancnt()
2019-07-14 23:40:48 +03:00
Povilas Kanapickas
5c0a382bc9
genesys: Return errors as exceptions from *test_buffer_empty()
2019-07-14 23:40:47 +03:00
Povilas Kanapickas
f153fb109e
genesys: Return errors as exceptions from *get_status()
2019-07-14 23:40:46 +03:00
Povilas Kanapickas
e388fc5058
genesys: Return errors as exceptions from *bulk_write_register()
2019-07-14 23:40:45 +03:00
Povilas Kanapickas
0dc3342be1
genesys: Return errors as exceptions from *bulk_write_data()
2019-07-14 23:40:44 +03:00
Povilas Kanapickas
1c5960f9aa
genesys: Replace explicit DBG messages with DBG_HELPER
2019-07-14 23:40:43 +03:00
Povilas Kanapickas
3a47a9ed4d
genesys: Return errors as exceptions from *set_buffer_address()
2019-07-14 23:40:42 +03:00
Povilas Kanapickas
17a619a927
genesys: Return errors as exceptions from *write_register()
2019-07-14 23:40:41 +03:00
Povilas Kanapickas
d1cffab8f4
genesys: Return errors as exceptions from *write_gl847_register()
2019-07-14 23:40:40 +03:00
Povilas Kanapickas
3d17645fad
genesys: Return errors as exceptions from *read_register()
2019-07-14 23:40:39 +03:00
Povilas Kanapickas
bfef12cc49
genesys: Return errors as exceptions from *read_gl847_register()
2019-07-14 23:40:38 +03:00
Povilas Kanapickas
9e15623411
genesys: Return errors as exceptions from *write_0x8c()
2019-07-14 23:40:37 +03:00
Povilas Kanapickas
1e5a7bd4d8
genesys: Return errors as exceptions from *write_hregister()
2019-07-14 23:40:36 +03:00
Povilas Kanapickas
f856a3dacf
genesys: Return errors as exceptions from *read_hregister()
2019-07-14 23:40:35 +03:00
Povilas Kanapickas
a79f1404f3
genesys: Return errors as exceptions from *bulk_read_data()
2019-07-14 23:40:34 +03:00
Povilas Kanapickas
5c32aefd0f
genesys: Implement transparency scanning support for 8400F
2019-07-20 03:11:24 +03:00
Povilas Kanapickas
ab2952d1df
genesys: Add support for regular scans on CanoScan 8400F
2019-07-20 03:11:23 +03:00
Povilas Kanapickas
0c1dded259
genesys: Enable support for CanoScan 8400F
2019-07-20 03:11:22 +03:00
Olaf Meeuwissen
cb81717341
.gitignore: more build artifacts
2019-07-14 17:09:33 +09:00
Povilas Kanapickas
6d6dbd81d3
genesys: Improve documentation of Genesys_Model struct
2019-07-13 04:14:47 +03:00
Povilas Kanapickas
644314bdad
genesys: Put 0x72/0x73 registers to sensor definition on GL843
2019-07-13 04:14:46 +03:00
Povilas Kanapickas
1a5e3944b3
genesys: Add option to get a raw scan ignoring offsets
2019-07-13 04:14:45 +03:00
Povilas Kanapickas
144ed1f29b
genesys: Implement infrared channel support for 8600F
2019-07-13 04:14:44 +03:00
Povilas Kanapickas
78cdb347be
genesys: Fix lperiod on transparency scans on 8600F
2019-07-13 04:14:43 +03:00
Povilas Kanapickas
3137639aca
genesys: Make scan method explicit when selecting sensor
2019-07-13 04:14:42 +03:00
Povilas Kanapickas
c96a34f4a8
genesys: Fix partial width during calibration support
2019-07-13 04:14:41 +03:00
Povilas Kanapickas
7e2a1eed97
genesys: Fix alignment of lamp and sensor during of transparency scan
...
The calibration area does not necessarily need to be at the zero
position. We may need to drive sensor to the lamp and then drive both to
the calibration.
2019-07-13 04:14:40 +03:00
Povilas Kanapickas
7d32dca50e
genesys: Sync GPIO with window driver on transparency scans on 8600F
2019-07-13 04:14:39 +03:00
Povilas Kanapickas
0db759d996
genesys: Don't enable buggy behavior on newly supported scanners
2019-07-13 04:14:38 +03:00
Povilas Kanapickas
4742f21318
Fix invocations of memset with incorrect size
2019-07-06 22:14:11 +03:00
Povilas Kanapickas
34d378347c
genesys: Remove unused register read
2019-07-06 21:02:28 +03:00
Povilas Kanapickas
8c9d6d7208
genesys: Read the value of CKSEL from the sensor definition directly
2019-07-06 21:02:27 +03:00
Povilas Kanapickas
1a641316b0
genesys: Remove duplicate entry of Canon 5600F in config file
2019-07-06 21:02:26 +03:00
Povilas Kanapickas
f84f1b9d42
genesys: Sort the initial register map by register on GL843
2019-07-06 21:02:25 +03:00
Povilas Kanapickas
a6a09f5dc5
genesys: Don't reuse non-applicable macro just because its value matches
2019-07-06 21:02:24 +03:00
Povilas Kanapickas
f4d5fd4ad6
genesys: Add a way to dump Genesys_Register_Set to debug
2019-07-06 21:02:23 +03:00
Povilas Kanapickas
640fa9dbba
genesys: Always initialize status variable
2019-07-06 02:30:08 +03:00
Povilas Kanapickas
0454f42c36
genesys: Report USB errors via exceptions to reduce code duplication
2019-07-06 02:30:08 +03:00
Povilas Kanapickas
b9cd547aea
genesys: Support printf-like messages in debug helper
2019-07-06 02:10:06 +03:00
Povilas Kanapickas
22b7fb5105
genesys: Move more error functionality to genesys_error.{h,cc}
2019-07-06 02:10:05 +03:00
Povilas Kanapickas
942f3fbbf7
genesys: Move error-related functions to separate header
2019-07-06 02:10:04 +03:00
Povilas Kanapickas
9d07e2108a
genesys: Support message argument to exceptions
2019-07-06 02:10:03 +03:00
Povilas Kanapickas
ac6ccfc184
genesys: Repark before regs are setup in white_shading_calibration()
...
Reparking after registers have been setup is very brittle approach, as
it must preserve everything intact.
2019-07-02 23:30:53 +03:00
Povilas Kanapickas
af0f8e7e46
genesys: Improve gain calibration on GL843
2019-07-02 23:30:50 +03:00
Povilas Kanapickas
74854a85aa
genesys: Reinit registers for shading again before white shading
2019-07-02 23:30:48 +03:00
Povilas Kanapickas
a5c5ea56ad
genesys: Add debug markers to data captured during calibration
2019-07-02 23:30:47 +03:00
Povilas Kanapickas
14bbe802db
genesys: Move move_to_ta() calls out of *_init_regs_for_*()
2019-06-30 14:05:29 +03:00
Povilas Kanapickas
a92187edad
genesys: Move moving to home out of *_init_regs_for_scan()
2019-06-30 14:05:28 +03:00
Povilas Kanapickas
442ffd0486
genesys: Move waiting for motor stop out of *_init_regs_for_scan()
2019-06-30 14:05:27 +03:00
Povilas Kanapickas
bba75702b6
genesys: Add utility to print debug messages upon function exit
2019-06-30 14:05:26 +03:00
Povilas Kanapickas
397994b215
genesys: Make exposure configuration more consistent
2019-06-30 14:05:25 +03:00
Povilas Kanapickas
1e7da8638e
genesys: Use a more descriptive filename for coarse gain debug images
2019-06-30 14:05:24 +03:00
Povilas Kanapickas
6d11f6df25
genesys: Fix support for large exposures on GL843
2019-06-30 14:05:23 +03:00
Povilas Kanapickas
f41440ef9f
genesys: Extract debug_dump for Genesys_Current_Setup
2019-06-30 14:05:22 +03:00
Povilas Kanapickas
fe8383543d
genesys: Remove code for G4050 CCD that's unused and likely incorrect
2019-06-30 14:05:21 +03:00
Povilas Kanapickas
7bd68b5225
genesys: Fix crash in sane_open_impl due to uninitialized variable
2019-06-30 14:05:20 +03:00
Povilas Kanapickas
616c86de2f
genesys: Fix incorrect use of TGTIME for pixel coordinates
2019-06-30 14:05:19 +03:00
Povilas Kanapickas
89d06c9a3a
genesys: Fix error handling in the presence of exceptions
2019-06-30 14:05:18 +03:00
Povilas Kanapickas
3050f50b25
genesys: Add a macro to convert status return to exception
2019-06-30 14:05:17 +03:00
Povilas Kanapickas
1685e6e863
genesys: Return bool out of *_is_compatible_calibration()
2019-06-30 14:05:16 +03:00
Povilas Kanapickas
eaa4cb7766
genesys: Return void out of *_calculate_current_setup()
2019-06-30 14:05:15 +03:00
Olaf Meeuwissen
9b109a7bd7
Fix typo
2019-06-30 12:45:03 +09:00
Povilas Kanapickas
f3df7b9db1
genesys: Don't sleep during tests
2019-06-16 21:12:41 +03:00
Povilas Kanapickas
b30406873c
sanei_usb: Add support for record testing mode
2019-06-16 20:46:46 +03:00
Povilas Kanapickas
7de8efd395
sanei_usb: Add support for "development mode" replay testing
2019-06-16 20:46:46 +03:00
Povilas Kanapickas
21ed18b230
dll: Report when testing backend is unknown
2019-06-16 20:46:46 +03:00
Povilas Kanapickas
0122c060b7
sanei_usb: Add support for replay testing
2019-06-16 20:46:46 +03:00
Povilas Kanapickas
a88b6241cd
configure: Add option to enable USB record-replay
2019-06-16 20:46:39 +03:00
Povilas Kanapickas
9173e5dbdd
genesys: Merge XPA lamp setup to a single function
2019-06-08 14:04:30 +03:00
Povilas Kanapickas
4adb96b7af
genesys: Merge XPA motor setup to a single function
2019-06-08 14:04:29 +03:00
Povilas Kanapickas
4d4b3be12d
genesys: Cache logical lamp and XPA state in register set
2019-06-08 14:04:28 +03:00
Povilas Kanapickas
d11971b220
genesys: Only ever use sanei_genesys_set_lamp_power() to turn on lamp
2019-06-08 14:04:27 +03:00
Povilas Kanapickas
6d9e783a51
genesys: Only ever use sanei_genesys_set_motor_power() to turn on motor
2019-06-08 14:04:26 +03:00
Povilas Kanapickas
5b788022dc
genesys: Extract sanei_genesys_set_motor_power()
2019-06-08 14:04:25 +03:00
Povilas Kanapickas
57480021dd
genesys: Extract sanei_genesys_set_lamp_power()
2019-06-08 14:04:24 +03:00
Povilas Kanapickas
8d5ff56ee9
genesys: Use scan method out of setup params for cache comparison
2019-06-08 14:04:23 +03:00
Povilas Kanapickas
bf0ed8ed09
genesys: Store scan method within params struct
2019-06-08 14:04:22 +03:00
Povilas Kanapickas
be19edfd72
genesys: Store setup params to current setup struct
2019-06-08 14:04:21 +03:00
Povilas Kanapickas
9f3c86cd57
genesys: Wrap data into SetupParams in *_calculate_current_setup()
2019-06-08 14:04:20 +03:00
Povilas Kanapickas
6796315cc1
genesys: Remove useless condition in lineart setup check
...
The flag in the remaining condition can only be set if the second
condition is true.
2019-06-08 14:04:19 +03:00
Povilas Kanapickas
65bb8724c6
genesys: Use scan params to compute scan geometry, not settings
2019-06-08 14:04:18 +03:00
Povilas Kanapickas
2a8f642787
genesys: Fix sign comparison warnings
2019-06-08 14:04:17 +03:00
Povilas Kanapickas
bf395270e8
genesys: Refactor color filter into an enum
2019-06-08 14:04:16 +03:00
Povilas Kanapickas
0ffbd6c023
genesys: Specify underlying types of enums
2019-06-08 14:04:15 +03:00
Povilas Kanapickas
cd7186965b
genesys: Don't use floating point numbers in SetupParams unnecessarily
2019-06-08 14:04:14 +03:00
Povilas Kanapickas
ca070fb569
genesys: Extract function to dump SetupParams to debug
2019-06-08 14:04:13 +03:00
Povilas Kanapickas
a8b61d0501
genesys: Update gl646_setup_registers() doc
2019-06-08 14:04:12 +03:00
Povilas Kanapickas
e47a6dfb56
genesys: Represent color as channels on GL646
2019-06-08 14:04:11 +03:00
Povilas Kanapickas
6ae640cac1
genesys: Simplify channel setup in gl646_setup_registers()
2019-06-08 14:04:10 +03:00
Povilas Kanapickas
a843704cc1
genesys: Move color filter setup to gl646_setup_registers()
2019-06-08 14:04:09 +03:00
Povilas Kanapickas
8184699bbf
genesys: Allocate GL646 slope tables on stack
2019-06-08 14:04:08 +03:00
Povilas Kanapickas
e129bdd1e1
genesys: Move low-level computations to gl646_setup_registers()
2019-06-08 14:04:07 +03:00
Povilas Kanapickas
fb8014d77e
genesys: Store scan setup data in SetupParams struct
2019-06-08 14:04:06 +03:00
Povilas Kanapickas
42ae7ea2d8
genesys: Reuse SetupParams on GL847 code
2019-06-08 14:04:05 +03:00
Povilas Kanapickas
1841e5b276
genesys: Reuse SetupParams on GL846 code
2019-06-08 14:04:04 +03:00
Povilas Kanapickas
6719f885da
genesys: Reuse SetupParams on GL841 code
2019-06-08 14:04:03 +03:00
Povilas Kanapickas
50f5007b3d
genesys: Reuse SetupParams on GL124 code
2019-06-08 14:04:02 +03:00
Povilas Kanapickas
319a5082ac
genesys: Remove unused command set API
2019-06-08 14:04:01 +03:00
Povilas Kanapickas
d92bfd1e9e
genesys: Remove unused fields out of Genesys_Settings struct
2019-06-08 14:04:00 +03:00
Povilas Kanapickas
efd7723a4f
genesys: Deduplicate dumping of Genesys_Current_Setup to logs
2019-06-08 14:03:59 +03:00
Povilas Kanapickas
7020001ba7
genesys: Remove unused ScanColorMode::COLOR_MULTI_PASS
2019-06-08 14:03:58 +03:00
Povilas Kanapickas
6e657e3eac
genesys: Refactor scan color mode into an enum
2019-06-08 14:03:57 +03:00
Povilas Kanapickas
723426d78b
genesys: Don't use dev->calib_reg directly when possible
2019-06-08 14:03:56 +03:00
Povilas Kanapickas
c09370eab4
genesys: Add support for selecting infrared channel
2019-06-08 14:03:55 +03:00
Povilas Kanapickas
a63c8a5f8c
genesys: Support more than two scan methods
2019-06-08 14:03:54 +03:00
Povilas Kanapickas
f1e583aea8
genesys: Refactor scan method into an enum
2019-06-08 14:03:53 +03:00
Povilas Kanapickas
374a3043fa
genesys: Use STR_ prefix to macros yielding to strings
2019-06-08 14:03:52 +03:00
Povilas Kanapickas
06157f753c
genesys: Extract remaining options out of option list
2019-06-08 14:03:51 +03:00
Povilas Kanapickas
38ccdc6788
genesys: Extract resolution and bit_depth options out of option list
2019-06-08 14:03:50 +03:00
Povilas Kanapickas
a7a2e0abd6
genesys: Extract string options out of options list
2019-06-08 14:03:49 +03:00
Povilas Kanapickas
3301e0fbea
genesys: Extract position options out of option list
2019-06-08 14:03:48 +03:00
Povilas Kanapickas
3f184b795f
genesys: Simplify sensor handling
2019-06-08 14:03:47 +03:00
Povilas Kanapickas
8aa5318f90
genesys: Make frontend register list generic
2019-06-02 11:48:04 +03:00