kopia lustrzana https://gitlab.com/sane-project/backends
GL843 ok up to 600 dpi optical
rodzic
1ed7e3e589
commit
85eade8436
|
@ -3053,7 +3053,7 @@ genesys_send_shading_coefficient (Genesys_Device * dev)
|
||||||
break;
|
break;
|
||||||
case CCD_KVSS080:
|
case CCD_KVSS080:
|
||||||
case CCD_G4050:
|
case CCD_G4050:
|
||||||
target_code = 0xe000;
|
target_code = 0xf000;
|
||||||
free(shading_data);
|
free(shading_data);
|
||||||
length=compute_gl843_coefficients (dev,
|
length=compute_gl843_coefficients (dev,
|
||||||
&shading_data,
|
&shading_data,
|
||||||
|
|
|
@ -506,12 +506,12 @@ static Genesys_Sensor Sensor[] = {
|
||||||
,
|
,
|
||||||
{CCD_G4050,
|
{CCD_G4050,
|
||||||
4800,
|
4800,
|
||||||
38*8, /* 38 at 600 dpi */
|
50*8, /* black_pixels */
|
||||||
31*8, /* 31 at 600 dpi */
|
31, /* 31 at 600 dpi dummy_pixels */
|
||||||
152,
|
152,
|
||||||
5360*8, /* 5360 max at 600 dpi */
|
5360*8, /* 5360 max at 600 dpi */
|
||||||
210,
|
190,
|
||||||
230,
|
190,
|
||||||
/* 08 09 0a 0b */
|
/* 08 09 0a 0b */
|
||||||
{0x00, 0x00, 0x18, 0x69} ,
|
{0x00, 0x00, 0x18, 0x69} ,
|
||||||
/* 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d */
|
/* 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d */
|
||||||
|
@ -1215,7 +1215,7 @@ static Genesys_Model hpg4050_model = {
|
||||||
{16, 8, 0}, /* possible depths in color mode */
|
{16, 8, 0}, /* possible depths in color mode */
|
||||||
|
|
||||||
SANE_FIX (6.55), /* Start of scan area in mm (x) */
|
SANE_FIX (6.55), /* Start of scan area in mm (x) */
|
||||||
SANE_FIX (15.00), /* Start of scan area in mm (y) */
|
SANE_FIX (13.00), /* Start of scan area in mm (y) */
|
||||||
SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/
|
SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/
|
||||||
SANE_FIX (315.0), /* Size of scan area in mm (y) */
|
SANE_FIX (315.0), /* Size of scan area in mm (y) */
|
||||||
|
|
||||||
|
@ -1234,7 +1234,9 @@ static Genesys_Model hpg4050_model = {
|
||||||
SANE_FIX (0.0), /* Amount of feeding needed to eject document
|
SANE_FIX (0.0), /* Amount of feeding needed to eject document
|
||||||
after finishing scanning in mm */
|
after finishing scanning in mm */
|
||||||
|
|
||||||
0, 37, 74, /* RGB CCD Line-distance correction in line number */
|
0, 24, 48, /* RGB CCD Line-distance correction in line number */
|
||||||
|
/* 0 38 76 OK 1200/2400 */
|
||||||
|
/* 0 24 48 OK [100,600] dpi */
|
||||||
|
|
||||||
COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */
|
COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */
|
||||||
|
|
||||||
|
@ -1246,8 +1248,9 @@ static Genesys_Model hpg4050_model = {
|
||||||
MOTOR_G4050,
|
MOTOR_G4050,
|
||||||
GENESYS_FLAG_LAZY_INIT | /* Which flags are needed for this scanner? */
|
GENESYS_FLAG_LAZY_INIT | /* Which flags are needed for this scanner? */
|
||||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||||
GENESYS_FLAG_DARK_CALIBRATION |
|
|
||||||
GENESYS_FLAG_STAGGERED_LINE |
|
GENESYS_FLAG_STAGGERED_LINE |
|
||||||
|
GENESYS_FLAG_SKIP_WARMUP |
|
||||||
|
GENESYS_FLAG_DARK_CALIBRATION |
|
||||||
GENESYS_FLAG_CUSTOM_GAMMA,
|
GENESYS_FLAG_CUSTOM_GAMMA,
|
||||||
GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW,
|
GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW,
|
||||||
100,
|
100,
|
||||||
|
|
|
@ -1135,7 +1135,7 @@ gl843_init_optical_regs_scan (Genesys_Device * dev,
|
||||||
dpiset = used_res * cksel;
|
dpiset = used_res * cksel;
|
||||||
|
|
||||||
/* start and end coordinate in optical dpi coordinates */
|
/* start and end coordinate in optical dpi coordinates */
|
||||||
startx = (start + dev->sensor.dummy_pixel)/cksel;
|
startx = (start + dev->sensor.dummy_pixel * tgtime)/cksel;
|
||||||
|
|
||||||
used_pixels=pixels/cksel;
|
used_pixels=pixels/cksel;
|
||||||
endx = startx + used_pixels;
|
endx = startx + used_pixels;
|
||||||
|
@ -1288,7 +1288,7 @@ gl843_init_optical_regs_scan (Genesys_Device * dev,
|
||||||
DBG (DBG_io2, "%s: exposure used=%d\n", __FUNCTION__, exposure/tgtime);
|
DBG (DBG_io2, "%s: exposure used=%d\n", __FUNCTION__, exposure/tgtime);
|
||||||
|
|
||||||
r = sanei_genesys_get_address (reg, REG_DUMMY);
|
r = sanei_genesys_get_address (reg, REG_DUMMY);
|
||||||
r->value = dev->sensor.dummy_pixel/factor;
|
r->value = dev->sensor.dummy_pixel * tgtime;
|
||||||
|
|
||||||
DBGCOMPLETED;
|
DBGCOMPLETED;
|
||||||
return SANE_STATUS_GOOD;
|
return SANE_STATUS_GOOD;
|
||||||
|
@ -3116,7 +3116,7 @@ gl843_offset_calibration (Genesys_Device * dev)
|
||||||
|
|
||||||
/* offset calibration is always done in color mode */
|
/* offset calibration is always done in color mode */
|
||||||
channels = 3;
|
channels = 3;
|
||||||
lines=1;
|
lines=8;
|
||||||
bpp=8;
|
bpp=8;
|
||||||
|
|
||||||
/* compute divider factor to compute final pixels number */
|
/* compute divider factor to compute final pixels number */
|
||||||
|
@ -3283,7 +3283,7 @@ gl843_coarse_gain_calibration (Genesys_Device * dev, int dpi)
|
||||||
int bpp;
|
int bpp;
|
||||||
|
|
||||||
DBG (DBG_proc, "gl843_coarse_gain_calibration: dpi = %d\n", dpi);
|
DBG (DBG_proc, "gl843_coarse_gain_calibration: dpi = %d\n", dpi);
|
||||||
dpihw=sanei_genesys_compute_dpihw(dev,dev->settings.xres);
|
dpihw=sanei_genesys_compute_dpihw(dev, dpi);
|
||||||
factor=dev->sensor.optical_res/dpihw;
|
factor=dev->sensor.optical_res/dpihw;
|
||||||
|
|
||||||
/* coarse gain calibration is always done in color mode */
|
/* coarse gain calibration is always done in color mode */
|
||||||
|
@ -3643,6 +3643,7 @@ gl843_init (Genesys_Device * dev)
|
||||||
|
|
||||||
/* move head away from park position */
|
/* move head away from park position */
|
||||||
gl843_feed (dev, 300);
|
gl843_feed (dev, 300);
|
||||||
|
usleep (100000);
|
||||||
|
|
||||||
/* now hardware part is OK, set up device struct */
|
/* now hardware part is OK, set up device struct */
|
||||||
FREE_IFNOT_NULL (dev->white_average_data);
|
FREE_IFNOT_NULL (dev->white_average_data);
|
||||||
|
|
Ładowanie…
Reference in New Issue