kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Reduce duplication of sensor setup functionality
rodzic
d0855e513b
commit
afa96a227d
|
@ -632,6 +632,30 @@ bool scanner_is_motor_stopped(Genesys_Device& dev)
|
|||
}
|
||||
}
|
||||
|
||||
void scanner_setup_sensor(Genesys_Device& dev, const Genesys_Sensor& sensor,
|
||||
Genesys_Register_Set& regs)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
|
||||
if (dev.model->asic_type == AsicType::GL646) {
|
||||
for (const auto& custom_reg : sensor.custom_base_regs) {
|
||||
regs.set8(custom_reg.address, custom_reg.value);
|
||||
}
|
||||
} else {
|
||||
for (const auto& custom_reg : sensor.custom_regs) {
|
||||
regs.set8(custom_reg.address, custom_reg.value);
|
||||
}
|
||||
}
|
||||
|
||||
if (dev.model->asic_type != AsicType::GL841 &&
|
||||
dev.model->asic_type != AsicType::GL843)
|
||||
{
|
||||
regs_set_exposure(dev.model->asic_type, regs, sensor.exposure);
|
||||
}
|
||||
|
||||
dev.segment_order = sensor.segment_order;
|
||||
}
|
||||
|
||||
void scanner_stop_action(Genesys_Device& dev)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
|
|
|
@ -640,35 +640,6 @@ static void gl124_init_motor_regs_scan(Genesys_Device* dev,
|
|||
reg->set16(REG_FMOVDEC, fast_table.steps_count);
|
||||
}
|
||||
|
||||
|
||||
/** @brief copy sensor specific settings
|
||||
* Set up register set for the given sensor resolution. Values are from the device table
|
||||
* in genesys_devices.c for registers:
|
||||
* [0x16 ... 0x1d]
|
||||
* [0x52 ... 0x5e]
|
||||
* Other come from the specific device sensor table in genesys_gl124.h:
|
||||
* 0x18, 0x20, 0x61, 0x98 and
|
||||
* @param dev device to set up
|
||||
* @param regs register set to modify
|
||||
* @param dpi resolution of the sensor during scan
|
||||
* @param ccd_size_divisor flag for half ccd mode
|
||||
* */
|
||||
static void gl124_setup_sensor(Genesys_Device* dev, const Genesys_Sensor& sensor,
|
||||
Genesys_Register_Set* regs)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
|
||||
for (const auto& reg : sensor.custom_regs) {
|
||||
regs->set8(reg.address, reg.value);
|
||||
}
|
||||
|
||||
regs->set24(REG_EXPR, sensor.exposure.red);
|
||||
regs->set24(REG_EXPG, sensor.exposure.green);
|
||||
regs->set24(REG_EXPB, sensor.exposure.blue);
|
||||
|
||||
dev->segment_order = sensor.segment_order;
|
||||
}
|
||||
|
||||
/** @brief setup optical related registers
|
||||
* start and pixels are expressed in optical sensor resolution coordinate
|
||||
* space.
|
||||
|
@ -692,7 +663,7 @@ static void gl124_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
|
|||
DBG_HELPER_ARGS(dbg, "exposure_time=%d", exposure_time);
|
||||
uint32_t expmax;
|
||||
|
||||
gl124_setup_sensor(dev, sensor, reg);
|
||||
scanner_setup_sensor(*dev, sensor, *reg);
|
||||
|
||||
dev->cmd_set->set_fe(dev, sensor, AFE_SET);
|
||||
|
||||
|
|
|
@ -546,30 +546,6 @@ void CommandSetGl646::init_regs_for_scan_session(Genesys_Device* dev, const Gene
|
|||
gl646_send_slope_table(dev, 1, slope_table2.table, regs->get8(0x6b));
|
||||
}
|
||||
|
||||
|
||||
/** copy sensor specific settings */
|
||||
/* *dev : device infos
|
||||
*regs : regiters to be set
|
||||
extended : do extended set up
|
||||
ccd_size_divisor: set up for half ccd resolution
|
||||
all registers 08-0B, 10-1D, 52-5E are set up. They shouldn't
|
||||
appear anywhere else but in register init
|
||||
*/
|
||||
static void
|
||||
gl646_setup_sensor (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * regs)
|
||||
{
|
||||
(void) dev;
|
||||
DBG(DBG_proc, "%s: start\n", __func__);
|
||||
|
||||
for (const auto& reg_setting : sensor.custom_base_regs) {
|
||||
regs->set8(reg_setting.address, reg_setting.value);
|
||||
}
|
||||
// FIXME: all other drivers don't set exposure here
|
||||
regs_set_exposure(AsicType::GL646, *regs, sensor.exposure);
|
||||
|
||||
DBG(DBG_proc, "%s: end\n", __func__);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set all registers to default values after init
|
||||
* @param dev scannerr's device to set
|
||||
|
@ -643,8 +619,7 @@ gl646_init_regs (Genesys_Device * dev)
|
|||
dev->reg.find_reg(0x06).value = 0x18; // PWRBIT on, shading gain=8, normal AFE image capture
|
||||
}
|
||||
|
||||
|
||||
gl646_setup_sensor(dev, sensor, &dev->reg);
|
||||
scanner_setup_sensor(*dev, sensor, dev->reg);
|
||||
|
||||
dev->reg.find_reg(0x1e).value = 0xf0; /* watch-dog time */
|
||||
|
||||
|
|
|
@ -68,15 +68,6 @@ static int gl841_exposure_time(Genesys_Device *dev, const Genesys_Sensor& sensor
|
|||
int start,
|
||||
int used_pixels);
|
||||
|
||||
static void sanei_gl841_setup_sensor(const Genesys_Sensor& sensor, Genesys_Register_Set* regs)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
|
||||
for (const auto& custom_reg : sensor.custom_regs) {
|
||||
regs->set8(custom_reg.address, custom_reg.value);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Set all registers to default values
|
||||
* (function called only once at the beginning)
|
||||
|
@ -169,14 +160,14 @@ gl841_init_registers (Genesys_Device * dev)
|
|||
dev->reg.init_reg(0x15, 0x00);
|
||||
}
|
||||
|
||||
dev->reg.init_reg(0x16, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x17, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x18, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x19, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x1a, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x1b, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x1c, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x1d, 0x01); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x16, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x17, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x18, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x19, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x1a, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x1b, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x1c, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x1d, 0x01); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x1e, 0xf0);
|
||||
if (dev->model->model_id == ModelId::CANON_LIDE_80) {
|
||||
dev->reg.init_reg(0x1e, 0x10);
|
||||
|
@ -237,15 +228,15 @@ gl841_init_registers (Genesys_Device * dev)
|
|||
dev->reg.init_reg(0x3e, 0x00);
|
||||
dev->reg.init_reg(0x3f, 0x00);
|
||||
|
||||
dev->reg.init_reg(0x52, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x53, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x54, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x55, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x56, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x57, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x58, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x59, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x5a, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x52, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x53, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x54, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x55, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x56, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x57, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x58, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x59, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x5a, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
|
||||
if (dev->model->model_id == ModelId::CANON_LIDE_80) {
|
||||
dev->reg.init_reg(0x5d, 0x20);
|
||||
|
@ -273,10 +264,10 @@ gl841_init_registers (Genesys_Device * dev)
|
|||
dev->reg.init_reg(0x5e, 0x02);
|
||||
}
|
||||
|
||||
dev->reg.init_reg(0x70, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x71, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x72, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x73, 0x00); // SENSOR_DEF, overwritten in sanei_gl841_setup_sensor() below
|
||||
dev->reg.init_reg(0x70, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x71, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x72, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
dev->reg.init_reg(0x73, 0x00); // SENSOR_DEF, overwritten in scanner_setup_sensor() below
|
||||
|
||||
if (dev->model->model_id == ModelId::CANON_LIDE_80) {
|
||||
dev->reg.init_reg(0x74, 0x00);
|
||||
|
@ -307,7 +298,7 @@ gl841_init_registers (Genesys_Device * dev)
|
|||
}
|
||||
}
|
||||
|
||||
sanei_gl841_setup_sensor(sensor, &dev->reg);
|
||||
scanner_setup_sensor(*dev, sensor, dev->reg);
|
||||
|
||||
// set up GPIO
|
||||
for (const auto& reg : dev->gpo.regs) {
|
||||
|
@ -1066,7 +1057,7 @@ static void gl841_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
|
|||
}
|
||||
|
||||
/* sensor parameters */
|
||||
sanei_gl841_setup_sensor(sensor, &dev->reg);
|
||||
scanner_setup_sensor(*dev, sensor, dev->reg);
|
||||
reg->set8(0x29, 255); /*<<<"magic" number, only suitable for cis*/
|
||||
reg->set16(REG_DPISET, sensor.register_dpiset);
|
||||
reg->set16(REG_STRPIXEL, session.pixel_startx);
|
||||
|
|
|
@ -66,26 +66,6 @@ static int gl843_get_step_multiplier(Genesys_Register_Set* regs)
|
|||
}
|
||||
}
|
||||
|
||||
/** copy sensor specific settings */
|
||||
static void gl843_setup_sensor(Genesys_Device* dev, const Genesys_Sensor& sensor,
|
||||
Genesys_Register_Set* regs)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
for (const auto& custom_reg : sensor.custom_regs) {
|
||||
regs->set8(custom_reg.address, custom_reg.value);
|
||||
}
|
||||
if (dev->model->model_id == ModelId::PANASONIC_KV_SS080 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050)
|
||||
{
|
||||
regs->set8(0x7d, 0x90);
|
||||
}
|
||||
|
||||
dev->segment_order = sensor.segment_order;
|
||||
}
|
||||
|
||||
|
||||
/** @brief set all registers to default values .
|
||||
* This function is called only once at the beginning and
|
||||
* fills register startup values for registers reused across scans.
|
||||
|
@ -96,9 +76,9 @@ static void gl843_setup_sensor(Genesys_Device* dev, const Genesys_Sensor& sensor
|
|||
static void
|
||||
gl843_init_registers (Genesys_Device * dev)
|
||||
{
|
||||
// Within this function SENSOR_DEF marker documents that a register is part
|
||||
// of the sensors definition and the actual value is set in
|
||||
// gl843_setup_sensor().
|
||||
// Within this function SENSOR_DEF marker documents that a register is part
|
||||
// of the sensors definition and the actual value is set in
|
||||
// scanner_setup_sensor().
|
||||
|
||||
// 0x6c, 0x6d, 0x6e, 0x6f, 0xa6, 0xa7, 0xa8, 0xa9 are defined in the Gpo sensor struct
|
||||
|
||||
|
@ -943,8 +923,8 @@ static void gl843_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
|
|||
tgtime = exposure / 65536 + 1;
|
||||
DBG(DBG_io2, "%s: tgtime=%d\n", __func__, tgtime);
|
||||
|
||||
/* sensor parameters */
|
||||
gl843_setup_sensor(dev, sensor, reg);
|
||||
// sensor parameters
|
||||
scanner_setup_sensor(*dev, sensor, *reg);
|
||||
|
||||
dev->cmd_set->set_fe(dev, sensor, AFE_SET);
|
||||
|
||||
|
|
|
@ -67,25 +67,6 @@ static int gl846_get_step_multiplier (Genesys_Register_Set * regs)
|
|||
return 1 << value;
|
||||
}
|
||||
|
||||
/** @brief sensor specific settings
|
||||
*/
|
||||
static void gl846_setup_sensor(Genesys_Device * dev, const Genesys_Sensor& sensor,
|
||||
Genesys_Register_Set* regs)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
|
||||
for (const auto& reg : sensor.custom_regs) {
|
||||
regs->set8(reg.address, reg.value);
|
||||
}
|
||||
|
||||
regs->set16(REG_EXPR, sensor.exposure.red);
|
||||
regs->set16(REG_EXPG, sensor.exposure.green);
|
||||
regs->set16(REG_EXPB, sensor.exposure.blue);
|
||||
|
||||
dev->segment_order = sensor.segment_order;
|
||||
}
|
||||
|
||||
|
||||
/** @brief set all registers to default values .
|
||||
* This function is called only once at the beginning and
|
||||
* fills register startup values for registers reused across scans.
|
||||
|
@ -619,7 +600,7 @@ static void gl846_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
|
|||
{
|
||||
DBG_HELPER_ARGS(dbg, "exposure_time=%d", exposure_time);
|
||||
|
||||
gl846_setup_sensor(dev, sensor, reg);
|
||||
scanner_setup_sensor(*dev, sensor, *reg);
|
||||
|
||||
dev->cmd_set->set_fe(dev, sensor, AFE_SET);
|
||||
|
||||
|
|
|
@ -62,25 +62,6 @@ static unsigned gl847_get_step_multiplier (Genesys_Register_Set * regs)
|
|||
return 1 << value;
|
||||
}
|
||||
|
||||
/** @brief sensor specific settings
|
||||
*/
|
||||
static void gl847_setup_sensor(Genesys_Device * dev, const Genesys_Sensor& sensor,
|
||||
Genesys_Register_Set* regs)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
|
||||
for (const auto& reg : sensor.custom_regs) {
|
||||
regs->set8(reg.address, reg.value);
|
||||
}
|
||||
|
||||
regs->set16(REG_EXPR, sensor.exposure.red);
|
||||
regs->set16(REG_EXPG, sensor.exposure.green);
|
||||
regs->set16(REG_EXPB, sensor.exposure.blue);
|
||||
|
||||
dev->segment_order = sensor.segment_order;
|
||||
}
|
||||
|
||||
|
||||
/** @brief set all registers to default values .
|
||||
* This function is called only once at the beginning and
|
||||
* fills register startup values for registers reused across scans.
|
||||
|
@ -519,7 +500,7 @@ static void gl847_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
|
|||
{
|
||||
DBG_HELPER_ARGS(dbg, "exposure_time=%d", exposure_time);
|
||||
|
||||
gl847_setup_sensor(dev, sensor, reg);
|
||||
scanner_setup_sensor(*dev, sensor, *reg);
|
||||
|
||||
dev->cmd_set->set_fe(dev, sensor, AFE_SET);
|
||||
|
||||
|
|
|
@ -372,6 +372,9 @@ void scanner_stop_action_no_move(Genesys_Device& dev, Genesys_Register_Set& regs
|
|||
|
||||
bool scanner_is_motor_stopped(Genesys_Device& dev);
|
||||
|
||||
void scanner_setup_sensor(Genesys_Device& dev, const Genesys_Sensor& sensor,
|
||||
Genesys_Register_Set& regs);
|
||||
|
||||
const MotorProfile* get_motor_profile_ptr(const std::vector<MotorProfile>& profiles,
|
||||
unsigned exposure,
|
||||
const ScanSession& session);
|
||||
|
|
|
@ -1489,6 +1489,7 @@ void genesys_init_sensor_tables()
|
|||
{ 0x58, 0x6b },
|
||||
{ 0x59, 0x00 },
|
||||
{ 0x5a, 0xc0 },
|
||||
{ 0x7d, 0x90 },
|
||||
};
|
||||
sensor.gamma = { 1.0f, 1.0f, 1.0f };
|
||||
sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi;
|
||||
|
@ -1554,7 +1555,7 @@ void genesys_init_sensor_tables()
|
|||
{ 0x70, 0x00 }, { 0x71, 0x02 },
|
||||
{ 0x74, 0x00 }, { 0x75, 0x01 }, { 0x76, 0xff },
|
||||
{ 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff },
|
||||
{ 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff },
|
||||
{ 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, { 0x7d, 0x90 },
|
||||
{ 0x9e, 0x00 },
|
||||
{ 0xaa, 0x00 },
|
||||
};
|
||||
|
@ -1568,7 +1569,7 @@ void genesys_init_sensor_tables()
|
|||
{ 0x70, 0x08 }, { 0x71, 0x0c },
|
||||
{ 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff },
|
||||
{ 0x77, 0x00 }, { 0x78, 0x01 }, { 0x79, 0xff },
|
||||
{ 0x7a, 0x00 }, { 0x7b, 0x01 }, { 0x7c, 0xff },
|
||||
{ 0x7a, 0x00 }, { 0x7b, 0x01 }, { 0x7c, 0xff }, { 0x7d, 0x90 },
|
||||
{ 0x9e, 0xc0 },
|
||||
{ 0xaa, 0x05 },
|
||||
};
|
||||
|
@ -1582,7 +1583,7 @@ void genesys_init_sensor_tables()
|
|||
{ 0x70, 0x08 }, { 0x71, 0x0a },
|
||||
{ 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff },
|
||||
{ 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 },
|
||||
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 },
|
||||
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, { 0x7d, 0x90 },
|
||||
{ 0x9e, 0xc0 },
|
||||
{ 0xaa, 0x05 },
|
||||
};
|
||||
|
@ -1593,10 +1594,10 @@ void genesys_init_sensor_tables()
|
|||
{ 0x1a, 0x38 }, { 0x1b, 0x10 }, { 0x1c, 0xc1 }, { 0x1d, 0x08 },
|
||||
{ 0x52, 0x02 }, { 0x53, 0x05 }, { 0x54, 0x08 }, { 0x55, 0x0b }, { 0x56, 0x0e },
|
||||
{ 0x57, 0x11 }, { 0x58, 0x1b }, { 0x59, 0x00 }, { 0x5a, 0x40 },
|
||||
{ 0x70, 0x08 }, { 0x71, 0x0a },
|
||||
{ 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff },
|
||||
{ 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 },
|
||||
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 },
|
||||
{ 0x70, 0x08 }, { 0x71, 0x0a },
|
||||
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, { 0x7d, 0x90 },
|
||||
{ 0x9e, 0xc0 },
|
||||
{ 0xaa, 0x07 },
|
||||
};
|
||||
|
@ -1610,7 +1611,7 @@ void genesys_init_sensor_tables()
|
|||
{ 0x70, 0x00 }, { 0x71, 0x02 },
|
||||
{ 0x74, 0x00 }, { 0x75, 0x1c }, { 0x76, 0x7f },
|
||||
{ 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff },
|
||||
{ 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff },
|
||||
{ 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, { 0x7d, 0x90 },
|
||||
{ 0x9e, 0x00 },
|
||||
{ 0xaa, 0x00 },
|
||||
};
|
||||
|
@ -1682,7 +1683,7 @@ void genesys_init_sensor_tables()
|
|||
{ 0x70, 0x00 }, { 0x71, 0x02 },
|
||||
{ 0x74, 0x00 }, { 0x75, 0x01 }, { 0x76, 0xff },
|
||||
{ 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff },
|
||||
{ 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff },
|
||||
{ 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, { 0x7d, 0x90 },
|
||||
{ 0x9e, 0x00 },
|
||||
{ 0xaa, 0x00 },
|
||||
};
|
||||
|
@ -1695,7 +1696,7 @@ void genesys_init_sensor_tables()
|
|||
{ 0x70, 0x08 }, { 0x71, 0x0c },
|
||||
{ 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff },
|
||||
{ 0x77, 0x00 }, { 0x78, 0x01 }, { 0x79, 0xff },
|
||||
{ 0x7a, 0x00 }, { 0x7b, 0x01 }, { 0x7c, 0xff },
|
||||
{ 0x7a, 0x00 }, { 0x7b, 0x01 }, { 0x7c, 0xff }, { 0x7d, 0x90 },
|
||||
{ 0x9e, 0xc0 },
|
||||
{ 0xaa, 0x05 },
|
||||
};
|
||||
|
@ -1708,7 +1709,7 @@ void genesys_init_sensor_tables()
|
|||
{ 0x70, 0x08 }, { 0x71, 0x0a },
|
||||
{ 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff },
|
||||
{ 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 },
|
||||
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 },
|
||||
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, { 0x7d, 0x90 },
|
||||
{ 0x9e, 0xc0 },
|
||||
{ 0xaa, 0x05 },
|
||||
};
|
||||
|
@ -1721,7 +1722,7 @@ void genesys_init_sensor_tables()
|
|||
{ 0x70, 0x08 }, { 0x71, 0x0a },
|
||||
{ 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff },
|
||||
{ 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 },
|
||||
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 },
|
||||
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, { 0x7d, 0x90 },
|
||||
{ 0x9e, 0xc0 },
|
||||
{ 0xaa, 0x07 },
|
||||
};
|
||||
|
@ -1734,7 +1735,7 @@ void genesys_init_sensor_tables()
|
|||
{ 0x70, 0x00 }, { 0x71, 0x02 },
|
||||
{ 0x74, 0x00 }, { 0x75, 0x1c }, { 0x76, 0x7f },
|
||||
{ 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff },
|
||||
{ 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff },
|
||||
{ 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, { 0x7d, 0x90 },
|
||||
{ 0x9e, 0x00 },
|
||||
{ 0xaa, 0x00 },
|
||||
};
|
||||
|
|
Ładowanie…
Reference in New Issue