kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Route low-level status debug messages through scanner interface
rodzic
779725ab55
commit
521c042889
|
@ -2696,49 +2696,43 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
|
||||||
/* do offset calibration if needed */
|
/* do offset calibration if needed */
|
||||||
if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION)
|
if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION)
|
||||||
{
|
{
|
||||||
sanei_usb_testing_record_message("offset_calibration");
|
dev->interface->record_test_message("offset_calibration");
|
||||||
dev->cmd_set->offset_calibration(dev, sensor, dev->calib_reg);
|
dev->cmd_set->offset_calibration(dev, sensor, dev->calib_reg);
|
||||||
|
|
||||||
/* since all the registers are set up correctly, just use them */
|
/* since all the registers are set up correctly, just use them */
|
||||||
sanei_usb_testing_record_message("coarse_gain_calibration");
|
dev->interface->record_test_message("coarse_gain_calibration");
|
||||||
dev->cmd_set->coarse_gain_calibration(dev, sensor, dev->calib_reg, coarse_res);
|
dev->cmd_set->coarse_gain_calibration(dev, sensor, dev->calib_reg, coarse_res);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
/* since we have 2 gain calibration proc, skip second if first one was
|
/* since we have 2 gain calibration proc, skip second if first one was
|
||||||
used. */
|
used. */
|
||||||
{
|
dev->interface->record_test_message("init_regs_for_coarse_calibration");
|
||||||
sanei_usb_testing_record_message("init_regs_for_coarse_calibration");
|
|
||||||
dev->cmd_set->init_regs_for_coarse_calibration(dev, sensor, dev->calib_reg);
|
dev->cmd_set->init_regs_for_coarse_calibration(dev, sensor, dev->calib_reg);
|
||||||
|
|
||||||
sanei_usb_testing_record_message("genesys_coarse_calibration");
|
dev->interface->record_test_message("genesys_coarse_calibration");
|
||||||
genesys_coarse_calibration(dev, sensor);
|
genesys_coarse_calibration(dev, sensor);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dev->model->is_cis)
|
if (dev->model->is_cis)
|
||||||
{
|
{
|
||||||
/* the afe now sends valid data for doing led calibration */
|
/* the afe now sends valid data for doing led calibration */
|
||||||
sanei_usb_testing_record_message("led_calibration");
|
dev->interface->record_test_message("led_calibration");
|
||||||
sensor.exposure = dev->cmd_set->led_calibration(dev, sensor, dev->calib_reg);
|
sensor.exposure = dev->cmd_set->led_calibration(dev, sensor, dev->calib_reg);
|
||||||
|
|
||||||
/* calibrate afe again to match new exposure */
|
/* calibrate afe again to match new exposure */
|
||||||
if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION)
|
if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) {
|
||||||
{
|
dev->interface->record_test_message("offset_calibration");
|
||||||
sanei_usb_testing_record_message("offset_calibration");
|
|
||||||
dev->cmd_set->offset_calibration(dev, sensor, dev->calib_reg);
|
dev->cmd_set->offset_calibration(dev, sensor, dev->calib_reg);
|
||||||
|
|
||||||
/* since all the registers are set up correctly, just use them */
|
// since all the registers are set up correctly, just use them
|
||||||
|
|
||||||
sanei_usb_testing_record_message("coarse_gain_calibration");
|
dev->interface->record_test_message("coarse_gain_calibration");
|
||||||
dev->cmd_set->coarse_gain_calibration(dev, sensor, dev->calib_reg, coarse_res);
|
dev->cmd_set->coarse_gain_calibration(dev, sensor, dev->calib_reg, coarse_res);
|
||||||
}
|
} else {
|
||||||
else
|
// since we have 2 gain calibration proc, skip second if first one was used
|
||||||
/* since we have 2 gain calibration proc, skip second if first one was
|
dev->interface->record_test_message("init_regs_for_coarse_calibration");
|
||||||
used. */
|
|
||||||
{
|
|
||||||
sanei_usb_testing_record_message("init_regs_for_coarse_calibration");
|
|
||||||
dev->cmd_set->init_regs_for_coarse_calibration(dev, sensor, dev->calib_reg);
|
dev->cmd_set->init_regs_for_coarse_calibration(dev, sensor, dev->calib_reg);
|
||||||
|
|
||||||
sanei_usb_testing_record_message("genesys_coarse_calibration");
|
dev->interface->record_test_message("genesys_coarse_calibration");
|
||||||
genesys_coarse_calibration(dev, sensor);
|
genesys_coarse_calibration(dev, sensor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2754,8 +2748,8 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
|
||||||
pixels_per_line = sensor.sensor_pixels;
|
pixels_per_line = sensor.sensor_pixels;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* send default shading data */
|
// send default shading data
|
||||||
sanei_usb_testing_record_message("sanei_genesys_init_shading_data");
|
dev->interface->record_test_message("sanei_genesys_init_shading_data");
|
||||||
sanei_genesys_init_shading_data(dev, sensor, pixels_per_line);
|
sanei_genesys_init_shading_data(dev, sensor, pixels_per_line);
|
||||||
|
|
||||||
if (dev->settings.scan_method == ScanMethod::TRANSPARENCY ||
|
if (dev->settings.scan_method == ScanMethod::TRANSPARENCY ||
|
||||||
|
@ -2766,28 +2760,28 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
|
||||||
|
|
||||||
// shading calibration
|
// shading calibration
|
||||||
if (dev->model->flags & GENESYS_FLAG_DARK_WHITE_CALIBRATION) {
|
if (dev->model->flags & GENESYS_FLAG_DARK_WHITE_CALIBRATION) {
|
||||||
sanei_usb_testing_record_message("init_regs_for_shading");
|
dev->interface->record_test_message("init_regs_for_shading");
|
||||||
dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg);
|
dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg);
|
||||||
|
|
||||||
sanei_usb_testing_record_message("genesys_dark_white_shading_calibration");
|
dev->interface->record_test_message("genesys_dark_white_shading_calibration");
|
||||||
genesys_dark_white_shading_calibration(dev, sensor);
|
genesys_dark_white_shading_calibration(dev, sensor);
|
||||||
} else {
|
} else {
|
||||||
DBG(DBG_proc, "%s : genesys_dark_shading_calibration dev->calib_reg ", __func__);
|
DBG(DBG_proc, "%s : genesys_dark_shading_calibration dev->calib_reg ", __func__);
|
||||||
debug_dump(DBG_proc, dev->calib_reg);
|
debug_dump(DBG_proc, dev->calib_reg);
|
||||||
|
|
||||||
if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) {
|
if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) {
|
||||||
sanei_usb_testing_record_message("init_regs_for_shading");
|
dev->interface->record_test_message("init_regs_for_shading");
|
||||||
dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg);
|
dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg);
|
||||||
|
|
||||||
sanei_usb_testing_record_message("genesys_dark_shading_calibration");
|
dev->interface->record_test_message("genesys_dark_shading_calibration");
|
||||||
genesys_dark_shading_calibration(dev, sensor);
|
genesys_dark_shading_calibration(dev, sensor);
|
||||||
genesys_repark_sensor_before_shading(dev);
|
genesys_repark_sensor_before_shading(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
sanei_usb_testing_record_message("init_regs_for_shading2");
|
dev->interface->record_test_message("init_regs_for_shading2");
|
||||||
dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg);
|
dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg);
|
||||||
|
|
||||||
sanei_usb_testing_record_message("genesys_white_shading_calibration");
|
dev->interface->record_test_message("genesys_white_shading_calibration");
|
||||||
genesys_white_shading_calibration(dev, sensor);
|
genesys_white_shading_calibration(dev, sensor);
|
||||||
genesys_repark_sensor_after_white_shading(dev);
|
genesys_repark_sensor_after_white_shading(dev);
|
||||||
|
|
||||||
|
@ -2797,7 +2791,7 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!dev->cmd_set->has_send_shading_data()) {
|
if (!dev->cmd_set->has_send_shading_data()) {
|
||||||
sanei_usb_testing_record_message("genesys_send_shading_coefficient");
|
dev->interface->record_test_message("genesys_send_shading_coefficient");
|
||||||
genesys_send_shading_coefficient(dev, sensor);
|
genesys_send_shading_coefficient(dev, sensor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,6 +87,8 @@ public:
|
||||||
virtual void write_fe_register(std::uint8_t address, std::uint16_t value) = 0;
|
virtual void write_fe_register(std::uint8_t address, std::uint16_t value) = 0;
|
||||||
|
|
||||||
virtual IUsbDevice& get_usb_device() = 0;
|
virtual IUsbDevice& get_usb_device() = 0;
|
||||||
|
|
||||||
|
virtual void record_test_message(const char* msg) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace genesys
|
} // namespace genesys
|
||||||
|
|
|
@ -480,4 +480,9 @@ IUsbDevice& ScannerInterfaceUsb::get_usb_device()
|
||||||
return usb_dev_;
|
return usb_dev_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ScannerInterfaceUsb::record_test_message(const char* msg)
|
||||||
|
{
|
||||||
|
sanei_usb_testing_record_message(msg);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace genesys
|
} // namespace genesys
|
||||||
|
|
|
@ -76,6 +76,8 @@ public:
|
||||||
std::uint16_t read_fe_register(std::uint8_t address) override;
|
std::uint16_t read_fe_register(std::uint8_t address) override;
|
||||||
void write_fe_register(std::uint8_t address, std::uint16_t value) override;
|
void write_fe_register(std::uint8_t address, std::uint16_t value) override;
|
||||||
|
|
||||||
|
void record_test_message(const char* msg) override;
|
||||||
|
|
||||||
virtual IUsbDevice& get_usb_device() override;
|
virtual IUsbDevice& get_usb_device() override;
|
||||||
private:
|
private:
|
||||||
Genesys_Device* dev_;
|
Genesys_Device* dev_;
|
||||||
|
|
|
@ -132,4 +132,14 @@ IUsbDevice& TestScannerInterface::get_usb_device()
|
||||||
return usb_dev_;
|
return usb_dev_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TestScannerInterface::record_test_message(const char* msg)
|
||||||
|
{
|
||||||
|
last_test_message_ = msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::string& TestScannerInterface::last_test_message() const
|
||||||
|
{
|
||||||
|
return last_test_message_;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace genesys
|
} // namespace genesys
|
||||||
|
|
|
@ -75,10 +75,16 @@ public:
|
||||||
void write_fe_register(std::uint8_t address, std::uint16_t value) override;
|
void write_fe_register(std::uint8_t address, std::uint16_t value) override;
|
||||||
|
|
||||||
IUsbDevice& get_usb_device() override;
|
IUsbDevice& get_usb_device() override;
|
||||||
|
|
||||||
|
void record_test_message(const char* msg) override;
|
||||||
|
|
||||||
|
const std::string& last_test_message() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RegisterCache<std::uint8_t> cached_regs_;
|
RegisterCache<std::uint8_t> cached_regs_;
|
||||||
RegisterCache<std::uint16_t> cached_fe_regs_;
|
RegisterCache<std::uint16_t> cached_fe_regs_;
|
||||||
TestUsbDevice usb_dev_;
|
TestUsbDevice usb_dev_;
|
||||||
|
std::string last_test_message_;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace genesys
|
} // namespace genesys
|
||||||
|
|
Ładowanie…
Reference in New Issue