Wykres commitów

12332 Commity (03bfd4232c7bf7a9951a20a38d256a02581cff90)

Autor SHA1 Wiadomość Data
Povilas Kanapickas 408ee7a770 genesys: Reset registers after move during led calibration on gl841 2021-12-27 23:11:35 +02:00
Povilas Kanapickas 9669c6c335 genesys: Remove erroneous register write on LiDE 80 2021-12-27 23:11:35 +02:00
Povilas Kanapickas bafd6e134a genesys: Clean up exposure calibration on gl841 2021-12-27 23:11:35 +02:00
Povilas Kanapickas 4fce71b55b genesys: Use more robust gain calibration on gl841 2021-12-27 23:11:35 +02:00
Povilas Kanapickas cc3bf08055 genesys: Remove duplicate register writes in gl841 calibration 2021-12-27 23:11:35 +02:00
Povilas Kanapickas 7dcffcf75f genesys: Use host-side gray instead of device-side true-gray on gl841
True gray mode is not handled correctly by devices: they have bugs that
lead to incorrect LED color being emitted (e.g. dark red) and thus this
feature is completely unusable. At least LiDE 35/40/50, LiDE 60 and LiDE
80 are affected.

Simpy disabling true-gray unfortunately leads to even worse outcome
because the scanner then simply proceeds to perform a color scan.

To work around these problems we do a normal color scan and then produce
gray output based on the color data. This will satisfy the use cases
when correct gray is needed. In cases when it is sufficient to construct
gray from a single color channel, the color filter setting could be
used.
2021-12-27 23:11:34 +02:00
Povilas Kanapickas 440ec4f80c genesys: Implement host-side gray support 2021-12-27 23:11:12 +02:00
Povilas Kanapickas 6bec3fcfa6 genesys: Implement image pipeline for merging color channels to gray 2021-12-27 23:11:12 +02:00
Povilas Kanapickas b7b37b4f45 genesys: Rename ImagePipelineNodeMergeMono{Lines -> LinesToColor} 2021-12-27 23:11:12 +02:00
Povilas Kanapickas e64aad283f genesys: Remove true_gray variable by deriving its value directly 2021-12-27 23:11:12 +02:00
Povilas Kanapickas 72d0c39656 genesys: Fix incorrect scan exposure setup on gl841
When sensor exposure values are significantly different from each other
the total scan exposure will be too low leading to the device becoming
confused and significantly
2021-12-27 23:11:12 +02:00
Povilas Kanapickas 7b25c36c15 genesys: Inline gl841_get_led_exposure() 2021-12-27 23:11:12 +02:00
Povilas Kanapickas 341b2ff6e6 genesys: Remove broken two-table feeding support from gl841
At least on LiDE 50 two-table feeding caused unexplained motor spin-up
failures on certain motor exposures. Various register modifications
showed that there's high likelihood on device-side bug. Even the
official drivers don't use proper two-table feeding.
2021-12-27 23:11:12 +02:00
Povilas Kanapickas df20a7a46e genesys: Remove unused two-table feeding support from gl847 2021-12-27 23:11:12 +02:00
Povilas Kanapickas 3787dfdb4b genesys: Remove unused two-table feeding support from gl846 2021-12-27 23:11:12 +02:00
Povilas Kanapickas 491a08ba96 genesys: Remove unused two-table feeding support from gl124 2021-12-27 23:11:12 +02:00
Povilas Kanapickas c6df5fd69a genesys: Enable gamma setting when contrast or brightness is adjusted
Brightness and contrast adjustments are handled via gamma tables and
thus gamma functionality is required for these settings to have any
effect.

Previously if the device has a sensor with identity gamma
(gamma = {1, 1, 1}), then gamma tables were turned off, consequently
brightness and contrast settings had no effect.

The underlying issue was identified by Gunnar Hjalmarsson
<gunnarhj@ubuntu.com> and STK.
2021-12-27 23:11:08 +02:00
Povilas Kanapickas 2cc2f8a26b genesys: Store contrast and brightness adjustments in session params 2021-12-27 23:11:08 +02:00
Povilas Kanapickas 4d2a6eb513 Merge branch 'genesys-gl841-fixes' into 'master'
genesys: Various fixes for GL841 scanners

Closes #357

See merge request sane-project/backends!673
2021-12-27 21:08:39 +00:00
Povilas Kanapickas 75ac76f87a genesys: Remove unneeded per-scanner register setup
These register values are overwritten later.
2021-12-27 22:39:19 +02:00
Povilas Kanapickas f06e507de7 genesys: Fixed offset calibration on certain gl841 devices 2021-12-27 22:39:19 +02:00
Povilas Kanapickas 334e4bd8d1 genesys: Use consistent initial exposure for led calibration on gl841 2021-12-27 22:39:19 +02:00
Povilas Kanapickas af175f6d4c genesys: Fix inconsistent exposure values in led calib in testing mode 2021-12-27 22:39:19 +02:00
Povilas Kanapickas 3e9431d079 genesys: Ensure sensor exposure is up-to-date when scanning on gl841 2021-12-27 22:39:19 +02:00
Povilas Kanapickas c11a0e7ab6 genesys: Reuse gl124 led calibration acceptability criteria for gl841 2021-12-27 22:39:19 +02:00
Povilas Kanapickas d19ccd2fad genesys: Remove no longer used led calibration fallback code on gl841
This was used only on scanners which did not have calibration target
intensity value. All gl841 scanners now have such setting, so the code
can be removed.
2021-12-27 22:39:19 +02:00
Povilas Kanapickas e540778cfa genesys: Specify target white level for all gl841 devices 2021-12-27 22:39:19 +02:00
Povilas Kanapickas c1f731a7e0 genesys: Remove duplicate register write during led calibration on gl841 2021-12-27 22:39:19 +02:00
Povilas Kanapickas f1910ae58c genesys: Reset registers after move during led calibration on gl841 2021-12-27 22:39:19 +02:00
Povilas Kanapickas 86fe51e224 genesys: Remove erroneous register write on LiDE 80 2021-12-27 22:39:19 +02:00
Povilas Kanapickas 0f341bf5a0 genesys: Clean up exposure calibration on gl841 2021-12-27 22:39:19 +02:00
Povilas Kanapickas 4ee36a2e31 genesys: Use more robust gain calibration on gl841 2021-12-27 22:39:19 +02:00
Povilas Kanapickas bbc1543525 genesys: Remove duplicate register writes in gl841 calibration 2021-12-27 22:39:19 +02:00
Povilas Kanapickas 675497fcd8 genesys: Use host-side gray instead of device-side true-gray on gl841
True gray mode is not handled correctly by devices: they have bugs that
lead to incorrect LED color being emitted (e.g. dark red) and thus this
feature is completely unusable. At least LiDE 35/40/50, LiDE 60 and LiDE
80 are affected.

Simpy disabling true-gray unfortunately leads to even worse outcome
because the scanner then simply proceeds to perform a color scan.

To work around these problems we do a normal color scan and then produce
gray output based on the color data. This will satisfy the use cases
when correct gray is needed. In cases when it is sufficient to construct
gray from a single color channel, the color filter setting could be
used.
2021-12-27 22:39:19 +02:00
Povilas Kanapickas 7bbb6d8fdb genesys: Implement host-side gray support 2021-12-27 22:39:19 +02:00
Povilas Kanapickas 2f030f04e2 genesys: Implement image pipeline for merging color channels to gray 2021-12-27 22:22:44 +02:00
Povilas Kanapickas ad84284186 genesys: Rename ImagePipelineNodeMergeMono{Lines -> LinesToColor} 2021-12-27 22:22:44 +02:00
Povilas Kanapickas bd4f009122 genesys: Remove true_gray variable by deriving its value directly 2021-12-27 22:22:44 +02:00
Povilas Kanapickas 1e75025048 genesys: Fix incorrect scan exposure setup on gl841
When sensor exposure values are significantly different from each other
the total scan exposure will be too low leading to the device becoming
confused and significantly
2021-12-27 22:22:44 +02:00
Povilas Kanapickas 601705fa3a genesys: Inline gl841_get_led_exposure() 2021-12-27 22:22:44 +02:00
Povilas Kanapickas 6c0fafac79 genesys: Remove broken two-table feeding support from gl841
At least on LiDE 50 two-table feeding caused unexplained motor spin-up
failures on certain motor exposures. Various register modifications
showed that there's high likelihood on device-side bug. Even the
official drivers don't use proper two-table feeding.
2021-12-27 22:22:44 +02:00
Povilas Kanapickas e27d991fdf genesys: Remove unused two-table feeding support from gl847 2021-12-27 22:22:44 +02:00
Povilas Kanapickas d4dc13f527 genesys: Remove unused two-table feeding support from gl846 2021-12-27 22:22:44 +02:00
Povilas Kanapickas 137a2d676f genesys: Remove unused two-table feeding support from gl124 2021-12-27 22:22:44 +02:00
Povilas Kanapickas f4552acf8d Merge branch 'pixma_new_models' into 'master'
pixma: add 2021 models.

See merge request sane-project/backends!671
2021-12-27 14:49:08 +00:00
Ordissimo 584f16e2ee pixma: add 2021 models.
Fix white space

Fix build

Add descriptions

Reduces the length of the line
2021-12-27 16:33:37 +02:00
Ordissimo 8d028fe398 Merge branch 'scangearmp2_add_2021_modeles' into 'master'
Scangearmp2: add 2021 models

See merge request sane-project/backends!672
2021-12-27 13:43:20 +00:00
Ordissimo 020030080c Scangearmp2 add 2021 models 2021-12-27 14:23:37 +01:00
Povilas Kanapickas 53c1be6ae8 Merge branch 'genesys-cleanup' into 'master'
genesys: Miscellaneous cleanups

See merge request sane-project/backends!670
2021-12-26 14:53:11 +00:00
Povilas Kanapickas b668e92047 genesys: Use {uint,int}{8,16,32,64} from std namespace
This is not strictly necessary as all known C++ compilers also inject
these types to the global namespace. However this is not guaranteed by
the C++ standard and accordingly some code completion tools don't
support this without additional configuration.
2021-12-26 16:09:17 +02:00