genesys: Use strong enum for ADC id

merge-requests/203/head
Povilas Kanapickas 2019-09-30 13:52:01 +03:00
rodzic df14234297
commit d4ca0177a1
13 zmienionych plików z 149 dodań i 133 usunięć

Wyświetl plik

@ -279,7 +279,7 @@ sanei_genesys_init_structs (Genesys_Device * dev)
}
for (const auto& frontend : *s_frontends) {
if (dev->model->dac_type == frontend.fe_id) {
if (dev->model->adc_id == frontend.id) {
dev->frontend_initial = frontend;
dev->frontend = frontend;
fe_ok = true;

Wyświetl plik

@ -165,8 +165,8 @@ struct Genesys_Model
// sensor type
SensorId sensor_id = SensorId::UNKNOWN;
// Digital-Analog converter type (TODO: rename to ADC)
SANE_Int dac_type = 0;
// Analog-Digital converter type
AdcId adc_id = AdcId::UNKNOWN;
// General purpose output type
SANE_Int gpo_type = 0;
// stepper motor type

Wyświetl plik

@ -217,34 +217,48 @@ inline void serialize(std::ostream& str, SensorId& x)
}
enum Genesys_Dac_Type
enum class AdcId : unsigned
{
DAC_WOLFSON_UMAX = 0,
DAC_WOLFSON_ST12,
DAC_WOLFSON_ST24,
DAC_WOLFSON_5345,
DAC_WOLFSON_HP2400,
DAC_WOLFSON_HP2300,
DAC_CANONLIDE35,
DAC_AD_XP200,
DAC_WOLFSON_XP300,
DAC_WOLFSON_HP3670,
DAC_WOLFSON_DSM600,
DAC_CANONLIDE200,
DAC_KVSS080,
DAC_G4050,
DAC_CANONLIDE110,
DAC_PLUSTEK_3600,
DAC_PLUSTEK_7200I,
DAC_CANONLIDE700,
DAC_CS8400F,
DAC_CS8600F,
DAC_IMG101,
DAC_PLUSTEK3800,
DAC_CANONLIDE80,
DAC_CANONLIDE120
UNKNOWN = 0,
AD_XP200,
CANONLIDE110,
CANONLIDE120,
CANONLIDE200,
CANONLIDE35,
CANONLIDE700,
CANONLIDE80,
CS8400F,
CS8600F,
G4050,
IMG101,
KVSS080,
PLUSTEK3800,
PLUSTEK_3600,
PLUSTEK_7200I,
WOLFSON_5345,
WOLFSON_DSM600,
WOLFSON_HP2300,
WOLFSON_HP2400,
WOLFSON_HP3670,
WOLFSON_ST12,
WOLFSON_ST24,
WOLFSON_UMAX,
WOLFSON_XP300,
};
inline void serialize(std::istream& str, AdcId& x)
{
unsigned value;
serialize(str, value);
x = static_cast<AdcId>(value);
}
inline void serialize(std::ostream& str, AdcId& x)
{
unsigned value = static_cast<unsigned>(x);
serialize(str, value);
}
enum Genesys_Gpo_Type
{
GPO_UMAX,

Wyświetl plik

@ -443,7 +443,8 @@ static void gl124_set_ti_fe(Genesys_Device* dev, uint8_t set)
if (set == AFE_INIT)
{
DBG (DBG_proc, "%s: setting DAC %u\n", __func__, dev->model->dac_type);
DBG(DBG_proc, "%s: setting DAC %u\n", __func__,
static_cast<unsigned>(dev->model->adc_id));
dev->frontend = dev->frontend_initial;
}
@ -465,9 +466,7 @@ static void gl124_set_ti_fe(Genesys_Device* dev, uint8_t set)
sanei_genesys_fe_write_data(dev, 0x05 + i, dev->frontend.regs.get_value(0x24 + i));
}
/* close writing to DAC */
if(dev->model->dac_type == DAC_CANONLIDE120)
{
if (dev->model->adc_id == AdcId::CANONLIDE120) {
sanei_genesys_fe_write_data(dev, 0x00, 0x01);
}
else
@ -488,7 +487,8 @@ void CommandSetGl124::set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor,
if (set == AFE_INIT)
{
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type);
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__,
static_cast<unsigned>(dev->model->adc_id));
dev->frontend = dev->frontend_initial;
}

Wyświetl plik

@ -845,9 +845,9 @@ gl646_init_regs (Genesys_Device * dev)
}
dev->reg.find_reg(0x03).value = 0x1f /*0x17 */ ; /* lamp on */
dev->reg.find_reg(0x04).value = 0x13 /*0x03 */ ; /* 8 bits data, 16 bits A/D, color, Wolfson fe *//* todo: according to spec, 0x0 is reserved? */
switch (dev->model->dac_type)
switch (dev->model->adc_id)
{
case DAC_AD_XP200:
case AdcId::AD_XP200:
dev->reg.find_reg(0x04).value = 0x12;
break;
default:
@ -864,7 +864,7 @@ gl646_init_regs (Genesys_Device * dev)
if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) {
dev->reg.find_reg(0x05).value |= REG05_GMM14BIT;
}
if (dev->model->dac_type == DAC_AD_XP200) {
if (dev->model->adc_id == AdcId::AD_XP200) {
dev->reg.find_reg(0x05).value |= 0x01; /* 12 clocks/pixel */
}
@ -1027,7 +1027,8 @@ static void gl646_set_ad_fe(Genesys_Device* dev, uint8_t set)
if (set == AFE_INIT)
{
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type);
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__,
static_cast<unsigned>(dev->model->adc_id));
dev->frontend = dev->frontend_initial;
@ -1085,8 +1086,8 @@ static void gl646_wm_hp3670(Genesys_Device* dev, const Genesys_Sensor& sensor, u
i = dev->frontend.regs.get_value(0x03);
if (dpi > sensor.optical_res / 2)
{
/* fe_reg_0x03 must be 0x12 for 1200 dpi in DAC_WOLFSON_HP3670.
* DAC_WOLFSON_HP2400 in 1200 dpi mode works well with
/* fe_reg_0x03 must be 0x12 for 1200 dpi in WOLFSON_HP3670.
* WOLFSON_HP2400 in 1200 dpi mode works well with
* fe_reg_0x03 set to 0x32 or 0x12 but not to 0x02 */
i = 0x12;
}
@ -1132,10 +1133,10 @@ static void gl646_set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint
}
/* per frontend function to keep code clean */
switch (dev->model->dac_type)
switch (dev->model->adc_id)
{
case DAC_WOLFSON_HP3670:
case DAC_WOLFSON_HP2400:
case AdcId::WOLFSON_HP3670:
case AdcId::WOLFSON_HP2400:
gl646_wm_hp3670(dev, sensor, set, dpi);
return;
default:
@ -1146,7 +1147,8 @@ static void gl646_set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint
/* initialize analog frontend */
if (set == AFE_INIT)
{
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type);
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__,
static_cast<unsigned>(dev->model->adc_id));
dev->frontend = dev->frontend_initial;
// reset only done on init
@ -2483,9 +2485,7 @@ void CommandSetGl646::offset_calibration(Genesys_Device* dev, const Genesys_Sens
int topavg, bottomavg;
int top, bottom, black_pixels;
/* Analog Device fronted have a different calibration */
if (dev->model->dac_type == DAC_AD_XP200)
{
if (dev->model->adc_id == AdcId::AD_XP200) {
ad_fe_offset_calibration(dev, sensor);
return;
}

Wyświetl plik

@ -723,7 +723,8 @@ static void gl841_set_lide80_fe(Genesys_Device* dev, uint8_t set)
if (set == AFE_INIT)
{
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type);
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__,
static_cast<unsigned>(dev->model->adc_id));
dev->frontend = dev->frontend_initial;
@ -747,16 +748,15 @@ static void gl841_set_ad_fe(Genesys_Device* dev, uint8_t set)
DBG_HELPER(dbg);
int i;
/* special case for LiDE 80 analog frontend */
if(dev->model->dac_type==DAC_CANONLIDE80)
{
if (dev->model->adc_id==AdcId::CANONLIDE80) {
gl841_set_lide80_fe(dev, set);
return;
}
if (set == AFE_INIT)
{
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type);
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__,
static_cast<unsigned>(dev->model->adc_id));
dev->frontend = dev->frontend_initial;
@ -819,7 +819,8 @@ void CommandSetGl841::set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor,
if (set == AFE_INIT)
{
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type);
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__,
static_cast<unsigned>(dev->model->adc_id));
dev->frontend = dev->frontend_initial;
// reset only done on init
@ -3704,9 +3705,9 @@ void CommandSetGl841::coarse_gain_calibration(Genesys_Device* dev, const Genesys
uint8_t out_gain = 0;
if (dev->model->dac_type == DAC_CANONLIDE35 ||
dev->model->dac_type == DAC_WOLFSON_XP300 ||
dev->model->dac_type == DAC_WOLFSON_DSM600)
if (dev->model->adc_id == AdcId::CANONLIDE35 ||
dev->model->adc_id == AdcId::WOLFSON_XP300 ||
dev->model->adc_id == AdcId::WOLFSON_DSM600)
{
gain[j] *= 0.69;/*seems we don't get the real maximum. empirically derived*/
if (283 - 208/gain[j] > 255)
@ -3715,9 +3716,7 @@ void CommandSetGl841::coarse_gain_calibration(Genesys_Device* dev, const Genesys
out_gain = 0;
else
out_gain = 283 - 208/gain[j];
}
else if (dev->model->dac_type == DAC_CANONLIDE80)
{
} else if (dev->model->adc_id == AdcId::CANONLIDE80) {
out_gain = gain[j]*12;
}
dev->frontend.set_gain(j, out_gain);

Wyświetl plik

@ -787,7 +787,8 @@ void CommandSetGl843::set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor,
if (set == AFE_INIT)
{
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type);
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__,
static_cast<unsigned>(dev->model->adc_id));
dev->frontend = dev->frontend_initial;
dev->frontend_is_init = true;
}

Wyświetl plik

@ -375,7 +375,8 @@ static void gl846_set_adi_fe(Genesys_Device* dev, uint8_t set)
if (set == AFE_INIT)
{
DBG (DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type);
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__,
static_cast<unsigned>(dev->model->adc_id));
dev->frontend = dev->frontend_initial;
}

Wyświetl plik

@ -396,7 +396,8 @@ static void gl847_set_ad_fe(Genesys_Device* dev, uint8_t set)
if (set == AFE_INIT)
{
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type);
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__,
static_cast<unsigned>(dev->model->adc_id));
dev->frontend = dev->frontend_initial;
}

Wyświetl plik

@ -96,7 +96,7 @@ struct Genesys_Frontend
Genesys_Frontend() = default;
// id of the frontend description
uint8_t fe_id = 0;
AdcId id = AdcId::UNKNOWN;
// all registers of the frontend. Note that the registers can hold 9-bit values
RegisterSettingSet<std::uint16_t> regs;
@ -128,7 +128,7 @@ struct Genesys_Frontend
bool operator==(const Genesys_Frontend& other) const
{
return fe_id == other.fe_id &&
return id == other.id &&
regs == other.regs &&
reg2 == other.reg2 &&
layout == other.layout;
@ -138,7 +138,7 @@ struct Genesys_Frontend
template<class Stream>
void serialize(Stream& str, Genesys_Frontend& x)
{
serialize(str, x.fe_id);
serialize(str, x.id);
serialize_newline(str);
serialize(str, x.regs);
serialize_newline(str);

Wyświetl plik

@ -61,7 +61,7 @@ void genesys_init_frontend_tables()
Genesys_Frontend fe;
fe.fe_id = DAC_WOLFSON_UMAX;
fe.id = AdcId::WOLFSON_UMAX;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },
@ -83,7 +83,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_WOLFSON_ST12;
fe.id = AdcId::WOLFSON_ST12;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },
@ -105,7 +105,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_WOLFSON_ST24;
fe.id = AdcId::WOLFSON_ST24;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },
@ -127,7 +127,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_WOLFSON_5345;
fe.id = AdcId::WOLFSON_5345;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },
@ -150,7 +150,7 @@ void genesys_init_frontend_tables()
// reg3=0x02 for 50-600 dpi, 0x32 (0x12 also works well) at 1200
fe = Genesys_Frontend();
fe.fe_id = DAC_WOLFSON_HP2400;
fe.id = AdcId::WOLFSON_HP2400;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },
@ -172,7 +172,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_WOLFSON_HP2300;
fe.id = AdcId::WOLFSON_HP2300;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },
@ -194,7 +194,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_CANONLIDE35;
fe.id = AdcId::CANONLIDE35;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },
@ -216,7 +216,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_AD_XP200;
fe.id = AdcId::AD_XP200;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x58 },
@ -238,7 +238,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_WOLFSON_XP300;
fe.id = AdcId::WOLFSON_XP300;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },
@ -260,7 +260,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_WOLFSON_HP3670;
fe.id = AdcId::WOLFSON_HP3670;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },
@ -282,7 +282,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_WOLFSON_DSM600;
fe.id = AdcId::WOLFSON_DSM600;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },
@ -304,7 +304,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_CANONLIDE200;
fe.id = AdcId::CANONLIDE200;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x9d },
@ -326,7 +326,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_CANONLIDE700;
fe.id = AdcId::CANONLIDE700;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x9d },
@ -348,7 +348,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_KVSS080;
fe.id = AdcId::KVSS080;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },
@ -370,7 +370,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_G4050;
fe.id = AdcId::G4050;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },
@ -392,7 +392,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_CANONLIDE110;
fe.id = AdcId::CANONLIDE110;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x80 },
@ -418,7 +418,7 @@ void genesys_init_frontend_tables()
* (from Texas Instrument or alike ?)
*/
fe = Genesys_Frontend();
fe.fe_id = DAC_CANONLIDE120;
fe.id = AdcId::CANONLIDE120;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x80 },
@ -440,7 +440,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_PLUSTEK_3600;
fe.id = AdcId::PLUSTEK_3600;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x70 },
@ -462,7 +462,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_PLUSTEK_7200I;
fe.id = AdcId::PLUSTEK_7200I;
fe.layout = analog_devices;
fe.regs = {
{ 0x00, 0xf8 },
@ -479,7 +479,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_CS8400F;
fe.id = AdcId::CS8400F;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },
@ -501,7 +501,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_CS8600F;
fe.id = AdcId::CS8600F;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },
@ -523,7 +523,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_IMG101;
fe.id = AdcId::IMG101;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x78 },
@ -545,7 +545,7 @@ void genesys_init_frontend_tables()
fe = Genesys_Frontend();
fe.fe_id = DAC_PLUSTEK3800;
fe.id = AdcId::PLUSTEK3800;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x78 },
@ -571,7 +571,7 @@ void genesys_init_frontend_tables()
* reg6: gain
* reg0 , reg3, reg6 */
fe = Genesys_Frontend();
fe.fe_id = DAC_CANONLIDE80;
fe.id = AdcId::CANONLIDE80;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x70 },

Wyświetl plik

@ -102,7 +102,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_UMAX;
model.dac_type = DAC_WOLFSON_UMAX;
model.adc_id = AdcId::WOLFSON_UMAX;
model.gpo_type = GPO_UMAX;
model.motor_type = MOTOR_UMAX;
model.flags = GENESYS_FLAG_UNTESTED;
@ -154,7 +154,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_CANONLIDE35;
model.dac_type = DAC_CANONLIDE35;
model.adc_id = AdcId::CANONLIDE35;
model.gpo_type = GPO_CANONLIDE35;
model.motor_type = MOTOR_CANONLIDE35;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -212,7 +212,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_KVSS080;
model.dac_type = DAC_KVSS080;
model.adc_id = AdcId::KVSS080;
model.gpo_type = GPO_KVSS080;
model.motor_type = MOTOR_KVSS080;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -266,7 +266,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_G4050;
model.dac_type = DAC_G4050;
model.adc_id = AdcId::G4050;
model.gpo_type = GPO_G4050;
model.motor_type = MOTOR_G4050;
model.flags = GENESYS_FLAG_OFFSET_CALIBRATION |
@ -320,7 +320,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_G4050;
model.dac_type = DAC_G4050;
model.adc_id = AdcId::G4050;
model.gpo_type = GPO_G4050;
model.motor_type = MOTOR_G4050;
model.flags = GENESYS_FLAG_OFFSET_CALIBRATION |
@ -376,7 +376,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_G4050;
model.dac_type = DAC_G4050;
model.adc_id = AdcId::G4050;
model.gpo_type = GPO_G4050;
model.motor_type = MOTOR_G4050;
model.flags = GENESYS_FLAG_OFFSET_CALIBRATION |
@ -432,7 +432,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_CS4400F;
model.dac_type = DAC_G4050;
model.adc_id = AdcId::G4050;
model.gpo_type = GPO_CS4400F;
model.motor_type = MOTOR_G4050;
model.flags = GENESYS_FLAG_NO_CALIBRATION |
@ -490,7 +490,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_CS8400F;
model.dac_type = DAC_CS8400F;
model.adc_id = AdcId::CS8400F;
model.gpo_type = GPO_CS8400F;
model.motor_type = MOTOR_CS8400F;
model.flags = GENESYS_FLAG_HAS_UTA |
@ -550,7 +550,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_CS8600F;
model.dac_type = DAC_CS8600F;
model.adc_id = AdcId::CS8600F;
model.gpo_type = GPO_CS8600F;
model.motor_type = MOTOR_CS8600F;
model.flags = GENESYS_FLAG_HAS_UTA |
@ -610,7 +610,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CIS_CANONLIDE100;
model.dac_type = DAC_CANONLIDE200;
model.adc_id = AdcId::CANONLIDE200;
model.gpo_type = GPO_CANONLIDE200;
model.motor_type = MOTOR_CANONLIDE100;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -669,7 +669,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CIS_CANONLIDE110;
model.dac_type = DAC_CANONLIDE110;
model.adc_id = AdcId::CANONLIDE110;
model.gpo_type = GPO_CANONLIDE110;
model.motor_type = MOTOR_CANONLIDE110;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -726,7 +726,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CIS_CANONLIDE120;
model.dac_type = DAC_CANONLIDE120;
model.adc_id = AdcId::CANONLIDE120;
model.gpo_type = GPO_CANONLIDE120;
model.motor_type = MOTOR_CANONLIDE120;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -785,7 +785,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CIS_CANONLIDE210;
model.dac_type = DAC_CANONLIDE110;
model.adc_id = AdcId::CANONLIDE110;
model.gpo_type = GPO_CANONLIDE210;
model.motor_type = MOTOR_CANONLIDE210;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -844,7 +844,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CIS_CANONLIDE220;
model.dac_type = DAC_CANONLIDE110;
model.adc_id = AdcId::CANONLIDE110;
model.gpo_type = GPO_CANONLIDE210;
model.motor_type = MOTOR_CANONLIDE210;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -904,7 +904,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CIS_CANONLIDE200;
model.dac_type = DAC_CANONLIDE200;
model.adc_id = AdcId::CANONLIDE200;
model.gpo_type = GPO_CANONLIDE200;
model.motor_type = MOTOR_CANONLIDE200;
model.flags = GENESYS_FLAG_UNTESTED |
@ -963,7 +963,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CIS_CANONLIDE700;
model.dac_type = DAC_CANONLIDE700;
model.adc_id = AdcId::CANONLIDE700;
model.gpo_type = GPO_CANONLIDE700;
model.motor_type = MOTOR_CANONLIDE700;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -1022,7 +1022,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CIS_CANONLIDE200;
model.dac_type = DAC_CANONLIDE200;
model.adc_id = AdcId::CANONLIDE200;
model.gpo_type = GPO_CANONLIDE200;
model.motor_type = MOTOR_CANONLIDE200;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -1081,7 +1081,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_CANONLIDE35;
model.dac_type = DAC_CANONLIDE35;
model.adc_id = AdcId::CANONLIDE35;
model.gpo_type = GPO_CANONLIDE35;
model.motor_type = MOTOR_CANONLIDE35;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -1139,7 +1139,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CIS_CANONLIDE80;
model.dac_type = DAC_CANONLIDE80;
model.adc_id = AdcId::CANONLIDE80;
model.gpo_type = GPO_CANONLIDE80;
model.motor_type = MOTOR_CANONLIDE80;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -1199,7 +1199,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_HP2300;
model.dac_type = DAC_WOLFSON_HP2300;
model.adc_id = AdcId::WOLFSON_HP2300;
model.gpo_type = GPO_HP2300;
model.motor_type = MOTOR_HP2300;
model.flags = GENESYS_FLAG_14BIT_GAMMA |
@ -1256,7 +1256,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_HP2400;
model.dac_type = DAC_WOLFSON_HP2400;
model.adc_id = AdcId::WOLFSON_HP2400;
model.gpo_type = GPO_HP2400;
model.motor_type = MOTOR_HP2400;
model.flags = GENESYS_FLAG_14BIT_GAMMA |
@ -1313,7 +1313,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_TRUE;
model.sensor_id = SensorId::CIS_XP200;
model.dac_type = DAC_AD_XP200;
model.adc_id = AdcId::AD_XP200;
model.gpo_type = GPO_XP200;
model.motor_type = MOTOR_XP200;
model.flags = GENESYS_FLAG_14BIT_GAMMA |
@ -1369,7 +1369,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_HP3670;
model.dac_type = DAC_WOLFSON_HP3670;
model.adc_id = AdcId::WOLFSON_HP3670;
model.gpo_type = GPO_HP3670;
model.motor_type = MOTOR_HP3670;
model.flags = GENESYS_FLAG_14BIT_GAMMA |
@ -1426,7 +1426,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_ST12;
model.dac_type = DAC_WOLFSON_ST12;
model.adc_id = AdcId::WOLFSON_ST12;
model.gpo_type = GPO_ST12;
model.motor_type = MOTOR_UMAX;
model.flags = GENESYS_FLAG_UNTESTED | GENESYS_FLAG_14BIT_GAMMA;
@ -1477,7 +1477,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_ST24;
model.dac_type = DAC_WOLFSON_ST24;
model.adc_id = AdcId::WOLFSON_ST24;
model.gpo_type = GPO_ST24;
model.motor_type = MOTOR_ST24;
model.flags = GENESYS_FLAG_UNTESTED |
@ -1531,7 +1531,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_5345;
model.dac_type = DAC_WOLFSON_5345;
model.adc_id = AdcId::WOLFSON_5345;
model.gpo_type = GPO_5345;
model.motor_type = MOTOR_5345;
model.flags = GENESYS_FLAG_14BIT_GAMMA |
@ -1592,7 +1592,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_TRUE;
model.sensor_id = SensorId::CCD_XP300;
model.dac_type = DAC_WOLFSON_XP300;
model.adc_id = AdcId::WOLFSON_XP300;
model.gpo_type = GPO_XP300;
model.motor_type = MOTOR_XP300;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -1646,7 +1646,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_TRUE;
model.sensor_id = SensorId::CCD_DP665;
model.dac_type = DAC_WOLFSON_XP300;
model.adc_id = AdcId::WOLFSON_XP300;
model.gpo_type = GPO_DP665;
model.motor_type = MOTOR_DP665;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -1700,7 +1700,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_TRUE;
model.sensor_id = SensorId::CCD_ROADWARRIOR;
model.dac_type = DAC_WOLFSON_XP300;
model.adc_id = AdcId::WOLFSON_XP300;
model.gpo_type = GPO_DP665;
model.motor_type = MOTOR_ROADWARRIOR;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -1754,7 +1754,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_TRUE;
model.sensor_id = SensorId::CCD_ROADWARRIOR;
model.dac_type = DAC_WOLFSON_XP300;
model.adc_id = AdcId::WOLFSON_XP300;
model.gpo_type = GPO_DP665;
model.motor_type = MOTOR_ROADWARRIOR;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -1809,7 +1809,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_TRUE;
model.sensor_id = SensorId::CCD_ROADWARRIOR;
model.dac_type = DAC_WOLFSON_XP300;
model.adc_id = AdcId::WOLFSON_XP300;
model.gpo_type = GPO_DP665;
model.motor_type = MOTOR_ROADWARRIOR;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -1863,7 +1863,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_TRUE;
model.sensor_id = SensorId::CCD_DSMOBILE600;
model.dac_type = DAC_WOLFSON_DSM600;
model.adc_id = AdcId::WOLFSON_DSM600;
model.gpo_type = GPO_DP665;
model.motor_type = MOTOR_DSMOBILE_600;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -1918,7 +1918,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_TRUE;
model.sensor_id = SensorId::CCD_DSMOBILE600;
model.dac_type = DAC_WOLFSON_DSM600;
model.adc_id = AdcId::WOLFSON_DSM600;
model.gpo_type = GPO_DP665;
model.motor_type = MOTOR_DSMOBILE_600;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -1972,7 +1972,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_TRUE;
model.sensor_id = SensorId::CCD_DP685;
model.dac_type = DAC_WOLFSON_DSM600;
model.adc_id = AdcId::WOLFSON_DSM600;
model.gpo_type = GPO_DP685;
model.motor_type = MOTOR_XP300;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -2028,7 +2028,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_TRUE;
model.sensor_id = SensorId::CCD_XP300;
model.dac_type = DAC_WOLFSON_XP300;
model.adc_id = AdcId::WOLFSON_XP300;
model.gpo_type = GPO_XP300;
model.motor_type = MOTOR_XP300;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -2083,7 +2083,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_TRUE;
model.sensor_id = SensorId::CCD_XP300;
model.dac_type = DAC_WOLFSON_XP300;
model.adc_id = AdcId::WOLFSON_XP300;
model.gpo_type = GPO_XP300;
model.motor_type = MOTOR_XP300;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -2138,7 +2138,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_5345;
model.dac_type = DAC_WOLFSON_5345;
model.adc_id = AdcId::WOLFSON_5345;
model.gpo_type = GPO_5345;
model.motor_type = MOTOR_5345;
model.flags = GENESYS_FLAG_14BIT_GAMMA |
@ -2198,7 +2198,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_5345;
model.dac_type = DAC_WOLFSON_5345;
model.adc_id = AdcId::WOLFSON_5345;
model.gpo_type = GPO_5345;
model.motor_type = MOTOR_5345;
model.flags = GENESYS_FLAG_14BIT_GAMMA |
@ -2259,7 +2259,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_TRUE;
model.is_sheetfed = SANE_TRUE;
model.sensor_id = SensorId::CCD_ROADWARRIOR;
model.dac_type = DAC_WOLFSON_XP300;
model.adc_id = AdcId::WOLFSON_XP300;
model.gpo_type = GPO_DP665;
model.motor_type = MOTOR_ROADWARRIOR;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -2313,7 +2313,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_PLUSTEK_3600;
model.dac_type = DAC_PLUSTEK_3600;
model.adc_id = AdcId::PLUSTEK_3600;
model.gpo_type = GPO_PLUSTEK_3600;
model.motor_type = MOTOR_PLUSTEK_3600;
model.flags = GENESYS_FLAG_UNTESTED | // not fully working yet
@ -2368,7 +2368,7 @@ void genesys_init_usb_device_tables()
model.is_sheetfed = false;
model.sensor_id = SensorId::CCD_PLUSTEK_7200I;
model.dac_type = DAC_PLUSTEK_7200I;
model.adc_id = AdcId::PLUSTEK_7200I;
model.gpo_type = GPO_PLUSTEK_7200I;
model.motor_type = MOTOR_PLUSTEK_7200I;
@ -2430,7 +2430,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_HP_N6310;
model.dac_type = DAC_CANONLIDE200; // Not defined yet for N6310
model.adc_id = AdcId::CANONLIDE200; // Not defined yet for N6310
model.gpo_type = GPO_HP_N6310;
model.motor_type = MOTOR_CANONLIDE200, // Not defined yet for N6310
model.flags = GENESYS_FLAG_UNTESTED |
@ -2489,7 +2489,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_PLUSTEK3800;
model.dac_type = DAC_PLUSTEK3800;
model.adc_id = AdcId::PLUSTEK3800;
model.gpo_type = GPO_PLUSTEK3800;
model.motor_type = MOTOR_PLUSTEK3800;
model.flags = GENESYS_FLAG_SKIP_WARMUP |
@ -2543,7 +2543,7 @@ void genesys_init_usb_device_tables()
model.is_cis = SANE_FALSE;
model.is_sheetfed = SANE_FALSE;
model.sensor_id = SensorId::CCD_IMG101;
model.dac_type = DAC_IMG101;
model.adc_id = AdcId::IMG101;
model.gpo_type = GPO_IMG101;
model.motor_type = MOTOR_IMG101;
model.flags = GENESYS_FLAG_SKIP_WARMUP |

Wyświetl plik

@ -46,7 +46,7 @@ Genesys_Calibration_Cache create_fake_calibration_entry()
wolfson_layout.gain_addr = { 0x28, 0x29, 0x2a };
Genesys_Frontend fe;
fe.fe_id = DAC_WOLFSON_UMAX;
fe.id = AdcId::WOLFSON_UMAX;
fe.layout = wolfson_layout;
fe.regs = {
{ 0x00, 0x00 },