From fe8ffefe1b3e2c76ccef3f735340ec70b078ff10 Mon Sep 17 00:00:00 2001 From: Povilas Kanapickas Date: Sat, 21 Mar 2020 00:03:29 +0200 Subject: [PATCH] genesys: Simplify lamp warmup setup on gl843 --- backend/genesys/device.h | 10 ++++++++++ backend/genesys/gl843.cpp | 11 ++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/backend/genesys/device.h b/backend/genesys/device.h index 5c773f96e..8250eb526 100644 --- a/backend/genesys/device.h +++ b/backend/genesys/device.h @@ -100,6 +100,16 @@ struct MethodResolutions return *std::min_element(resolutions_x.begin(), resolutions_x.end()); } + unsigned get_nearest_resolution_x(unsigned resolution) const + { + return *std::min_element(resolutions_x.begin(), resolutions_x.end(), + [&](unsigned lhs, unsigned rhs) + { + return std::abs(static_cast(lhs) - static_cast(resolution)) < + std::abs(static_cast(rhs) - static_cast(resolution)); + }); + } + unsigned get_min_resolution_y() const { return *std::min_element(resolutions_y.begin(), resolutions_y.end()); diff --git a/backend/genesys/gl843.cpp b/backend/genesys/gl843.cpp index a05dbae36..a45bf6b91 100644 --- a/backend/genesys/gl843.cpp +++ b/backend/genesys/gl843.cpp @@ -1752,14 +1752,11 @@ void CommandSetGl843::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Se int* total_size) const { DBG_HELPER(dbg); - int dpihw; - int resolution; + (void) sensor; - /* setup scan */ - *channels=3; - resolution=600; - dpihw = sensor.get_register_hwdpi(resolution); - resolution=dpihw; + *channels=3; + unsigned resolution = dev->model->get_resolution_settings(dev->settings.scan_method) + .get_nearest_resolution_x(600); const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, *channels, dev->settings.scan_method);