From e79a94db5e5d45e214cdbb614426a5df2ae22943 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Voltz?= Date: Thu, 19 Dec 2013 07:11:08 +0100 Subject: [PATCH] tune LEDADD exposure for GL841 scanners --- backend/genesys_gl841.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/backend/genesys_gl841.c b/backend/genesys_gl841.c index 01eb4b88d..431e7b59d 100644 --- a/backend/genesys_gl841.c +++ b/backend/genesys_gl841.c @@ -2253,6 +2253,7 @@ gl841_init_optical_regs_scan(Genesys_Device * dev, unsigned int i; Genesys_Register_Set * r; SANE_Status status; + uint16_t expavg, expr, expb, expg; DBG (DBG_proc, "gl841_init_optical_regs_scan : exposure_time=%d, " "used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " @@ -2417,6 +2418,20 @@ gl841_init_optical_regs_scan(Genesys_Device * dev, if (flags & OPTICAL_FLAG_ENABLE_LEDADD) { r->value |= REG87_LEDADD; + sanei_genesys_get_double(reg,REG_EXPR,&expr); + sanei_genesys_get_double(reg,REG_EXPG,&expg); + sanei_genesys_get_double(reg,REG_EXPG,&expb); + + /* use minimal expousre for best image quality */ + expavg=expg; + if(exprreg,REG_EXPR,expavg); + sanei_genesys_set_double(dev->reg,REG_EXPG,expavg); + sanei_genesys_set_double(dev->reg,REG_EXPB,expavg); } /* enable gamma tables */