Merge branch 'genesys-lide-fixes' into 'master'

genesys: Various fixes affecting LiDE 100,110,120,200,210,220

See merge request sane-project/backends!284
merge-requests/281/merge
Povilas Kanapickas 2019-12-26 15:31:53 +00:00
commit 7a76f21ccd
6 zmienionych plików z 71 dodań i 58 usunięć

Wyświetl plik

@ -513,15 +513,7 @@ void sanei_genesys_init_shading_data(Genesys_Device* dev, const Genesys_Sensor&
int channels;
int i;
/* these models don't need to init shading data due to the use of specific send shading data
function */
if (dev->model->sensor_id==SensorId::CCD_KVSS080 ||
dev->model->sensor_id==SensorId::CCD_G4050 ||
dev->model->sensor_id==SensorId::CCD_HP_4850C ||
dev->model->sensor_id==SensorId::CCD_CANON_4400F ||
dev->model->sensor_id==SensorId::CCD_CANON_8400F ||
dev->cmd_set->has_send_shading_data())
{
if (dev->cmd_set->has_send_shading_data()) {
return;
}
@ -1086,7 +1078,11 @@ void scanner_move_back_home(Genesys_Device& dev, bool wait_until_home)
if (dev.model->model_id == ModelId::CANON_LIDE_210) {
// move the head back a little first
scanner_move(dev, dev.model->default_method, 20, Direction::BACKWARD);
if (dev.is_head_pos_known(ScanHeadId::PRIMARY) &&
dev.head_pos(ScanHeadId::PRIMARY) > 30)
{
scanner_move(dev, dev.model->default_method, 20, Direction::BACKWARD);
}
}
Genesys_Register_Set local_reg = dev.reg;
@ -3434,8 +3430,6 @@ static void genesys_read_ordered_data(Genesys_Device* dev, SANE_Byte* destinatio
throw SaneException("read is not active");
}
debug_dump(DBG_info, dev->session.params);
DBG(DBG_info, "%s: frontend requested %zu bytes\n", __func__, *len);
DBG(DBG_info, "%s: bytes_to_read=%zu, total_bytes_read=%zu\n", __func__,
dev->total_bytes_to_read, dev->total_bytes_read);

Wyświetl plik

@ -169,9 +169,10 @@ gl124_init_registers (Genesys_Device * dev)
dev->reg.init_reg(0x6d, 0x00);
dev->reg.init_reg(0x71, 0x1f);
}
dev->reg.init_reg(0x70, 0x00);
dev->reg.init_reg(0x72, 0x08);
dev->reg.init_reg(0x73, 0x0a);
dev->reg.init_reg(0x70, 0x00); // SENSOR_DEF
dev->reg.init_reg(0x71, 0x08); // SENSOR_DEF
dev->reg.init_reg(0x72, 0x08); // SENSOR_DEF
dev->reg.init_reg(0x73, 0x0a); // SENSOR_DEF
// CKxMAP
dev->reg.init_reg(0x74, 0x00); // SENSOR_DEF
@ -1628,7 +1629,8 @@ SensorExposure CommandSetGl124::led_calibration(Genesys_Device* dev, const Genes
/* we accept +- 2% delta from target */
if(abs(avg[i]-target)>target/50)
{
exp[i]=(exp[i]*target)/avg[i];
float prev_weight = 0.5;
exp[i] = exp[i] * prev_weight + ((exp[i] * target) / avg[i]) * (1 - prev_weight);
acceptable = false;
}
}

Wyświetl plik

@ -228,9 +228,9 @@ static constexpr RegAddr REG_0x80 = 0x80;
static constexpr RegAddr REG_0x81 = 0x81;
static constexpr RegAddr REG_0xA0 = 0xa0;
static constexpr RegMask REG_0xA0_FSTPSEL = 0x28;
static constexpr RegMask REG_0xA0_FSTPSEL = 0x38;
static constexpr RegShift REG_0xA0S_FSTPSEL = 3;
static constexpr RegMask REG_0xA0_STEPSEL = 0x03;
static constexpr RegMask REG_0xA0_STEPSEL = 0x07;
static constexpr RegShift REG_0xA0S_STEPSEL = 0;
static constexpr RegAddr REG_0xA1 = 0xa1;

Wyświetl plik

@ -1406,6 +1406,8 @@ static void end_scan_impl(Genesys_Device* dev, Genesys_Register_Set* reg, bool c
return;
}
dev->interface->sleep_ms(100);
if (check_stop) {
for (unsigned i = 0; i < wait_limit_seconds * 10; i++) {
if (scanner_is_motor_stopped(*dev)) {

Wyświetl plik

@ -220,7 +220,7 @@ ImagePipelineNodeDesegment::ImagePipelineNodeDesegment(ImagePipelineNode& source
segment_pixels_{segment_pixels},
interleaved_lines_{interleaved_lines},
pixels_per_chunk_{pixels_per_chunk},
buffer_{get_row_bytes()}
buffer_{source_.get_row_bytes()}
{
DBG_HELPER_ARGS(dbg, "segment_count=%zu, segment_size=%zu, interleaved_lines=%zu, "
"pixels_per_shunk=%zu", segment_order.size(), segment_pixels,

Wyświetl plik

@ -1613,7 +1613,8 @@ void genesys_init_sensor_tables()
};
CustomSensorSettings custom_settings[] = {
{ { 75, 100, 150, 200 }, 2848, { 410, 275, 203 }, 5136, std::vector<unsigned>{}, {
// Note: Windows driver uses 1424 lperiod and enables dummy line (0x17)
{ { 75, 100, 150, 200 }, 2848, { 304, 203, 180 }, 5136, std::vector<unsigned>{}, {
{ 0x16, 0x10 }, { 0x17, 0x0a }, { 0x18, 0x00 }, { 0x19, 0xff },
{ 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 },
{ 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 },
@ -1623,7 +1624,8 @@ void genesys_init_sensor_tables()
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
}
},
{ { 300, 400 }, 1424, { 410, 275, 203 }, 5136, std::vector<unsigned>{}, {
// Note: Windows driver uses 788 lperiod and enables dummy line (0x17)
{ { 300, 400 }, 1424, { 304, 203, 180 }, 5136, std::vector<unsigned>{}, {
{ 0x16, 0x10 }, { 0x17, 0x0a }, { 0x18, 0x00 }, { 0x19, 0xff },
{ 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 },
{ 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 },
@ -1633,7 +1635,7 @@ void genesys_init_sensor_tables()
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
}
},
{ { 600 }, 1432, { 410, 275, 203 }, 5136, std::vector<unsigned>{}, {
{ { 600 }, 1432, { 492, 326, 296 }, 5136, std::vector<unsigned>{}, {
{ 0x16, 0x10 }, { 0x17, 0x0a }, { 0x18, 0x00 }, { 0x19, 0xff },
{ 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 },
{ 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 },
@ -1643,7 +1645,7 @@ void genesys_init_sensor_tables()
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
}
},
{ { 1200 }, 2712, { 746, 478, 353 }, 5136, { 0, 1 }, {
{ { 1200 }, 2712, { 935, 592, 538 }, 5136, { 0, 1 }, {
{ 0x16, 0x10 }, { 0x17, 0x08 }, { 0x18, 0x00 }, { 0x19, 0xff },
{ 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 },
{ 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 },
@ -1653,7 +1655,7 @@ void genesys_init_sensor_tables()
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
}
},
{ { 2400 }, 5280, { 1417, 909, 643 }, 5136, { 0, 2, 1, 3 }, {
{ { 2400 }, 5280, { 1777, 1125, 979 }, 5136, { 0, 2, 1, 3 }, {
{ 0x16, 0x10 }, { 0x17, 0x06 }, { 0x18, 0x00 }, { 0x19, 0xff },
{ 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 },
{ 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 },
@ -1663,7 +1665,7 @@ void genesys_init_sensor_tables()
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
}
},
{ { 4800 }, 10416, { 2692, 1728, 1221 }, 5136, { 0, 2, 4, 6, 1, 3, 5, 7 }, {
{ { 4800 }, 10416, { 3377, 2138, 1780 }, 5136, { 0, 2, 4, 6, 1, 3, 5, 7 }, {
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0xff },
{ 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 },
{ 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 },
@ -1816,7 +1818,7 @@ void genesys_init_sensor_tables()
};
CustomSensorSettings custom_settings[] = {
{ { 75, 100, 150, 200 }, 2848, { 410, 275, 203 }, 5136, std::vector<unsigned>{}, {
{ { 75, 100, 150, 200 }, 2304, { 423, 294, 242 }, 5136, std::vector<unsigned>{}, {
{ 0x16, 0x10 }, { 0x17, 0x0a }, { 0x18, 0x00 }, { 0x19, 0xff },
{ 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 },
{ 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 },
@ -1826,7 +1828,7 @@ void genesys_init_sensor_tables()
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
}
},
{ { 300 }, 1424, { 410, 275, 203 }, 5136, std::vector<unsigned>{}, {
{ { 300 }, 1728, { 423, 294, 242 }, 5136, std::vector<unsigned>{}, {
{ 0x16, 0x10 }, { 0x17, 0x0a }, { 0x18, 0x00 }, { 0x19, 0xff },
{ 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 },
{ 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 },
@ -1836,7 +1838,7 @@ void genesys_init_sensor_tables()
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
}
},
{ { 600 }, 1432, { 410, 275, 203 }, 5136, std::vector<unsigned>{}, {
{ { 600 }, 1432, { 423, 294, 242 }, 5136, std::vector<unsigned>{}, {
{ 0x16, 0x10 }, { 0x17, 0x0a }, { 0x18, 0x00 }, { 0x19, 0xff },
{ 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 },
{ 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 },
@ -1846,7 +1848,7 @@ void genesys_init_sensor_tables()
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
},
},
{ { 1200 }, 2712, { 746, 478, 353 }, 5136, {0, 1}, {
{ { 1200 }, 2712, { 791, 542, 403 }, 5136, {0, 1}, {
{ 0x16, 0x10 }, { 0x17, 0x08 }, { 0x18, 0x00 }, { 0x19, 0xff },
{ 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 },
{ 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 },
@ -1856,7 +1858,7 @@ void genesys_init_sensor_tables()
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
}
},
{ { 2400 }, 5280, { 1417, 909, 643 }, 5136, {0, 2, 1, 3}, {
{ { 2400 }, 5280, { 1504, 1030, 766 }, 5136, {0, 2, 1, 3}, {
{ 0x16, 0x10 }, { 0x17, 0x06 }, { 0x18, 0x00 }, { 0x19, 0xff },
{ 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 },
{ 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 },
@ -2806,15 +2808,14 @@ void genesys_init_sensor_tables()
};
CustomSensorSettings custom_settings[] = {
{ { 75, 100, 150, 300 }, 2768, { 388, 574, 393 }, std::vector<unsigned>{}, {
// { 0x16, 0x00 }, // FIXME: check if default value is different
{ { 75, 100, 150 }, 4608, { 462, 609, 453 }, std::vector<unsigned>{}, {
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x0c },
{ 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 },
{ 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 },
{ 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 },
{ 0x61, 0x20 },
// { 0x70, 0x00 }, // FIXME: check if default value is different
{ 0x70, 0x06 }, { 0x71, 0x08 }, { 0x72, 0x08 }, { 0x73, 0x0a },
{ 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x1e },
{ 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f },
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
@ -2824,15 +2825,31 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
}
},
{ { 600 }, 5360, { 388, 574, 393 }, std::vector<unsigned>{}, {
// { 0x16, 0x00 }, // FIXME: check if default value is different
{ { 300 }, 4608, { 462, 609, 453 }, std::vector<unsigned>{}, {
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x0a },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x0c },
{ 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 },
{ 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 },
{ 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 },
{ 0x61, 0x20 },
// { 0x70, 0x00 }, // FIXME: check if default value is different
{ 0x70, 0x06 }, { 0x71, 0x08 }, { 0x72, 0x08 }, { 0x73, 0x0a },
{ 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x1e },
{ 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f },
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
{ 0x88, 0x00 }, { 0x89, 0x65 },
{ 0x93, 0x00 }, { 0x94, 0x0a }, { 0x95, 0x18 },
{ 0x96, 0x00 }, { 0x97, 0x9a },
{ 0x98, 0x21 },
}
},
{ { 600 }, 5360, { 823, 1117, 805 }, std::vector<unsigned>{}, {
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x0a },
{ 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 },
{ 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 },
{ 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 },
{ 0x61, 0x20 },
{ 0x70, 0x06 }, { 0x71, 0x08 }, { 0x72, 0x08 }, { 0x73, 0x0a },
{ 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x1e },
{ 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f },
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
@ -2842,33 +2859,31 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
},
},
{ { 1200 }, 10528, { 388, 574, 393 }, { 0, 1 }, {
// { 0x16, 0x00 }, // FIXME: check if default value is different
{ { 1200 }, 10528, { 6071, 6670, 6042 }, { 0, 1 }, {
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 },{ 0x20, 0x08 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 },{ 0x20, 0x08 },
{ 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 },
{ 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 },
{ 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 },
{ 0x61, 0x20 },
// { 0x70, 0x00 }, // FIXME: check if default value is different
{ 0x70, 0x06 }, { 0x71, 0x08 }, { 0x72, 0x08 }, { 0x73, 0x0a },
{ 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x1e },
{ 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f },
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
{ 0x88, 0x00 }, { 0x89, 0x65 },
{ 0x88, 0x12 }, { 0x89, 0x47 },
{ 0x93, 0x00 }, { 0x94, 0x14 }, { 0x95, 0x30 },
{ 0x96, 0x00 }, { 0x97, 0xa3 },
{ 0x98, 0x22 },
}
},
{ { 2400 }, 20864, { 6839, 8401, 6859 }, { 0, 2, 1, 3 }, {
// { 0x16, 0x00 }, // FIXME: check if default value is different
{ { 2400 }, 20864, { 7451, 8661, 7405 }, { 0, 2, 1, 3 }, {
{ 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x06 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x06 },
{ 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 },
{ 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 },
{ 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 },
{ 0x61, 0x20 },
// { 0x70, 0x00 }, // FIXME: check if default value is different
{ 0x70, 0x06 }, { 0x71, 0x08 }, { 0x72, 0x08 }, { 0x73, 0x0a },
{ 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x1e },
{ 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f },
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
@ -2918,14 +2933,14 @@ void genesys_init_sensor_tables()
};
CustomSensorSettings custom_settings[] = {
{ { 75, 100, 150, 300 }, 4608, { 894, 1044, 994 }, std::vector<unsigned>{}, {
{ { 75, 100, 150, 300 }, 4608, { 1244, 1294, 1144 }, std::vector<unsigned>{}, {
{ 0x16, 0x15 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x02 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x02 },
{ 0x52, 0x04 }, { 0x53, 0x06 }, { 0x54, 0x00 }, { 0x55, 0x02 },
{ 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 },
{ 0x5a, 0x3a }, { 0x5b, 0x00 }, { 0x5c, 0x00 },
{ 0x61, 0x20 },
// { 0x70, 0x00 }, // FIXME: check if default value is different
{ 0x70, 0x00 }, { 0x71, 0x1f }, { 0x72, 0x08 }, { 0x73, 0x0a },
{ 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x0f },
{ 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 },
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
@ -2935,14 +2950,14 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
},
},
{ { 600 }, 5360, { 1644, 1994, 1844 }, std::vector<unsigned>{}, {
{ { 600 }, 5360, { 2394, 2444, 2144 }, std::vector<unsigned>{}, {
{ 0x16, 0x11 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x02 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x02 },
{ 0x52, 0x04 }, { 0x53, 0x06 }, { 0x54, 0x00 }, { 0x55, 0x02 },
{ 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 },
{ 0x5a, 0x3a }, { 0x5b, 0x00 }, { 0x5c, 0x00 },
{ 0x61, 0x20 },
{ 0x70, 0x1f },
{ 0x70, 0x1f }, { 0x71, 0x1f }, { 0x72, 0x08 }, { 0x73, 0x0a },
{ 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x0f },
{ 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 },
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
@ -2952,14 +2967,14 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
},
},
{ { 1200 }, 10528, { 3194, 3794, 3594 }, std::vector<unsigned>{}, {
{ { 1200 }, 10528, { 4694, 4644, 4094 }, std::vector<unsigned>{}, {
{ 0x16, 0x15 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x02 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x02 },
{ 0x52, 0x04 }, { 0x53, 0x06 }, { 0x54, 0x00 }, { 0x55, 0x02 },
{ 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 },
{ 0x5a, 0x3a }, { 0x5b, 0x00 }, { 0x5c, 0x00 },
{ 0x61, 0x20 },
{ 0x70, 0x1f },
{ 0x70, 0x1f }, { 0x71, 0x1f }, { 0x72, 0x08 }, { 0x73, 0x0a },
{ 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x0f },
{ 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 },
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },
@ -2969,14 +2984,14 @@ void genesys_init_sensor_tables()
{ 0x98, 0x21 },
},
},
{ { 2400 }, 20864, { 6244, 7544, 7094 }, std::vector<unsigned>{}, {
{ { 2400 }, 20864, { 8944, 8144, 7994 }, std::vector<unsigned>{}, {
{ 0x16, 0x11 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x02 },
{ 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x02 },
{ 0x52, 0x04 }, { 0x53, 0x06 }, { 0x54, 0x00 }, { 0x55, 0x02 },
{ 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 },
{ 0x5a, 0x3a }, { 0x5b, 0x00 }, { 0x5c, 0x00 },
{ 0x61, 0x20 },
// { 0x70, 0x00 }, // FIXME: check if default value is different
{ 0x70, 0x00 }, { 0x71, 0x1f }, { 0x72, 0x08 }, { 0x73, 0x0a },
{ 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x0f },
{ 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 },
{ 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 },