kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Verify that sensor tables are setup correctly
rodzic
4cc233cde8
commit
1e116f1223
|
@ -475,6 +475,7 @@ void genesys_init_gpo_tables();
|
|||
void genesys_init_memory_layout_tables();
|
||||
void genesys_init_motor_tables();
|
||||
void genesys_init_usb_device_tables();
|
||||
void verify_sensor_tables();
|
||||
void verify_usb_device_tables();
|
||||
|
||||
template<class T>
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
#define DEBUG_DECLARE_ONLY
|
||||
|
||||
#include "low.h"
|
||||
#include <map>
|
||||
|
||||
namespace genesys {
|
||||
|
||||
|
@ -3243,4 +3244,28 @@ void genesys_init_sensor_tables()
|
|||
}
|
||||
}
|
||||
|
||||
void verify_sensor_tables()
|
||||
{
|
||||
std::map<SensorId, AsicType> sensor_to_asic;
|
||||
for (const auto& device : *s_usb_devices) {
|
||||
sensor_to_asic[device.model.sensor_id] = device.model.asic_type;
|
||||
}
|
||||
for (const auto& sensor : *s_sensors) {
|
||||
if (sensor_to_asic.count(sensor.sensor_id) == 0) {
|
||||
throw SaneException("Unknown asic for sensor");
|
||||
}
|
||||
auto asic_type = sensor_to_asic[sensor.sensor_id];
|
||||
|
||||
if (asic_type != AsicType::GL646) {
|
||||
if (sensor.register_dpihw == 0) {
|
||||
throw SaneException("register_dpihw is not defined");
|
||||
}
|
||||
if (sensor.shading_resolution == 0) {
|
||||
throw SaneException("shading_resolution is not defined");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} // namespace genesys
|
||||
|
|
|
@ -389,7 +389,9 @@ TestResult perform_single_test(const TestConfig& config, const std::string& chec
|
|||
std::vector<TestConfig> get_all_test_configs()
|
||||
{
|
||||
genesys::genesys_init_usb_device_tables();
|
||||
genesys::genesys_init_sensor_tables();
|
||||
genesys::verify_usb_device_tables();
|
||||
genesys::verify_sensor_tables();
|
||||
|
||||
std::vector<TestConfig> configs;
|
||||
std::unordered_set<std::string> model_names;
|
||||
|
|
Ładowanie…
Reference in New Issue