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
Povilas Kanapickas
24853e657a
genesys: Refactor frontend table to initialize data explicitly
2019-06-02 11:48:03 +03:00
Povilas Kanapickas
6305433210
genesys: Cache the initial frontend values in the device
2019-06-02 11:48:02 +03:00
Povilas Kanapickas
ba778a7d84
genesys: Add a way to set custom FE registers depending on scan mode
2019-06-02 11:48:01 +03:00
Povilas Kanapickas
c05b0c1598
genesys: Add initial support for 8600F 4800dpi transparency scanning
2019-06-02 11:48:00 +03:00
Povilas Kanapickas
91a37b6558
genesys: Add a way to calibrate partial width of the scanner
2019-06-02 11:47:59 +03:00
Povilas Kanapickas
a2f451526c
genesys: Extract GenesysRegisterSettingSet::{fread,fwrite}()
2019-06-02 11:47:58 +03:00
Povilas Kanapickas
a9689de478
genesys: Don't hardcode ccd size divisor for start position
2019-06-02 11:47:56 +03:00
Povilas Kanapickas
3a8f1ddf6c
genesys: Support 2400dpi transparency scans on 8600F
2019-06-02 11:47:55 +03:00
Povilas Kanapickas
8520b810fd
genesys: Add support for mixed half/quarter-ccd mode on the same scanner
2019-06-02 11:47:54 +03:00
Povilas Kanapickas
36872e5751
genesys: Add support for half-ccd and quarter-ccd modes on the same chip
...
Previously we hardcoded half-ccd mode to be actually quarter-ccd mode on
GL843.
2019-06-02 11:47:53 +03:00
Povilas Kanapickas
8a9a4e3f71
genesys: Move GL843 sensor profiles to global sensor database
...
Note that gl843_setup_sensor() did not write certain registers and they
weren't written to the scanner anywhere else, thus they have been
excluded from the new definitions.
2019-06-02 11:47:52 +03:00
Povilas Kanapickas
723aa2b73c
genesys: Don't store current sensor in device as it depends on the scan
2019-06-02 11:47:51 +03:00
Povilas Kanapickas
f8e8243b78
genesys: Don't modify sensor with gamma data
2019-06-02 11:47:50 +03:00
Povilas Kanapickas
dafd2a150b
genesys: Extract gamma creation into a single function
2019-06-02 11:47:49 +03:00
Povilas Kanapickas
ea74f8e6ef
genesys: Pass gamma tables as vectors
2019-06-02 11:47:48 +03:00
Povilas Kanapickas
dd2884ede7
genesys: Don't read registers to get data available from model flags
2019-06-02 11:47:47 +03:00
Povilas Kanapickas
5adaea3e2f
genesys: Pass sensor to genesys_coarse_calibration() as param
2019-06-02 11:47:46 +03:00
Povilas Kanapickas
60289d58e2
genesys: Pass sensor to genesys_average_white() as param
2019-06-02 11:47:45 +03:00
Povilas Kanapickas
35e45196b9
genesys: Pass sensor to sanei_genesys_search_reference_point() as param
2019-06-02 11:47:44 +03:00
Povilas Kanapickas
43c86ecd81
genesys: Only ever name Genesys_Sensor as "sensor" to reduce confusion
2019-06-02 11:47:43 +03:00
Povilas Kanapickas
7738412517
genesys: Remove vim indent settings
2019-06-02 11:47:42 +03:00
Povilas Kanapickas
6fdabd8174
genesys: Remove unused sensor config
2019-06-02 11:47:41 +03:00
Povilas Kanapickas
d3f13839af
genesys: Remove no longer needed explicit initialization and copying
2019-06-02 11:47:40 +03:00
Povilas Kanapickas
4269f67c4a
genesys: Always initialize Genesys_Frontend
2019-06-02 11:47:39 +03:00
Povilas Kanapickas
68df437faf
genesys: Always initialize Genesys_Motor
2019-06-02 11:47:38 +03:00
Povilas Kanapickas
52f73ffd8d
genesys: Always initialize Genesys_Gpo
2019-06-02 11:47:37 +03:00
Povilas Kanapickas
d39189e424
genesys: Always initialize Genesys_Settings
2019-06-02 11:47:36 +03:00
Povilas Kanapickas
03ecbf1bb0
genesys: Always initialize Genesys_Current_Setup
2019-06-02 11:47:35 +03:00
Povilas Kanapickas
a287f4945c
genesys: Extract computation of session setup to callers
2019-06-02 11:47:34 +03:00
Povilas Kanapickas
d688429ccd
genesys: Fix use of wrong dpi when computing output pixel count
2019-06-02 11:47:33 +03:00
Povilas Kanapickas
1a9e05b291
genesys: Extract params to gl843_init_scan_regs to a struct
2019-06-02 11:47:32 +03:00
Povilas Kanapickas
836a78bef5
genesys: Extract exposure to separate variable in sensor definition
2019-06-02 11:47:31 +03:00
Povilas Kanapickas
e9419d5e33
genesys: Make per-sensor register override list generic
2019-06-02 11:47:30 +03:00
Povilas Kanapickas
7f22e35e2c
genesys: Use internal sleep wrapper for remaining sleep calls
2019-06-02 11:47:29 +03:00
Povilas Kanapickas
90814ac7d3
genesys: Move half CCD property to sensor definition
2019-06-02 11:47:28 +03:00
Povilas Kanapickas
7359412548
genesys: Remove dead code
2019-06-02 11:47:27 +03:00
Povilas Kanapickas
04c5b4afde
genesys: Improve type safety of Genesys_Register_Set
2019-06-02 11:47:26 +03:00
Olaf Meeuwissen
4c05fb4742
Merge branch 'backend/as6e' into 'master'
...
as6e: Avoid out of bound access
See merge request sane-project/backends!31
2019-06-15 06:50:27 +00:00
Olaf Meeuwissen
cadf5a9b1a
Prevent segfault in case strndup cannot allocate memory
...
This complements 18f9e5598c
2019-06-15 14:45:36 +09:00
Olaf Meeuwissen
f9eb32317a
Merge branch 'sanei-usb-testing-mode-prep' into 'master'
...
sanei: Preparation to support capture and replay of USB data for testing
See merge request sane-project/backends!74
2019-06-15 05:43:06 +00:00
Olaf Meeuwissen
d22516c76a
Merge branch 'remove-autoconf-generated-files' into 'master'
...
Remove autoconf generated files
See merge request sane-project/backends!72
2019-06-12 10:48:14 +00:00
Bernard B Badeer
1f383b3795
Add options for reading LCD counter and LED indicator.
...
* Add command line parameters for readling LCD counter and LED indicator.
* Code refactoring: Use static parameter strings instead of dynamically
allocated string in order to avoid memory leak.
2019-06-03 06:10:26 +00:00
Povilas Kanapickas
1c3e1aa184
autotools: Remove files generated by autotools from version control
2019-06-01 14:38:36 +03:00
Povilas Kanapickas
916d4e0db9
genesys: Fix sanei_genesys_{read,set}_reg_from_set()
...
There can be registers in the register set with zero address. In
particular, the 0x0b register's address is set to zero on most
sub-backends to prevent writes to it. This leads to the functions in
question not do anything in most scenarios.
2019-06-01 05:24:58 +03:00
Povilas Kanapickas
18f9e5598c
dll: Don't unnecessarily use alloca
2019-05-27 18:56:01 +03:00
Povilas Kanapickas
58ee13d057
genesys: Fix warning
2019-05-24 21:13:37 +03:00
Olaf Meeuwissen
be9736020f
autofoo: Sync generated files
...
The AX_CXX_COMPILE_STDCXX* macros that were embedded in aclocal.m4
have been replaced with the versions found in the autoconf-archive
package from Debian 9.
2019-05-21 22:14:46 +09:00
Povilas Kanapickas
16a3945ce6
Merge branch 'genesys-sleep' into 'master'
...
genesys: Add wrapper for sleep that can be turned off when testing
See merge request sane-project/backends!70
2019-05-20 09:47:38 +00:00
Olaf Meeuwissen
f498e5fa66
genesys: Add missing pointer cast on malloc call
...
Fixes build on Fedora 29 and 30.
2019-05-20 18:32:48 +09:00
Olaf Meeuwissen
2bb5ed655a
Merge branch 'genesys-enable-cxx' into 'master'
...
Use C++ for the genesys backend
See merge request sane-project/backends!61
2019-05-20 09:10:53 +00:00
Stanislav Yuzvinsky
2a11622967
Merge branch 'teardown' into 'master'
...
ricoh2: Rearrange init/deinit code of ricoh2 to correctly support "code flow"
See merge request sane-project/backends!65
2019-05-19 18:18:57 +00:00
Olaf Meeuwissen
7585538595
epson2: Add XP-255 as supported. Fixes #81
2019-05-19 21:41:16 +09:00
Povilas Kanapickas
71bf2daec6
Merge branch 'genesys-remove-static' into 'master'
...
genesys: Remove uses of GENESYS_STATIC
See merge request sane-project/backends!68
2019-05-19 12:02:50 +00:00
Povilas Kanapickas
a4ab69376c
genesys: Remove uses of GENESYS_STATIC
2019-05-19 14:49:44 +03:00
Povilas Kanapickas
4c2c4eb639
genesys: Remove duplicate definition of DBGSTART and DBGCOMPLETED
2019-05-19 14:46:46 +03:00
Povilas Kanapickas
6f617e9889
genesys: Don't define different backend names in source files
2019-05-19 14:46:45 +03:00
Povilas Kanapickas
873e82c0a0
genesys: Remove logging of the build number
...
A git commit would be much more useful in log messages
2019-05-19 14:46:44 +03:00
Povilas Kanapickas
c536f3cf70
genesys: Fix calibration size calculation for 8600F
...
The current approach of marking the scanner as
GENESYS_FLAG_FULL_HWDPI_MODE is counter-productive, because only the
register value is always full DPI, the actual resolution is different.
For now, let's just work around this by having a special case for the
scanner.
2019-05-18 14:56:12 +03:00
Povilas Kanapickas
0a0a140423
genesys: Correctly adjust pixels per line during calibration
2019-05-18 14:56:11 +03:00
Povilas Kanapickas
190361b724
genesys: Work around first line having artifacts during calibration
2019-05-18 14:56:10 +03:00
Povilas Kanapickas
3a4f67feef
genesys: Fix lockups on GL843 during calibration
2019-05-18 14:56:09 +03:00
Povilas Kanapickas
ed582c5858
genesys: Fix gain calibration on GL843
2019-05-18 14:56:08 +03:00
Povilas Kanapickas
b220512172
genesys: Add a separate shading line count param for TA mode
...
q
2019-05-18 14:56:07 +03:00
Povilas Kanapickas
b7ef75d63f
genesys: Implement transparency support for 8600F
2019-05-18 14:56:06 +03:00
Povilas Kanapickas
126e98524a
genesys: Remove special ADF handling for G4050
2019-05-18 14:56:05 +03:00
Povilas Kanapickas
091fdbe6d6
genesys: Use correct offsets for transparency scan
2019-05-18 14:56:04 +03:00
Povilas Kanapickas
d0c4f87ac7
genesys: Don't set exposure to zero on 8600F
2019-05-18 14:56:03 +03:00
Povilas Kanapickas
33a60dcc7b
genesys: Implement support for 8600F
2019-05-18 14:56:02 +03:00
Povilas Kanapickas
41e2029e4b
genesys: Initialize 0x7e register on GL843
2019-05-18 14:56:01 +03:00
Povilas Kanapickas
966ef33710
genesys: Fix pixel calculation during calibration on gl843
2019-05-18 14:56:00 +03:00
Povilas Kanapickas
df889c96f5
genesys: Deduplicate pixel count computation during calibration
2019-05-18 14:55:59 +03:00
Povilas Kanapickas
695addaafd
genesys: Fix pixel count when scanning in half-ccd mode on GL843
2019-05-18 14:55:58 +03:00
Povilas Kanapickas
d2b4a1b838
genesys: Extract gl843_compute_physical_params()
2019-05-18 14:55:57 +03:00
Povilas Kanapickas
76bf1ad072
genesys: Improve documentations for registers in various places
2019-05-18 14:55:56 +03:00
Povilas Kanapickas
aeefb37072
genesys: Fix read pixel count calc during calibration on GL843
2019-05-30 23:42:33 +03:00
Povilas Kanapickas
50b27fe836
genesys: Use std::string for Genesys_Device::calib_file
2019-05-25 11:15:42 +03:00
Povilas Kanapickas
38986c2c6f
genesys: Use std::vector for Genesys_Device::img_buffer
2019-05-25 11:15:41 +03:00
Povilas Kanapickas
eb93267fa9
genesys: Use std::vector instead of custom vector implementation
2019-05-25 11:15:40 +03:00
Povilas Kanapickas
69485e9f11
genesys: Remove unused new device list
2019-05-25 11:15:39 +03:00
Povilas Kanapickas
3096dcee0e
genesys: Use s_devices.size() for num_devices
2019-05-25 11:15:38 +03:00
Povilas Kanapickas
9c2fdeeb3d
genesys: Use proper containers for device lists
2019-05-25 11:15:37 +03:00
Povilas Kanapickas
5a90b7bb8f
genesys: Convert Genesys_Buffer to C++ class
2019-05-25 11:15:36 +03:00
Povilas Kanapickas
247658f23e
genesys: Return std::vector from GL646 simple_scan()
2019-05-25 11:15:35 +03:00
Povilas Kanapickas
e48b6c4e2d
genesys: Store global Genesys_Scanner instances in std::list
2019-05-25 11:15:34 +03:00
Povilas Kanapickas
15b373a5cc
genesys: Use std::vector for calibration cache average data
2019-05-25 11:15:33 +03:00
Povilas Kanapickas
64ca298d02
genesys: Store calibration class using std::list
2019-05-25 11:15:32 +03:00
Povilas Kanapickas
52b1989eda
genesys: Remove no longer used RIEF and RIEF2 macros
2019-05-25 11:15:31 +03:00
Povilas Kanapickas
3d44c89f1e
genesys: Use std::vector for Genesys_Device::{dark,white}_average_data
2019-05-25 11:15:30 +03:00
Povilas Kanapickas
2dc4e5d1fc
genesys: Use std::vector for Genesys_Sensor::gamma_table
2019-05-25 11:15:29 +03:00
Povilas Kanapickas
555be1c3eb
genesys: Use Genesys_Device as C++ class
2019-05-25 11:15:28 +03:00
Povilas Kanapickas
cb189cfe2d
genesys: Rewrite sensor table to use std::vector
2019-05-25 11:15:27 +03:00
Povilas Kanapickas
e5eff5d76f
genesys: Add facility for auto releasing static data on backend exit
2019-05-25 11:15:26 +03:00
Povilas Kanapickas
9cea33b53c
genesys: Use std::vector instead of malloc for local allocations
2019-05-25 11:15:25 +03:00
Povilas Kanapickas
896385a082
genesys: Ensure that functions passed to C API don't throw
2019-05-25 10:03:15 +03:00
Povilas Kanapickas
23f3ebf612
genesys: Wrap exported functions to always catch exceptions
2019-05-25 10:03:14 +03:00
Stanislav Yuzvinsky
7a8ae92862
ricoh2: Rearrange init/deinit code of ricoh2 to correctly support "code flow"
...
The backend worked incorrectly when scanning process was interrupted before the
current page was scanned completely. For example, scanimage tool could not scan
the next page if the previous one was interrupted. Now this issue is fixed.
See also "4.4. Code Flow" in SANE API specification v.1.06.
Also debug levels was changed to have better control over what should be
logged.
2019-05-13 23:44:07 +03:00
Olaf Meeuwissen
e13b80fa6f
Merge branch 'add_sg3100' into 'master'
...
Add support for Aficio SG3100SNw
See merge request sane-project/backends!57
2019-05-12 03:11:00 +00:00
Stanislav Yuzvinsky
0273c05c95
Fix review comments; add the backend to dll.conf
2019-05-11 16:17:40 +03:00
Povilas Kanapickas
4df63ef548
Merge branch 'genesys-debug-improvements' into 'master'
...
genesys: Miscellaneous debug improvements
See merge request sane-project/backends!64
2019-05-11 09:20:45 +00:00
Povilas Kanapickas
3c8b9b9167
Merge branch 'genesys-reduce-duplication' into 'master'
...
genesys: Reduce duplication in low level functions
See merge request sane-project/backends!63
2019-05-11 09:14:06 +00:00
Povilas Kanapickas
988a91aec4
genesys: Write all offset calibration debug to a single file on gl843
2019-05-11 12:12:29 +03:00
Povilas Kanapickas
36bc194405
genesys: Add a small C array implementation
2019-05-11 12:12:28 +03:00
Povilas Kanapickas
5321427e55
genesys: Don't write identical debug pnm files
2019-05-11 12:12:27 +03:00
Povilas Kanapickas
882741d78a
genesys: Prepend file identifier to debug image filenames
2019-05-11 12:12:26 +03:00
Povilas Kanapickas
d3b25a5966
genesys: Don't write identical debug pnm files
2019-05-11 12:12:25 +03:00
Povilas Kanapickas
8de5a1fdb1
genesys: Remove unused code
2019-05-11 12:05:26 +03:00
Povilas Kanapickas
da81a523fa
genesys: Reuse sanei_genesys_bulk_write_register() on GL841
2019-05-11 12:05:25 +03:00
Povilas Kanapickas
2b1f13fddb
genesys: Reuse sanei_genesys_bulk_write_register() on GL646
2019-05-11 12:05:24 +03:00
Povilas Kanapickas
b683a40fdd
genesys: Reuse common genesys register functions on GL646
2019-05-11 12:05:23 +03:00
Povilas Kanapickas
58e1eb8ac4
genesys: Reuse sanei_genesys_bulk_write_data() on GL646
2019-05-11 12:05:22 +03:00
Povilas Kanapickas
80efacab10
genesys: Reuse sanei_genesys_bulk_write_data() on GL841
2019-05-11 12:05:21 +03:00
Povilas Kanapickas
d62d4f0d16
genesys: Use sanei_genesys_get_bulk_max_size() for max bulk out size
2019-05-11 12:05:20 +03:00
Povilas Kanapickas
7ee139bd4b
genesys: Pass device to sanei_genesys_write_ahb() as ptr not number
2019-05-11 12:05:19 +03:00
Povilas Kanapickas
d7bff42cba
genesys: Add generic sanei_genesys_bulk_write_data() out of GL843 impl
2019-05-11 12:05:18 +03:00
Povilas Kanapickas
98258549cb
genesys: Extract sanei_genesys_get_bulk_max_size()
2019-05-11 12:05:17 +03:00
Povilas Kanapickas
5b9d014592
genesys: Remove commented out code for buffer size alignment
2019-05-11 12:05:16 +03:00
Povilas Kanapickas
9dc8bbfac9
genesys: Reuse sanei_genesys_bulk_read_data() on GL847
2019-05-11 12:05:15 +03:00
Povilas Kanapickas
4af3557bbf
genesys: Reuse sanei_genesys_bulk_read_data() on GL846
2019-05-11 12:05:14 +03:00
Povilas Kanapickas
216c18f9ff
genesys: Reuse sanei_genesys_bulk_read_data() on GL843
2019-05-11 12:05:13 +03:00
Povilas Kanapickas
55e5c7b7ac
genesys: Reuse sanei_genesys_bulk_read_data() on GL841
2019-05-11 12:05:12 +03:00
Povilas Kanapickas
8e8511a49e
genesys: Reuse sanei_genesys_bulk_read_data() on GL646
2019-05-11 12:05:11 +03:00
Povilas Kanapickas
69435b3bb2
genesys: Revert 512-byte bulk transfer alignment workaround
...
It should be handled by libusb.
2019-05-11 12:05:10 +03:00
Povilas Kanapickas
4a899d26f3
genesys: Create generic sanei_genesys_bulk_read_data out of gl124 impl
2019-05-11 12:05:09 +03:00
Povilas Kanapickas
887759192b
genesys: Add option to force calibration ignoring caches
2019-05-11 12:00:25 +03:00
Olaf Meeuwissen
15fd9bc9ce
Merge branch 'log-messages-no-git-conflict-markers' into 'master'
...
Don't use strings that are similar to conflict markers in debug msgs
See merge request sane-project/backends!60
2019-05-11 08:13:18 +00:00
Povilas Kanapickas
ca051cc227
genesys: Compile library as C++ code
2019-05-11 00:03:26 +03:00
Povilas Kanapickas
72121bc7d8
sanei: Use C linkage for internal functions in C++ mode
2019-05-11 00:03:26 +03:00
Povilas Kanapickas
9e3b5d6381
Update generated files
2019-05-11 00:03:26 +03:00