genesys: Only ever name Genesys_Sensor as "sensor" to reduce confusion

merge-requests/81/head
Povilas Kanapickas 2019-06-02 11:47:43 +03:00
rodzic 7738412517
commit 43c86ecd81
5 zmienionych plików z 105 dodań i 123 usunięć

Wyświetl plik

@ -674,10 +674,8 @@ gl124_set_fe (Genesys_Device * dev, uint8_t set)
*/
static int gl124_compute_exposure(Genesys_Device *dev, int xres, int half_ccd)
{
Sensor_Profile *sensor;
sensor=get_sensor_profile(dev->model->ccd_type, xres, half_ccd);
return sensor->exposure;
Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, xres, half_ccd);
return sensor_profile->exposure;
}
@ -895,7 +893,6 @@ gl124_init_motor_regs_scan (Genesys_Device * dev,
static void
gl124_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs, int dpi, int half_ccd)
{
Sensor_Profile *sensor;
int dpihw;
uint32_t exp;
@ -914,52 +911,52 @@ gl124_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs, int dpi,
/* set EXPDUMMY and CKxMAP */
dpihw=sanei_genesys_compute_dpihw(dev,dpi);
sensor=get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd);
Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd);
regs->set8(0x18, sensor->reg18);
regs->set8(0x20, sensor->reg20);
regs->set8(0x61, sensor->reg61);
regs->set8(0x98, sensor->reg98);
if (sensor->reg16 != 0) {
regs->set8(0x16, sensor->reg16);
regs->set8(0x18, sensor_profile->reg18);
regs->set8(0x20, sensor_profile->reg20);
regs->set8(0x61, sensor_profile->reg61);
regs->set8(0x98, sensor_profile->reg98);
if (sensor_profile->reg16 != 0) {
regs->set8(0x16, sensor_profile->reg16);
}
if (sensor->reg70 != 0) {
regs->set8(0x70, sensor->reg70);
if (sensor_profile->reg70 != 0) {
regs->set8(0x70, sensor_profile->reg70);
}
sanei_genesys_set_triple(regs,REG_SEGCNT,sensor->segcnt);
sanei_genesys_set_double(regs,REG_TG0CNT,sensor->tg0cnt);
sanei_genesys_set_double(regs,REG_EXPDMY,sensor->expdummy);
sanei_genesys_set_triple(regs,REG_SEGCNT,sensor_profile->segcnt);
sanei_genesys_set_double(regs,REG_TG0CNT,sensor_profile->tg0cnt);
sanei_genesys_set_double(regs,REG_EXPDMY,sensor_profile->expdummy);
/* if no calibration has been done, set default values for exposures */
exp = dev->sensor.exposure.red;
if(exp==0)
{
exp=sensor->expr;
exp=sensor_profile->expr;
}
sanei_genesys_set_triple(regs,REG_EXPR,exp);
exp =dev->sensor.exposure.green;
if(exp==0)
{
exp=sensor->expg;
exp=sensor_profile->expg;
}
sanei_genesys_set_triple(regs,REG_EXPG,exp);
exp = dev->sensor.exposure.blue;
if(exp==0)
{
exp=sensor->expb;
exp=sensor_profile->expb;
}
sanei_genesys_set_triple(regs,REG_EXPB,exp);
sanei_genesys_set_triple(regs,REG_CK1MAP,sensor->ck1map);
sanei_genesys_set_triple(regs,REG_CK3MAP,sensor->ck3map);
sanei_genesys_set_triple(regs,REG_CK4MAP,sensor->ck4map);
sanei_genesys_set_triple(regs,REG_CK1MAP,sensor_profile->ck1map);
sanei_genesys_set_triple(regs,REG_CK3MAP,sensor_profile->ck3map);
sanei_genesys_set_triple(regs,REG_CK4MAP,sensor_profile->ck4map);
/* order of the sub-segments */
dev->order=sensor->order;
dev->order=sensor_profile->order;
DBGCOMPLETED;
}
@ -1528,7 +1525,6 @@ gl124_calculate_current_setup (Genesys_Device * dev)
SANE_Bool half_ccd;
int max_shift, dpihw;
Sensor_Profile *sensor;
int optical_res;
@ -1605,8 +1601,8 @@ gl124_calculate_current_setup (Genesys_Device * dev)
/* compute hw dpi for sensor */
dpihw=sanei_genesys_compute_dpihw(dev,used_res);
sensor=get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd);
dev->segnb=sensor->reg98 & 0x0f;
Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd);
dev->segnb=sensor_profile->reg98 & 0x0f;
/* stagger */
if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE))
@ -2807,7 +2803,6 @@ gl124_led_calibration (Genesys_Device * dev)
int avg[3];
int turn;
uint16_t exp[3],target;
Sensor_Profile *sensor;
SANE_Bool acceptable;
SANE_Bool half_ccd;
@ -2829,7 +2824,7 @@ gl124_led_calibration (Genesys_Device * dev)
{
resolution = dpihw;
}
sensor=get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd);
Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd);
num_pixels = (dev->sensor.sensor_pixels*resolution)/dev->sensor.optical_res;
/* initial calibration reg values */
@ -2863,9 +2858,9 @@ gl124_led_calibration (Genesys_Device * dev)
std::vector<uint8_t> line(total_size);
/* initial loop values and boundaries */
exp[0]=sensor->expr;
exp[1]=sensor->expg;
exp[2]=sensor->expb;
exp[0]=sensor_profile->expr;
exp[1]=sensor_profile->expg;
exp[2]=sensor_profile->expb;
target=dev->sensor.gain_white_ref*256;
turn = 0;

Wyświetl plik

@ -222,7 +222,7 @@ gl646_stop_motor (Genesys_Device * dev)
* @return the closest resolution for the sensor and mode
*/
static int
get_lowest_resolution (int sensor, SANE_Bool color)
get_lowest_resolution(int sensor_id, SANE_Bool color)
{
int i, nb;
int dpi;
@ -233,7 +233,7 @@ get_lowest_resolution (int sensor, SANE_Bool color)
while (i < nb)
{
/* computes distance and keep mode if it is closer than previous */
if (sensor == sensor_master[i].sensor
if (sensor_id == sensor_master[i].sensor
&& sensor_master[i].color == color)
{
if (sensor_master[i].dpi < dpi)
@ -255,7 +255,7 @@ get_lowest_resolution (int sensor, SANE_Bool color)
* @return the closest resolution for the sensor and mode
*/
static int
get_closest_resolution (int sensor, int required, SANE_Bool color)
get_closest_resolution (int sensor_id, int required, SANE_Bool color)
{
int i, nb;
int dist, dpi;
@ -267,7 +267,7 @@ get_closest_resolution (int sensor, int required, SANE_Bool color)
while (i < nb)
{
/* exit on perfect match */
if (sensor == sensor_master[i].sensor
if (sensor_id == sensor_master[i].sensor
&& sensor_master[i].dpi == required
&& sensor_master[i].color == color)
{
@ -275,7 +275,7 @@ get_closest_resolution (int sensor, int required, SANE_Bool color)
return required;
}
/* computes distance and keep mode if it is closer than previous */
if (sensor == sensor_master[i].sensor
if (sensor_id == sensor_master[i].sensor
&& sensor_master[i].color == color)
{
if (abs (sensor_master[i].dpi - required) < dist)
@ -299,7 +299,7 @@ get_closest_resolution (int sensor, int required, SANE_Bool color)
* @return SANE_TRUE if half ccd is used
*/
static SANE_Bool
is_half_ccd (int sensor, int required, SANE_Bool color)
is_half_ccd (int sensor_id, int required, SANE_Bool color)
{
int i, nb;
@ -308,7 +308,7 @@ is_half_ccd (int sensor, int required, SANE_Bool color)
while (i < nb)
{
/* exit on perfect match */
if (sensor == sensor_master[i].sensor
if (sensor_id == sensor_master[i].sensor
&& sensor_master[i].dpi == required
&& sensor_master[i].color == color)
{
@ -330,7 +330,7 @@ is_half_ccd (int sensor, int required, SANE_Bool color)
* @return cksel value for mode
*/
static int
get_cksel (int sensor, int required, SANE_Bool color)
get_cksel (int sensor_id, int required, SANE_Bool color)
{
int i, nb;
@ -339,7 +339,7 @@ get_cksel (int sensor, int required, SANE_Bool color)
while (i < nb)
{
/* exit on perfect match */
if (sensor == sensor_master[i].sensor
if (sensor_id == sensor_master[i].sensor
&& sensor_master[i].dpi == required
&& sensor_master[i].color == color)
{
@ -391,7 +391,7 @@ gl646_setup_registers (Genesys_Device * dev,
{
SANE_Status status = SANE_STATUS_GOOD;
int i, nb;
Sensor_Master *sensor = NULL;
Sensor_Master *sensor_mst = NULL;
Motor_Master *motor = NULL;
Sensor_Settings *settings = NULL;
GenesysRegister *r;
@ -429,11 +429,11 @@ gl646_setup_registers (Genesys_Device * dev,
&& sensor_master[i].dpi == xresolution
&& sensor_master[i].color == color)
{
sensor = &sensor_master[i];
sensor_mst = &sensor_master[i];
}
i++;
}
if (sensor == NULL)
if (sensor_mst == NULL)
{
DBG(DBG_error, "%s: unable to find settings for sensor %d at %d dpi color=%d\n", __func__,
dev->model->ccd_type, xresolution, color);
@ -466,8 +466,8 @@ gl646_setup_registers (Genesys_Device * dev,
nb = sizeof (sensor_settings) / sizeof (Sensor_Settings);
while (i < nb)
{
if (sensor->sensor == sensor_settings[i].sensor
&& sensor->cksel == sensor_settings[i].cksel)
if (sensor_mst->sensor == sensor_settings[i].sensor
&& sensor_mst->cksel == sensor_settings[i].cksel)
{
settings = &sensor_settings[i];
}
@ -476,20 +476,20 @@ gl646_setup_registers (Genesys_Device * dev,
if (settings == NULL)
{
DBG(DBG_error, "%s: unable to find settings for sensor %d with '%d' ccd timing\n", __func__,
sensor->sensor, sensor->cksel);
sensor_mst->sensor, sensor_mst->cksel);
return SANE_STATUS_INVAL;
}
/* half_ccd if manual clock programming or dpi is half dpiset */
half_ccd = sensor->half_ccd;
half_ccd = sensor_mst->half_ccd;
/* now apply values from settings to registers */
if (sensor->regs_0x10_0x15 != NULL)
if (sensor_mst->regs_0x10_0x15 != NULL)
{
for (i = 0; i < 6; i++)
{
r = sanei_genesys_get_address (regs, 0x10 + i);
r->value = sensor->regs_0x10_0x15[i];
r->value = sensor_mst->regs_0x10_0x15[i];
}
}
else
@ -674,10 +674,10 @@ gl646_setup_registers (Genesys_Device * dev,
}
/* cktoggle, ckdelay and cksel at once, cktdelay=2 => half_ccd for md5345 */
regs->find_reg(0x18).value = sensor->r18;
regs->find_reg(0x18).value = sensor_mst->r18;
/* manual CCD/2 clock programming => half_ccd for hp2300 */
regs->find_reg(0x1d).value = sensor->r1d;
regs->find_reg(0x1d).value = sensor_mst->r1d;
/* HP2400 1200dpi mode tuning */
@ -742,8 +742,8 @@ gl646_setup_registers (Genesys_Device * dev,
}
/* scanner's x coordinates are expressed in physical DPI but they must be divided by cksel */
sx = startx / sensor->cksel;
ex = endx / sensor->cksel;
sx = startx / sensor_mst->cksel;
ex = endx / sensor_mst->cksel;
if (half_ccd == SANE_TRUE)
{
sx /= 2;
@ -755,7 +755,7 @@ gl646_setup_registers (Genesys_Device * dev,
/* words_per_line must be computed according to the scan's resolution */
/* in fact, words_per_line _gives_ the actual scan resolution */
words_per_line = (((endx - startx) * sensor->xdpi) / dev->sensor.optical_res);
words_per_line = (((endx - startx) * sensor_mst->xdpi) / dev->sensor.optical_res);
bpp=depth/8;
if (depth == 1)
{
@ -773,8 +773,8 @@ gl646_setup_registers (Genesys_Device * dev,
DBG(DBG_info, "%s: wpl=%d\n", __func__, words_per_line);
sanei_genesys_set_triple(regs, REG_MAXWD, words_per_line);
sanei_genesys_set_double(regs, REG_DPISET, sensor->dpiset);
sanei_genesys_set_double(regs, REG_LPERIOD, sensor->exposure);
sanei_genesys_set_double(regs, REG_DPISET, sensor_mst->dpiset);
sanei_genesys_set_double(regs, REG_LPERIOD, sensor_mst->exposure);
/* move distance must be adjusted to take into account the extra lines
* read to reorder data */
@ -903,7 +903,7 @@ gl646_setup_registers (Genesys_Device * dev,
regs->find_reg(0x65).value = motor->mtrpwm;
sanei_genesys_calculate_zmode2 (regs->find_reg(0x02).value & REG02_FASTFED,
sensor->exposure,
sensor_mst->exposure,
slope_table1,
motor->steps1,
move, motor->fwdbwd, &z1, &z2);
@ -954,12 +954,12 @@ gl646_setup_registers (Genesys_Device * dev,
dev->read_active = SANE_TRUE;
dev->current_setup.pixels =
((endx - startx) * sensor->xdpi) / dev->sensor.optical_res;
((endx - startx) * sensor_mst->xdpi) / dev->sensor.optical_res;
dev->current_setup.lines = linecnt;
dev->current_setup.depth = depth;
dev->current_setup.channels = channels;
dev->current_setup.exposure_time = sensor->exposure;
dev->current_setup.xres = sensor->xdpi;
dev->current_setup.exposure_time = sensor_mst->exposure;
dev->current_setup.xres = sensor_mst->xdpi;
dev->current_setup.yres = motor->ydpi;
dev->current_setup.half_ccd = half_ccd;
dev->current_setup.stagger = stagger;

Wyświetl plik

@ -300,42 +300,41 @@ static void
gl843_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs, int dpi,int flags)
{
GenesysRegister *r;
Sensor_Profile *sensor;
int i,dpihw;
DBGSTART;
dpihw=sanei_genesys_compute_dpihw(dev,dpi);
sensor=get_sensor_profile(dev->model->ccd_type, dpihw, flags);
Sensor_Profile* sensor_profile=get_sensor_profile(dev->model->ccd_type, dpihw, flags);
for (i = 0; i < 0x1e - 0x16; i++)
{
r = sanei_genesys_get_address(regs, 0x16 + i);
if (r)
r->value = sensor->regs_0x16_0x1d[i];
r->value = sensor_profile->regs_0x16_0x1d[i];
}
for (i = 0; i < 9; i++)
{
r = sanei_genesys_get_address (regs, 0x52 + i);
if (r)
r->value = sensor->regs_0x52_0x5e[i];
r->value = sensor_profile->regs_0x52_0x5e[i];
}
/* specific registers */
r = sanei_genesys_get_address (regs, 0x0c);
if (r)
{
r->value = sensor->reg0c;
r->value = sensor_profile->reg0c;
}
r = sanei_genesys_get_address (regs, 0x70);
if (r)
{
r->value = sensor->reg70;
r->value = sensor_profile->reg70;
}
r = sanei_genesys_get_address (regs, 0x71);
if (r)
{
r->value = sensor->reg71;
r->value = sensor_profile->reg71;
}
r = sanei_genesys_get_address (regs, 0x7d);
if (r)
@ -348,19 +347,19 @@ gl843_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs, int dpi,i
r = sanei_genesys_get_address (regs, 0x9e);
if (r)
{
r->value = sensor->reg9e;
r->value = sensor_profile->reg9e;
}
/* undocumented register */
r = sanei_genesys_get_address (regs, 0xaa);
if (r)
{
r->value = sensor->regaa;
r->value = sensor_profile->regaa;
}
/* CKxMAP */
sanei_genesys_set_triple(regs,REG_CK1MAP,sensor->ck1map);
sanei_genesys_set_triple(regs,REG_CK3MAP,sensor->ck3map);
sanei_genesys_set_triple(regs,REG_CK4MAP,sensor->ck4map);
sanei_genesys_set_triple(regs,REG_CK1MAP,sensor_profile->ck1map);
sanei_genesys_set_triple(regs,REG_CK3MAP,sensor_profile->ck3map);
sanei_genesys_set_triple(regs,REG_CK4MAP,sensor_profile->ck4map);
DBGCOMPLETED;
}
@ -1153,10 +1152,8 @@ gl843_init_motor_regs_scan (Genesys_Device * dev,
*/
static int gl843_compute_exposure(Genesys_Device *dev, int xres, int flags)
{
Sensor_Profile *sensor;
sensor=get_sensor_profile(dev->model->ccd_type, xres, flags);
return sensor->exposure;
Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, xres, flags);
return sensor_profile->exposure;
}
/** @brief setup optical related registers

Wyświetl plik

@ -203,10 +203,8 @@ static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi)
*/
static int gl846_compute_exposure(Genesys_Device *dev, int xres)
{
Sensor_Profile *sensor;
sensor=get_sensor_profile(dev->model->ccd_type, xres);
return sensor->exposure;
Sensor_Profile* sensor_profile=get_sensor_profile(dev->model->ccd_type, xres);
return sensor_profile->exposure;
}
@ -216,7 +214,6 @@ static void
gl846_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs, int dpi)
{
GenesysRegister *r;
Sensor_Profile *sensor;
int dpihw;
uint16_t exp;
@ -233,41 +230,41 @@ gl846_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs, int dpi)
/* set EXPDUMMY and CKxMAP */
dpihw=sanei_genesys_compute_dpihw(dev,dpi);
sensor=get_sensor_profile(dev->model->ccd_type, dpihw);
Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw);
sanei_genesys_set_reg_from_set(regs,REG_EXPDMY,(uint8_t)((sensor->expdummy) & 0xff));
sanei_genesys_set_reg_from_set(regs,REG_EXPDMY,(uint8_t)((sensor_profile->expdummy) & 0xff));
/* if no calibration has been done, set default values for exposures */
exp = dev->sensor.exposure.red;
if(exp==0)
{
exp=sensor->expr;
exp=sensor_profile->expr;
}
sanei_genesys_set_double(regs,REG_EXPR,exp);
exp = dev->sensor.exposure.green;
if(exp==0)
{
exp=sensor->expg;
exp=sensor_profile->expg;
}
sanei_genesys_set_double(regs,REG_EXPG,exp);
exp = dev->sensor.exposure.blue;
if(exp==0)
{
exp=sensor->expb;
exp=sensor_profile->expb;
}
sanei_genesys_set_double(regs,REG_EXPB,exp);
sanei_genesys_set_triple(regs,REG_CK1MAP,sensor->ck1map);
sanei_genesys_set_triple(regs,REG_CK3MAP,sensor->ck3map);
sanei_genesys_set_triple(regs,REG_CK4MAP,sensor->ck4map);
sanei_genesys_set_triple(regs,REG_CK1MAP,sensor_profile->ck1map);
sanei_genesys_set_triple(regs,REG_CK3MAP,sensor_profile->ck3map);
sanei_genesys_set_triple(regs,REG_CK4MAP,sensor_profile->ck4map);
/* order of the sub-segments */
dev->order=sensor->order;
dev->order=sensor_profile->order;
r = sanei_genesys_get_address (regs, 0x17);
r->value = sensor->r17;
r->value = sensor_profile->r17;
DBGCOMPLETED;
}
@ -865,7 +862,6 @@ gl846_init_optical_regs_scan (Genesys_Device * dev,
unsigned int bytes;
GenesysRegister *r;
SANE_Status status;
Sensor_Profile *sensor;
DBG(DBG_proc, "%s : exposure_time=%d, used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, "
"half_ccd=%d, flags=%x\n", __func__, exposure_time, used_res, start, pixels, channels, depth,
@ -883,7 +879,7 @@ gl846_init_optical_regs_scan (Genesys_Device * dev,
DBG(DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor);
/* sensor parameters */
sensor=get_sensor_profile(dev->model->ccd_type, dpihw);
Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw);
gl846_setup_sensor (dev, reg, dpihw);
dpiset = used_res * cksel;
@ -917,7 +913,7 @@ gl846_init_optical_regs_scan (Genesys_Device * dev,
* of the sensor crossed by the scan area */
if (dev->model->flags & GENESYS_FLAG_SIS_SENSOR && segnb>1)
{
dev->dist = sensor->segcnt;
dev->dist = sensor_profile->segcnt;
}
/* use a segcnt rounded to next even number */
@ -2385,7 +2381,6 @@ gl846_led_calibration (Genesys_Device * dev)
int avg[3], top[3], bottom[3];
int turn;
uint16_t exp[3];
Sensor_Profile *sensor;
float move;
SANE_Bool acceptable;
@ -2403,7 +2398,7 @@ gl846_led_calibration (Genesys_Device * dev)
channels = 3;
depth=16;
used_res=sanei_genesys_compute_dpihw(dev,dev->settings.xres);
sensor=get_sensor_profile(dev->model->ccd_type, used_res);
Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, used_res);
num_pixels = (dev->sensor.sensor_pixels*used_res)/dev->sensor.optical_res;
/* initial calibration reg values */
@ -2435,9 +2430,9 @@ gl846_led_calibration (Genesys_Device * dev)
std::vector<uint8_t> line(total_size);
/* initial loop values and boundaries */
exp[0]=sensor->expr;
exp[1]=sensor->expg;
exp[2]=sensor->expb;
exp[0]=sensor_profile->expr;
exp[1]=sensor_profile->expg;
exp[2]=sensor_profile->expb;
bottom[0]=29000;
bottom[1]=29000;

Wyświetl plik

@ -198,10 +198,8 @@ static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi)
*/
static int gl847_compute_exposure(Genesys_Device *dev, int xres)
{
Sensor_Profile *sensor;
sensor=get_sensor_profile(dev->model->ccd_type, xres);
return sensor->exposure;
Sensor_Profile* sensor_profile=get_sensor_profile(dev->model->ccd_type, xres);
return sensor_profile->exposure;
}
@ -211,7 +209,6 @@ static void
gl847_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs, int dpi)
{
GenesysRegister *r;
Sensor_Profile *sensor;
int dpihw;
uint16_t exp;
@ -228,41 +225,41 @@ gl847_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs, int dpi)
/* set EXPDUMMY and CKxMAP */
dpihw=sanei_genesys_compute_dpihw(dev,dpi);
sensor=get_sensor_profile(dev->model->ccd_type, dpihw);
Sensor_Profile* sensor_profile=get_sensor_profile(dev->model->ccd_type, dpihw);
sanei_genesys_set_reg_from_set(regs,REG_EXPDMY,(uint8_t)((sensor->expdummy) & 0xff));
sanei_genesys_set_reg_from_set(regs,REG_EXPDMY,(uint8_t)((sensor_profile->expdummy) & 0xff));
/* if no calibration has been done, set default values for exposures */
exp = dev->sensor.exposure.red;
if(exp==0)
{
exp=sensor->expr;
exp=sensor_profile->expr;
}
sanei_genesys_set_double(regs,REG_EXPR,exp);
exp = dev->sensor.exposure.green;
if(exp==0)
{
exp=sensor->expg;
exp=sensor_profile->expg;
}
sanei_genesys_set_double(regs,REG_EXPG,exp);
exp = dev->sensor.exposure.blue;
if(exp==0)
{
exp=sensor->expb;
exp=sensor_profile->expb;
}
sanei_genesys_set_double(regs,REG_EXPB,exp);
sanei_genesys_set_triple(regs,REG_CK1MAP,sensor->ck1map);
sanei_genesys_set_triple(regs,REG_CK3MAP,sensor->ck3map);
sanei_genesys_set_triple(regs,REG_CK4MAP,sensor->ck4map);
sanei_genesys_set_triple(regs,REG_CK1MAP,sensor_profile->ck1map);
sanei_genesys_set_triple(regs,REG_CK3MAP,sensor_profile->ck3map);
sanei_genesys_set_triple(regs,REG_CK4MAP,sensor_profile->ck4map);
/* order of the sub-segments */
dev->order=sensor->order;
dev->order=sensor_profile->order;
r = sanei_genesys_get_address (regs, 0x17);
r->value = sensor->r17;
r->value = sensor_profile->r17;
DBGCOMPLETED;
}
@ -880,7 +877,6 @@ gl847_init_optical_regs_scan (Genesys_Device * dev,
unsigned int bytes;
GenesysRegister *r;
SANE_Status status;
Sensor_Profile *sensor;
DBG(DBG_proc, "%s : exposure_time=%d, used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, "
"half_ccd=%d, flags=%x\n", __func__, exposure_time, used_res, start, pixels, channels, depth,
@ -898,7 +894,7 @@ gl847_init_optical_regs_scan (Genesys_Device * dev,
DBG(DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor);
/* sensor parameters */
sensor=get_sensor_profile(dev->model->ccd_type, dpihw);
Sensor_Profile* sensor_profile=get_sensor_profile(dev->model->ccd_type, dpihw);
gl847_setup_sensor (dev, reg, dpihw);
dpiset = used_res * cksel;
@ -932,7 +928,7 @@ gl847_init_optical_regs_scan (Genesys_Device * dev,
* of the sensor crossed by the scan area */
if (dev->model->flags & GENESYS_FLAG_SIS_SENSOR && segnb>1)
{
dev->dist = sensor->segcnt;
dev->dist = sensor_profile->segcnt;
}
/* use a segcnt rounded to next even number */
@ -2448,7 +2444,6 @@ gl847_led_calibration (Genesys_Device * dev)
int avg[3], top[3], bottom[3];
int turn;
uint16_t exp[3];
Sensor_Profile *sensor;
float move;
SANE_Bool acceptable;
@ -2466,7 +2461,7 @@ gl847_led_calibration (Genesys_Device * dev)
channels = 3;
depth=16;
used_res=sanei_genesys_compute_dpihw(dev,dev->settings.xres);
sensor=get_sensor_profile(dev->model->ccd_type, used_res);
Sensor_Profile* sensor_profile=get_sensor_profile(dev->model->ccd_type, used_res);
num_pixels = (dev->sensor.sensor_pixels*used_res)/dev->sensor.optical_res;
/* initial calibration reg values */
@ -2498,9 +2493,9 @@ gl847_led_calibration (Genesys_Device * dev)
std::vector<uint8_t> line(total_size);
/* initial loop values and boundaries */
exp[0]=sensor->expr;
exp[1]=sensor->expg;
exp[2]=sensor->expb;
exp[0]=sensor_profile->expr;
exp[1]=sensor_profile->expg;
exp[2]=sensor_profile->expb;
bottom[0]=29000;
bottom[1]=29000;