kopia lustrzana https://gitlab.com/sane-project/backends
Merge branch 'genesys-model-flag-enum' into 'master'
genesys: Move model flags to separate enum See merge request sane-project/backends!325merge-requests/340/head
commit
03d50b5e64
|
@ -210,8 +210,8 @@ struct Genesys_Model
|
|||
// stepper motor type
|
||||
MotorId motor_id = MotorId::UNKNOWN;
|
||||
|
||||
// Which hacks are needed for this scanner?
|
||||
SANE_Word flags = 0;
|
||||
// Which customizations are needed for this scanner?
|
||||
ModelFlag flags = ModelFlag::NONE;
|
||||
|
||||
// Button flags, described existing buttons for the model
|
||||
SANE_Word buttons = 0;
|
||||
|
|
|
@ -431,6 +431,88 @@ enum class AsicType : unsigned
|
|||
};
|
||||
|
||||
|
||||
enum class ModelFlag : unsigned
|
||||
{
|
||||
// no flags
|
||||
NONE = 0,
|
||||
|
||||
// scanner is not tested, print a warning as it's likely it won't work
|
||||
UNTESTED = 1 << 0,
|
||||
|
||||
// use 14-bit gamma table instead of 12-bit
|
||||
GAMMA_14BIT = 1 << 1,
|
||||
|
||||
// has XPA adapter
|
||||
XPA = 1 << 3,
|
||||
|
||||
// skip lamp warmup (genesys_warmup())
|
||||
SKIP_WARMUP = 1 << 4,
|
||||
|
||||
// the scanner does offset and gain calibration
|
||||
OFFSET_CALIBRATION = 1 << 5,
|
||||
|
||||
// search start point befor scanning
|
||||
SEARCH_START = 1 << 6,
|
||||
|
||||
// repark head and check for lock by moving without scanning
|
||||
REPARK = 1 << 7,
|
||||
|
||||
// do dark calibration
|
||||
DARK_CALIBRATION = 1 << 8,
|
||||
|
||||
// whether scanner must wait for the head while parking
|
||||
MUST_WAIT = 1 << 10,
|
||||
|
||||
// do dark and white calibration in one run
|
||||
DARK_WHITE_CALIBRATION = 1 << 12,
|
||||
|
||||
// allow custom gamma tables
|
||||
CUSTOM_GAMMA = 1 << 13,
|
||||
|
||||
// skip calibration completely, this is needed for sheet-fed scanners
|
||||
NO_CALIBRATION = 1 << 14,
|
||||
|
||||
// the scanner uses multi-segment sensors that must be handled during calibration
|
||||
SIS_SENSOR = 1 << 16,
|
||||
|
||||
// the scanner does not move sensor during scanner calibration
|
||||
SHADING_NO_MOVE = 1 << 17,
|
||||
|
||||
// the head must be reparked between shading scans
|
||||
SHADING_REPARK = 1 << 18,
|
||||
|
||||
// the scanner always uses maximum hwdpi to setup the sensor
|
||||
FULL_HWDPI_MODE = 1 << 19,
|
||||
|
||||
// scanner calibration is handled on the host side
|
||||
CALIBRATION_HOST_SIDE = 1 << 21,
|
||||
|
||||
// the scanner outputs 16-bit data that is byte-inverted
|
||||
INVERTED_16BIT_DATA = 1 << 22,
|
||||
};
|
||||
|
||||
inline ModelFlag operator|(ModelFlag left, ModelFlag right)
|
||||
{
|
||||
return static_cast<ModelFlag>(static_cast<unsigned>(left) | static_cast<unsigned>(right));
|
||||
}
|
||||
|
||||
inline ModelFlag& operator|=(ModelFlag& left, ModelFlag right)
|
||||
{
|
||||
left = left | right;
|
||||
return left;
|
||||
}
|
||||
|
||||
inline ModelFlag operator&(ModelFlag left, ModelFlag right)
|
||||
{
|
||||
return static_cast<ModelFlag>(static_cast<unsigned>(left) & static_cast<unsigned>(right));
|
||||
}
|
||||
|
||||
inline bool has_flag(ModelFlag flags, ModelFlag which)
|
||||
{
|
||||
return (flags & which) == which;
|
||||
}
|
||||
|
||||
|
||||
enum class ScanFlag : unsigned
|
||||
{
|
||||
NONE = 0,
|
||||
|
|
|
@ -382,7 +382,7 @@ void sanei_genesys_create_default_gamma_table(Genesys_Device* dev,
|
|||
int size = 0;
|
||||
int max = 0;
|
||||
if (dev->model->asic_type == AsicType::GL646) {
|
||||
if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) {
|
||||
if (has_flag(dev->model->flags, ModelFlag::GAMMA_14BIT)) {
|
||||
size = 16384;
|
||||
} else {
|
||||
size = 4096;
|
||||
|
@ -506,7 +506,7 @@ void sanei_genesys_init_shading_data(Genesys_Device* dev, const Genesys_Sensor&
|
|||
{
|
||||
DBG_HELPER_ARGS(dbg, "pixels_per_line: %d", pixels_per_line);
|
||||
|
||||
if (dev->model->flags & GENESYS_FLAG_CALIBRATION_HOST_SIDE) {
|
||||
if (has_flag(dev->model->flags, ModelFlag::CALIBRATION_HOST_SIDE)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1668,8 +1668,7 @@ static void genesys_shading_calibration_impl(Genesys_Device* dev, const Genesys_
|
|||
std::vector<uint16_t> calibration_data(size / 2);
|
||||
|
||||
bool motor = true;
|
||||
if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE)
|
||||
{
|
||||
if (has_flag(dev->model->flags, ModelFlag::SHADING_NO_MOVE)) {
|
||||
motor = false;
|
||||
}
|
||||
|
||||
|
@ -1688,7 +1687,7 @@ static void genesys_shading_calibration_impl(Genesys_Device* dev, const Genesys_
|
|||
if (is_dark) {
|
||||
// wait some time to let lamp to get dark
|
||||
dev->interface->sleep_ms(200);
|
||||
} else if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) {
|
||||
} else if (has_flag(dev->model->flags, ModelFlag::DARK_CALIBRATION)) {
|
||||
// make sure lamp is bright again
|
||||
// FIXME: what about scanners that take a long time to warm the lamp?
|
||||
dev->interface->sleep_ms(500);
|
||||
|
@ -1710,7 +1709,7 @@ static void genesys_shading_calibration_impl(Genesys_Device* dev, const Genesys_
|
|||
|
||||
dev->cmd_set->end_scan(dev, &dev->calib_reg, true);
|
||||
|
||||
if (dev->model->flags & GENESYS_FLAG_16BIT_DATA_INVERTED) {
|
||||
if (has_flag(dev->model->flags, ModelFlag::INVERTED_16BIT_DATA)) {
|
||||
for (std::size_t i = 0; i < size / 2; ++i) {
|
||||
auto value = calibration_data[i];
|
||||
value = ((value >> 8) & 0xff) | ((value << 8) & 0xff00);
|
||||
|
@ -1823,7 +1822,7 @@ static void genesys_dummy_dark_shading(Genesys_Device* dev, const Genesys_Sensor
|
|||
static void genesys_repark_sensor_before_shading(Genesys_Device* dev)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK) {
|
||||
if (has_flag(dev->model->flags, ModelFlag::SHADING_REPARK)) {
|
||||
dev->cmd_set->move_back_home(dev, true);
|
||||
|
||||
if (dev->settings.scan_method == ScanMethod::TRANSPARENCY ||
|
||||
|
@ -1837,7 +1836,7 @@ static void genesys_repark_sensor_before_shading(Genesys_Device* dev)
|
|||
static void genesys_repark_sensor_after_white_shading(Genesys_Device* dev)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK) {
|
||||
if (has_flag(dev->model->flags, ModelFlag::SHADING_REPARK)) {
|
||||
dev->cmd_set->move_back_home(dev, true);
|
||||
}
|
||||
}
|
||||
|
@ -1882,8 +1881,7 @@ static void genesys_dark_white_shading_calibration(Genesys_Device* dev,
|
|||
std::vector<uint8_t> calibration_data(size);
|
||||
|
||||
bool motor = true;
|
||||
if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE)
|
||||
{
|
||||
if (has_flag(dev->model->flags, ModelFlag::SHADING_NO_MOVE)) {
|
||||
motor = false;
|
||||
}
|
||||
|
||||
|
@ -2463,7 +2461,7 @@ static void genesys_send_shading_coefficient(Genesys_Device* dev, const Genesys_
|
|||
{
|
||||
DBG_HELPER(dbg);
|
||||
|
||||
if (dev->model->flags & GENESYS_FLAG_CALIBRATION_HOST_SIDE) {
|
||||
if (has_flag(dev->model->flags, ModelFlag::CALIBRATION_HOST_SIDE)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -2861,8 +2859,7 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
|
|||
}
|
||||
|
||||
/* do offset calibration if needed */
|
||||
if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION)
|
||||
{
|
||||
if (has_flag(dev->model->flags, ModelFlag::OFFSET_CALIBRATION)) {
|
||||
dev->interface->record_progress_message("offset_calibration");
|
||||
dev->cmd_set->offset_calibration(dev, sensor, dev->calib_reg);
|
||||
|
||||
|
@ -2903,7 +2900,7 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
|
|||
|
||||
|
||||
/* calibrate afe again to match new exposure */
|
||||
if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) {
|
||||
if (has_flag(dev->model->flags, ModelFlag::OFFSET_CALIBRATION)) {
|
||||
dev->interface->record_progress_message("offset_calibration");
|
||||
dev->cmd_set->offset_calibration(dev, sensor, dev->calib_reg);
|
||||
|
||||
|
@ -2922,8 +2919,7 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
|
|||
}
|
||||
|
||||
/* we always use sensor pixel number when the ASIC can't handle multi-segments sensor */
|
||||
if (!(dev->model->flags & GENESYS_FLAG_SIS_SENSOR))
|
||||
{
|
||||
if (!has_flag(dev->model->flags, ModelFlag::SIS_SENSOR)) {
|
||||
pixels_per_line = static_cast<std::uint32_t>((dev->model->x_size * dev->settings.xres) /
|
||||
MM_PER_INCH);
|
||||
}
|
||||
|
@ -2943,7 +2939,7 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
|
|||
}
|
||||
|
||||
// shading calibration
|
||||
if (dev->model->flags & GENESYS_FLAG_DARK_WHITE_CALIBRATION) {
|
||||
if (has_flag(dev->model->flags, ModelFlag::DARK_WHITE_CALIBRATION)) {
|
||||
dev->interface->record_progress_message("init_regs_for_shading");
|
||||
dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg);
|
||||
|
||||
|
@ -2953,7 +2949,7 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
|
|||
DBG(DBG_proc, "%s : genesys_dark_shading_calibration dev->calib_reg ", __func__);
|
||||
debug_dump(DBG_proc, dev->calib_reg);
|
||||
|
||||
if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) {
|
||||
if (has_flag(dev->model->flags, ModelFlag::DARK_CALIBRATION)) {
|
||||
dev->interface->record_progress_message("init_regs_for_shading");
|
||||
dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg);
|
||||
|
||||
|
@ -2969,7 +2965,7 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
|
|||
genesys_white_shading_calibration(dev, sensor);
|
||||
genesys_repark_sensor_after_white_shading(dev);
|
||||
|
||||
if (!(dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION)) {
|
||||
if (!has_flag(dev->model->flags, ModelFlag::DARK_CALIBRATION)) {
|
||||
genesys_dummy_dark_shading(dev, sensor);
|
||||
}
|
||||
}
|
||||
|
@ -3023,8 +3019,7 @@ static void genesys_sheetfed_calibration(Genesys_Device* dev, Genesys_Sensor& se
|
|||
}
|
||||
|
||||
/* calibrate afe */
|
||||
if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION)
|
||||
{
|
||||
if (has_flag(dev->model->flags, ModelFlag::OFFSET_CALIBRATION)) {
|
||||
dev->cmd_set->offset_calibration(dev, sensor, dev->calib_reg);
|
||||
|
||||
/* since all the registers are set up correctly, just use them */
|
||||
|
@ -3042,9 +3037,8 @@ static void genesys_sheetfed_calibration(Genesys_Device* dev, Genesys_Sensor& se
|
|||
|
||||
/* search for a full width black strip and then do a 16 bit scan to
|
||||
* gather black shading data */
|
||||
if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION)
|
||||
{
|
||||
/* seek black/white reverse/forward */
|
||||
if (has_flag(dev->model->flags, ModelFlag::DARK_CALIBRATION)) {
|
||||
// seek black/white reverse/forward
|
||||
try {
|
||||
dev->cmd_set->search_strip(dev, sensor, forward, true);
|
||||
} catch (...) {
|
||||
|
@ -3086,8 +3080,8 @@ static void genesys_sheetfed_calibration(Genesys_Device* dev, Genesys_Sensor& se
|
|||
|
||||
// in case we haven't black shading data, build it from black pixels of white calibration
|
||||
// FIXME: shouldn't we use genesys_dummy_dark_shading() ?
|
||||
if (!(dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION)) {
|
||||
dev->dark_average_data.clear();
|
||||
if (!has_flag(dev->model->flags, ModelFlag::DARK_CALIBRATION)) {
|
||||
dev->dark_average_data.clear();
|
||||
dev->dark_average_data.resize(dev->average_size, 0x0f0f);
|
||||
/* XXX STEF XXX
|
||||
* with black point in white shading, build an average black
|
||||
|
@ -3266,8 +3260,8 @@ static void genesys_start_scan(Genesys_Device* dev, bool lamp_off)
|
|||
|
||||
/* wait for lamp warmup : until a warmup for TRANSPARENCY is designed, skip
|
||||
* it when scanning from XPA. */
|
||||
if (!(dev->model->flags & GENESYS_FLAG_SKIP_WARMUP)
|
||||
&& (dev->settings.scan_method == ScanMethod::FLATBED))
|
||||
if (!has_flag(dev->model->flags, ModelFlag::SKIP_WARMUP) &&
|
||||
(dev->settings.scan_method == ScanMethod::FLATBED))
|
||||
{
|
||||
genesys_warmup_lamp(dev);
|
||||
}
|
||||
|
@ -3275,9 +3269,9 @@ static void genesys_start_scan(Genesys_Device* dev, bool lamp_off)
|
|||
/* set top left x and y values by scanning the internals if flatbed scanners */
|
||||
if (!dev->model->is_sheetfed) {
|
||||
/* do the geometry detection only once */
|
||||
if ((dev->model->flags & GENESYS_FLAG_SEARCH_START)
|
||||
&& (dev->model->y_offset_calib_white == 0))
|
||||
{
|
||||
if (has_flag(dev->model->flags, ModelFlag::SEARCH_START) &&
|
||||
(dev->model->y_offset_calib_white == 0))
|
||||
{
|
||||
dev->cmd_set->search_start_position (dev);
|
||||
|
||||
dev->parking = false;
|
||||
|
@ -3318,7 +3312,7 @@ static void genesys_start_scan(Genesys_Device* dev, bool lamp_off)
|
|||
{
|
||||
/* calibration : sheetfed scanners can't calibrate before each scan */
|
||||
/* and also those who have the NO_CALIBRATION flag */
|
||||
if (!(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION) && !dev->model->is_sheetfed) {
|
||||
if (!has_flag(dev->model->flags, ModelFlag::NO_CALIBRATION) && !dev->model->is_sheetfed) {
|
||||
genesys_scanner_calibration(dev, sensor);
|
||||
genesys_save_calibration (dev, sensor);
|
||||
}
|
||||
|
@ -3356,7 +3350,7 @@ static void genesys_start_scan(Genesys_Device* dev, bool lamp_off)
|
|||
/* GL124 is using SHDAREA, so we have to wait for scan to be set up before
|
||||
* sending shading data */
|
||||
if (dev->cmd_set->has_send_shading_data() &&
|
||||
!(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION))
|
||||
!has_flag(dev->model->flags, ModelFlag::NO_CALIBRATION))
|
||||
{
|
||||
genesys_send_shading_coefficient(dev, sensor);
|
||||
}
|
||||
|
@ -3451,7 +3445,7 @@ static void genesys_read_ordered_data(Genesys_Device* dev, SANE_Byte* destinatio
|
|||
{
|
||||
/* issue park command immediatly in case scanner can handle it
|
||||
* so we save time */
|
||||
if (!dev->model->is_sheetfed && !(dev->model->flags & GENESYS_FLAG_MUST_WAIT) &&
|
||||
if (!dev->model->is_sheetfed && !has_flag(dev->model->flags, ModelFlag::MUST_WAIT) &&
|
||||
!dev->parking)
|
||||
{
|
||||
dev->cmd_set->move_back_home(dev, false);
|
||||
|
@ -3643,7 +3637,7 @@ static void calc_parameters(Genesys_Scanner* s)
|
|||
|
||||
/* we need an even pixels number
|
||||
* TODO invert test logic or generalize behaviour across all ASICs */
|
||||
if ((s->dev->model->flags & GENESYS_FLAG_SIS_SENSOR) ||
|
||||
if (has_flag(s->dev->model->flags, ModelFlag::SIS_SENSOR) ||
|
||||
s->dev->model->asic_type == AsicType::GL847 ||
|
||||
s->dev->model->asic_type == AsicType::GL124 ||
|
||||
s->dev->model->asic_type == AsicType::GL845 ||
|
||||
|
@ -3772,7 +3766,7 @@ static void create_bpp_list (Genesys_Scanner * s, const std::vector<unsigned>& b
|
|||
|
||||
/** @brief this function initialize a gamma vector based on the ASIC:
|
||||
* Set up a default gamma table vector based on device description
|
||||
* gl646: 12 or 14 bits gamma table depending on GENESYS_FLAG_14BIT_GAMMA
|
||||
* gl646: 12 or 14 bits gamma table depending on ModelFlag::GAMMA_14BIT
|
||||
* gl84x: 16 bits
|
||||
* gl12x: 16 bits
|
||||
* @param scanner pointer to scanner session to get options
|
||||
|
@ -3788,8 +3782,7 @@ init_gamma_vector_option (Genesys_Scanner * scanner, int option)
|
|||
scanner->opt[option].unit = SANE_UNIT_NONE;
|
||||
scanner->opt[option].constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
if (scanner->dev->model->asic_type == AsicType::GL646) {
|
||||
if ((scanner->dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) != 0)
|
||||
{
|
||||
if (has_flag(scanner->dev->model->flags, ModelFlag::GAMMA_14BIT)) {
|
||||
scanner->opt[option].size = 16384 * sizeof (SANE_Word);
|
||||
scanner->opt[option].constraint.range = &u14_range;
|
||||
}
|
||||
|
@ -4128,8 +4121,7 @@ static void init_options(Genesys_Scanner* s)
|
|||
/* currently, there are only gamma table options in this group,
|
||||
* so if the scanner doesn't support gamma table, disable the
|
||||
* whole group */
|
||||
if (!(model->flags & GENESYS_FLAG_CUSTOM_GAMMA))
|
||||
{
|
||||
if (!has_flag(model->flags, ModelFlag::CUSTOM_GAMMA)) {
|
||||
s->opt[OPT_ENHANCEMENT_GROUP].cap |= SANE_CAP_INACTIVE;
|
||||
s->opt[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_INACTIVE;
|
||||
DBG(DBG_info, "%s: custom gamma disabled\n", __func__);
|
||||
|
@ -4793,8 +4785,8 @@ static void genesys_buffer_image(Genesys_Scanner *s)
|
|||
* computing so we can save time
|
||||
*/
|
||||
if (!dev->model->is_sheetfed && !dev->parking) {
|
||||
dev->cmd_set->move_back_home(dev, dev->model->flags & GENESYS_FLAG_MUST_WAIT);
|
||||
dev->parking = !(s->dev->model->flags & GENESYS_FLAG_MUST_WAIT);
|
||||
dev->cmd_set->move_back_home(dev, has_flag(dev->model->flags, ModelFlag::MUST_WAIT));
|
||||
dev->parking = !has_flag(s->dev->model->flags, ModelFlag::MUST_WAIT);
|
||||
}
|
||||
|
||||
/* in case of dynamic lineart, we have buffered gray data which
|
||||
|
@ -5002,8 +4994,7 @@ static void sane_open_impl(SANE_String_Const devicename, SANE_Handle * handle)
|
|||
throw SaneException("could not find the device to open: %s", devicename);
|
||||
}
|
||||
|
||||
if (dev->model->flags & GENESYS_FLAG_UNTESTED)
|
||||
{
|
||||
if (has_flag(dev->model->flags, ModelFlag::UNTESTED)) {
|
||||
DBG(DBG_error0, "WARNING: Your scanner is not fully supported or at least \n");
|
||||
DBG(DBG_error0, " had only limited testing. Please be careful and \n");
|
||||
DBG(DBG_error0, " report any failure/success to \n");
|
||||
|
@ -5997,7 +5988,7 @@ void sane_read_impl(SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_
|
|||
|
||||
/* issue park command immediatly in case scanner can handle it
|
||||
* so we save time */
|
||||
if (!dev->model->is_sheetfed && !(dev->model->flags & GENESYS_FLAG_MUST_WAIT) &&
|
||||
if (!dev->model->is_sheetfed && !has_flag(dev->model->flags, ModelFlag::MUST_WAIT) &&
|
||||
!dev->parking)
|
||||
{
|
||||
dev->cmd_set->move_back_home(dev, false);
|
||||
|
@ -6097,10 +6088,10 @@ void sane_cancel_impl(SANE_Handle handle)
|
|||
/* park head if flatbed scanner */
|
||||
if (!s->dev->model->is_sheetfed) {
|
||||
if (!s->dev->parking) {
|
||||
s->dev->cmd_set->move_back_home (s->dev, s->dev->model->flags &
|
||||
GENESYS_FLAG_MUST_WAIT);
|
||||
s->dev->cmd_set->move_back_home (s->dev, has_flag(s->dev->model->flags,
|
||||
ModelFlag::MUST_WAIT));
|
||||
|
||||
s->dev->parking = !(s->dev->model->flags & GENESYS_FLAG_MUST_WAIT);
|
||||
s->dev->parking = !has_flag(s->dev->model->flags, ModelFlag::MUST_WAIT);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
@ -711,7 +711,7 @@ static void gl124_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
|
|||
regs_set_optical_off(dev->model->asic_type, *reg);
|
||||
r = sanei_genesys_get_address (reg, REG_0x01);
|
||||
if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) ||
|
||||
(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION))
|
||||
has_flag(dev->model->flags, ModelFlag::NO_CALIBRATION))
|
||||
{
|
||||
r->value &= ~REG_0x01_DVDSET;
|
||||
} else {
|
||||
|
|
|
@ -232,9 +232,8 @@ void CommandSetGl646::init_regs_for_scan_session(Genesys_Device* dev, const Gene
|
|||
regs->find_reg(0x01).value &= ~REG_0x01_CISSET;
|
||||
}
|
||||
|
||||
/* if device has no calibration, don't enable shading correction */
|
||||
if (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)
|
||||
{
|
||||
// if device has no calibration, don't enable shading correction
|
||||
if (has_flag(dev->model->flags, ModelFlag::NO_CALIBRATION)) {
|
||||
regs->find_reg(0x01).value &= ~REG_0x01_DVDSET;
|
||||
}
|
||||
|
||||
|
@ -317,7 +316,7 @@ void CommandSetGl646::init_regs_for_scan_session(Genesys_Device* dev, const Gene
|
|||
sanei_genesys_set_dpihw(*regs, sensor, sensor.optical_res);
|
||||
|
||||
/* gamma enable for scans */
|
||||
if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) {
|
||||
if (has_flag(dev->model->flags, ModelFlag::GAMMA_14BIT)) {
|
||||
regs->find_reg(0x05).value |= REG_0x05_GMM14BIT;
|
||||
}
|
||||
|
||||
|
@ -666,7 +665,7 @@ gl646_init_regs (Genesys_Device * dev)
|
|||
dev->reg.find_reg(0x05).value = 0x00; /* 12 bits gamma, disable gamma, 24 clocks/pixel */
|
||||
sanei_genesys_set_dpihw(dev->reg, sensor, sensor.optical_res);
|
||||
|
||||
if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) {
|
||||
if (has_flag(dev->model->flags, ModelFlag::GAMMA_14BIT)) {
|
||||
dev->reg.find_reg(0x05).value |= REG_0x05_GMM14BIT;
|
||||
}
|
||||
if (dev->model->adc_id == AdcId::AD_XP200) {
|
||||
|
@ -1857,9 +1856,7 @@ void CommandSetGl646::send_gamma_table(Genesys_Device* dev, const Genesys_Sensor
|
|||
int address;
|
||||
int bits;
|
||||
|
||||
/* gamma table size */
|
||||
if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA)
|
||||
{
|
||||
if (has_flag(dev->model->flags, ModelFlag::GAMMA_14BIT)) {
|
||||
size = 16384;
|
||||
bits = 14;
|
||||
}
|
||||
|
@ -2828,16 +2825,13 @@ void CommandSetGl646::init(Genesys_Device* dev) const
|
|||
|
||||
/* ensure head is correctly parked, and check lock */
|
||||
if (!dev->model->is_sheetfed) {
|
||||
if (dev->model->flags & GENESYS_FLAG_REPARK)
|
||||
{
|
||||
if (has_flag(dev->model->flags, ModelFlag::REPARK)) {
|
||||
// FIXME: if repark fails, we should print an error message that the scanner is locked and
|
||||
// the user should unlock the lock. We should also rethrow with SANE_STATUS_JAMMED
|
||||
gl646_repark_head(dev);
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
move_back_home(dev, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* here session and device are initialized */
|
||||
|
@ -3130,8 +3124,7 @@ void CommandSetGl646::update_hardware_sensors(Genesys_Scanner* session) const
|
|||
}
|
||||
|
||||
/* XPA detection */
|
||||
if (dev->model->flags & GENESYS_FLAG_XPA)
|
||||
{
|
||||
if (has_flag(dev->model->flags, ModelFlag::XPA)) {
|
||||
switch (dev->model->gpio_id) {
|
||||
case GpioId::HP3670:
|
||||
case GpioId::HP2400:
|
||||
|
|
|
@ -1308,7 +1308,7 @@ static void gl841_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
|
|||
r = sanei_genesys_get_address (reg, 0x01);
|
||||
r->value |= REG_0x01_SCAN;
|
||||
if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) ||
|
||||
(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) {
|
||||
has_flag(dev->model->flags, ModelFlag::NO_CALIBRATION)) {
|
||||
r->value &= ~REG_0x01_DVDSET;
|
||||
} else {
|
||||
r->value |= REG_0x01_DVDSET;
|
||||
|
@ -1651,10 +1651,10 @@ ScanSession CommandSetGl841::calculate_scan_session(const Genesys_Device* dev,
|
|||
mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH
|
||||
*/
|
||||
|
||||
// if scanner uses GENESYS_FLAG_SEARCH_START y_offset is
|
||||
// if scanner uses ModelFlag::SEARCH_START y_offset is
|
||||
// relative from origin, else, it is from parking position
|
||||
float move = 0.0f;
|
||||
if (dev->model->flags & GENESYS_FLAG_SEARCH_START) {
|
||||
if (has_flag(dev->model->flags, ModelFlag::SEARCH_START)) {
|
||||
move += static_cast<float>(dev->model->y_offset_calib_white);
|
||||
}
|
||||
|
||||
|
@ -3465,8 +3465,7 @@ void CommandSetGl841::init(Genesys_Device* dev) const
|
|||
sanei_genesys_init_shading_data(dev, sensor, sensor.sensor_pixels);
|
||||
|
||||
/* ensure head is correctly parked, and check lock */
|
||||
if (dev->model->flags & GENESYS_FLAG_REPARK)
|
||||
{
|
||||
if (has_flag(dev->model->flags, ModelFlag::REPARK)) {
|
||||
// FIXME: if repark fails, we should print an error message that the scanner is locked and
|
||||
// the user should unlock the lock. We should also rethrow with SANE_STATUS_JAMMED
|
||||
sanei_gl841_repark_head(dev);
|
||||
|
|
|
@ -96,7 +96,7 @@ static void gl843_setup_sensor(Genesys_Device* dev, const Genesys_Sensor& sensor
|
|||
for (const auto& custom_reg : sensor.custom_regs) {
|
||||
regs->set8(custom_reg.address, custom_reg.value);
|
||||
}
|
||||
if (!(dev->model->flags & GENESYS_FLAG_FULL_HWDPI_MODE) &&
|
||||
if (!has_flag(dev->model->flags, ModelFlag::FULL_HWDPI_MODE) &&
|
||||
dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7200I &&
|
||||
dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7300 &&
|
||||
dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7500I)
|
||||
|
@ -982,7 +982,7 @@ static void gl843_init_motor_regs_scan(Genesys_Device* dev,
|
|||
|
||||
/* Vref XXX STEF XXX : optical divider or step type ? */
|
||||
r = sanei_genesys_get_address (reg, 0x80);
|
||||
if (!(dev->model->flags & GENESYS_FLAG_FULL_HWDPI_MODE))
|
||||
if (!has_flag(dev->model->flags, ModelFlag::FULL_HWDPI_MODE))
|
||||
{
|
||||
r->value = 0x50;
|
||||
coeff = sensor.get_hwdpi_divisor_for_dpi(scan_yres);
|
||||
|
@ -1057,8 +1057,8 @@ static void gl843_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
|
|||
regs_set_optical_off(dev->model->asic_type, *reg);
|
||||
r = sanei_genesys_get_address (reg, REG_0x01);
|
||||
if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) ||
|
||||
(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION ||
|
||||
(dev->model->flags & GENESYS_FLAG_CALIBRATION_HOST_SIDE)))
|
||||
has_flag(dev->model->flags, ModelFlag::NO_CALIBRATION) ||
|
||||
has_flag(dev->model->flags, ModelFlag::CALIBRATION_HOST_SIDE))
|
||||
{
|
||||
r->value &= ~REG_0x01_DVDSET;
|
||||
} else {
|
||||
|
|
|
@ -579,7 +579,7 @@ static void gl846_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
|
|||
r = sanei_genesys_get_address(reg, REG_0x01);
|
||||
r->value |= REG_0x01_SHDAREA;
|
||||
if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) ||
|
||||
(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION))
|
||||
has_flag(dev->model->flags, ModelFlag::NO_CALIBRATION))
|
||||
{
|
||||
r->value &= ~REG_0x01_DVDSET;
|
||||
}
|
||||
|
@ -1014,7 +1014,7 @@ void CommandSetGl846::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
|
||||
dev->interface->write_registers(regs);
|
||||
|
||||
/* we use GENESYS_FLAG_SHADING_REPARK */
|
||||
/* we use ModelFlag::SHADING_REPARK */
|
||||
dev->set_head_pos_zero(ScanHeadId::PRIMARY);
|
||||
}
|
||||
|
||||
|
@ -1045,7 +1045,7 @@ void CommandSetGl846::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sens
|
|||
float y_offset_calib;
|
||||
mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */
|
||||
|
||||
/* if scanner uses GENESYS_FLAG_SEARCH_START y_offset is
|
||||
/* if scanner uses ModelFlag::SEARCH_START y_offset is
|
||||
relative from origin, else, it is from parking position */
|
||||
|
||||
move_dpi = dev->motor.base_ydpi;
|
||||
|
|
|
@ -585,7 +585,7 @@ static void gl847_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
|
|||
r->value |= REG_0x01_SHDAREA;
|
||||
|
||||
if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) ||
|
||||
(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION))
|
||||
has_flag(dev->model->flags, ModelFlag::NO_CALIBRATION))
|
||||
{
|
||||
r->value &= ~REG_0x01_DVDSET;
|
||||
}
|
||||
|
@ -1014,7 +1014,7 @@ void CommandSetGl847::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
|
||||
dev->interface->write_registers(regs);
|
||||
|
||||
/* we use GENESYS_FLAG_SHADING_REPARK */
|
||||
/* we use ModelFlag::SHADING_REPARK */
|
||||
dev->set_head_pos_zero(ScanHeadId::PRIMARY);
|
||||
}
|
||||
|
||||
|
@ -1045,7 +1045,7 @@ void CommandSetGl847::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sens
|
|||
float y_offset_calib;
|
||||
mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */
|
||||
|
||||
/* if scanner uses GENESYS_FLAG_SEARCH_START y_offset is
|
||||
/* if scanner uses ModelFlag::SEARCH_START y_offset is
|
||||
relative from origin, else, it is from parking position */
|
||||
|
||||
move_dpi = dev->motor.base_ydpi;
|
||||
|
|
|
@ -541,7 +541,7 @@ Image read_unshuffled_image_from_scanner(Genesys_Device* dev, const ScanSession&
|
|||
1, 1);
|
||||
}
|
||||
|
||||
if ((dev->model->flags & GENESYS_FLAG_16BIT_DATA_INVERTED) && session.params.depth == 16) {
|
||||
if (has_flag(dev->model->flags, ModelFlag::INVERTED_16BIT_DATA) && session.params.depth == 16) {
|
||||
pipeline.push_node<ImagePipelineNodeSwap16BitEndian>();
|
||||
}
|
||||
|
||||
|
@ -1297,7 +1297,7 @@ void build_image_pipeline(Genesys_Device* dev, const ScanSession& session)
|
|||
"_0_before_swap.pnm");
|
||||
}
|
||||
|
||||
if ((dev->model->flags & GENESYS_FLAG_16BIT_DATA_INVERTED) && depth == 16) {
|
||||
if (has_flag(dev->model->flags, ModelFlag::INVERTED_16BIT_DATA) && depth == 16) {
|
||||
dev->pipeline.push_node<ImagePipelineNodeSwap16BitEndian>();
|
||||
}
|
||||
|
||||
|
@ -1349,8 +1349,8 @@ void build_image_pipeline(Genesys_Device* dev, const ScanSession& session)
|
|||
"_3_after_stagger.pnm");
|
||||
}
|
||||
|
||||
if ((dev->model->flags & GENESYS_FLAG_CALIBRATION_HOST_SIDE) &&
|
||||
!(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION))
|
||||
if (has_flag(dev->model->flags, ModelFlag::CALIBRATION_HOST_SIDE) &&
|
||||
!has_flag(dev->model->flags, ModelFlag::NO_CALIBRATION))
|
||||
{
|
||||
dev->pipeline.push_node<ImagePipelineNodeCalibrate>(dev->dark_average_data,
|
||||
dev->white_average_data);
|
||||
|
|
|
@ -108,39 +108,6 @@
|
|||
#define GENESYS_GREEN 1
|
||||
#define GENESYS_BLUE 2
|
||||
|
||||
/* Flags */
|
||||
#define GENESYS_FLAG_UNTESTED (1 << 0) /**< Print a warning for these scanners */
|
||||
#define GENESYS_FLAG_14BIT_GAMMA (1 << 1) /**< use 14bit Gamma table instead of 12 */
|
||||
#define GENESYS_FLAG_XPA (1 << 3)
|
||||
#define GENESYS_FLAG_SKIP_WARMUP (1 << 4) /**< skip genesys_warmup() */
|
||||
/** @brief offset calibration flag
|
||||
* signals that the scanner does offset calibration. In this case off_calibration() and
|
||||
* coarse_gain_calibration() functions must be implemented
|
||||
*/
|
||||
#define GENESYS_FLAG_OFFSET_CALIBRATION (1 << 5)
|
||||
#define GENESYS_FLAG_SEARCH_START (1 << 6) /**< do start search before scanning */
|
||||
#define GENESYS_FLAG_REPARK (1 << 7) /**< repark head (and check for lock) by
|
||||
moving without scanning */
|
||||
#define GENESYS_FLAG_DARK_CALIBRATION (1 << 8) /**< do dark calibration */
|
||||
|
||||
#define GENESYS_FLAG_MUST_WAIT (1 << 10) /**< tells wether the scanner must wait for the head when parking */
|
||||
|
||||
|
||||
#define GENESYS_FLAG_HAS_UTA (1 << 11) /**< scanner has a transparency adapter */
|
||||
|
||||
#define GENESYS_FLAG_DARK_WHITE_CALIBRATION (1 << 12) /**< yet another calibration method. does white and dark shading in one run, depending on a black and a white strip*/
|
||||
#define GENESYS_FLAG_CUSTOM_GAMMA (1 << 13) /**< allow custom gamma tables */
|
||||
#define GENESYS_FLAG_NO_CALIBRATION (1 << 14) /**< allow scanners to use skip the calibration, needed for sheetfed scanners */
|
||||
#define GENESYS_FLAG_SIS_SENSOR (1 << 16) /**< handling of multi-segments sensors in software */
|
||||
#define GENESYS_FLAG_SHADING_NO_MOVE (1 << 17) /**< scanner doesn't move sensor during shading calibration */
|
||||
#define GENESYS_FLAG_SHADING_REPARK (1 << 18) /**< repark head between shading scans */
|
||||
#define GENESYS_FLAG_FULL_HWDPI_MODE (1 << 19) /**< scanner always use maximum hw dpi to setup the sensor */
|
||||
// scanner has infrared transparency scanning capability
|
||||
#define GENESYS_FLAG_HAS_UTA_INFRARED (1 << 20)
|
||||
// scanner calibration is handled on the host side
|
||||
#define GENESYS_FLAG_CALIBRATION_HOST_SIDE (1 << 21)
|
||||
#define GENESYS_FLAG_16BIT_DATA_INVERTED (1 << 22)
|
||||
|
||||
#define GENESYS_HAS_NO_BUTTONS 0 /**< scanner has no supported button */
|
||||
#define GENESYS_HAS_SCAN_SW (1 << 0) /**< scanner has SCAN button */
|
||||
#define GENESYS_HAS_FILE_SW (1 << 1) /**< scanner has FILE button */
|
||||
|
|
|
@ -112,7 +112,7 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_UMAX;
|
||||
model.gpio_id = GpioId::UMAX;
|
||||
model.motor_id = MotorId::UMAX;
|
||||
model.flags = GENESYS_FLAG_UNTESTED;
|
||||
model.flags = ModelFlag::UNTESTED;
|
||||
model.buttons = GENESYS_HAS_NO_BUTTONS;
|
||||
model.shading_lines = 20;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -170,10 +170,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_LIDE_35;
|
||||
model.gpio_id = GpioId::CANON_LIDE_35;
|
||||
model.motor_id = MotorId::CANON_LIDE_35;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_DARK_WHITE_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::DARK_WHITE_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW |
|
||||
GENESYS_HAS_FILE_SW |
|
||||
GENESYS_HAS_EMAIL_SW |
|
||||
|
@ -234,9 +234,9 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::KVSS080;
|
||||
model.gpio_id = GpioId::KVSS080;
|
||||
model.motor_id = MotorId::KVSS080;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -294,10 +294,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::G4050;
|
||||
model.gpio_id = GpioId::G4050;
|
||||
model.motor_id = MotorId::G4050;
|
||||
model.flags = GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_SHADING_REPARK |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::SHADING_REPARK |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -353,10 +353,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::G4050;
|
||||
model.gpio_id = GpioId::G4050;
|
||||
model.motor_id = MotorId::G4050;
|
||||
model.flags = GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -414,10 +414,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::G4050;
|
||||
model.gpio_id = GpioId::G4050;
|
||||
model.motor_id = MotorId::G4050;
|
||||
model.flags = GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -475,12 +475,12 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_4400F;
|
||||
model.gpio_id = GpioId::CANON_4400F;
|
||||
model.motor_id = MotorId::CANON_4400F;
|
||||
model.flags = GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_FULL_HWDPI_MODE |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_SHADING_REPARK;
|
||||
model.flags = ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::FULL_HWDPI_MODE |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::SHADING_REPARK;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -546,14 +546,12 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_8400F;
|
||||
model.gpio_id = GpioId::CANON_8400F;
|
||||
model.motor_id = MotorId::CANON_8400F;
|
||||
model.flags = GENESYS_FLAG_HAS_UTA |
|
||||
GENESYS_FLAG_HAS_UTA_INFRARED |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_FULL_HWDPI_MODE |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_SHADING_REPARK;
|
||||
model.flags = ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::FULL_HWDPI_MODE |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::SHADING_REPARK;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 50;
|
||||
|
@ -615,14 +613,12 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_8600F;
|
||||
model.gpio_id = GpioId::CANON_8600F;
|
||||
model.motor_id = MotorId::CANON_8600F;
|
||||
model.flags = GENESYS_FLAG_HAS_UTA |
|
||||
GENESYS_FLAG_HAS_UTA_INFRARED |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_FULL_HWDPI_MODE |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_SHADING_REPARK;
|
||||
model.flags = ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::FULL_HWDPI_MODE |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::SHADING_REPARK;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW;
|
||||
model.shading_lines = 50;
|
||||
model.shading_ta_lines = 50;
|
||||
|
@ -680,12 +676,12 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_LIDE_200;
|
||||
model.gpio_id = GpioId::CANON_LIDE_200;
|
||||
model.motor_id = MotorId::CANON_LIDE_100;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_SIS_SENSOR |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_SHADING_REPARK |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::SIS_SENSOR |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::SHADING_REPARK |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW |
|
||||
GENESYS_HAS_COPY_SW |
|
||||
GENESYS_HAS_EMAIL_SW |
|
||||
|
@ -745,11 +741,11 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_LIDE_110;
|
||||
model.gpio_id = GpioId::CANON_LIDE_110;
|
||||
model.motor_id = MotorId::CANON_LIDE_110;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_SHADING_REPARK |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::SHADING_REPARK |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW |
|
||||
GENESYS_HAS_COPY_SW |
|
||||
GENESYS_HAS_EMAIL_SW |
|
||||
|
@ -808,11 +804,11 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_LIDE_120;
|
||||
model.gpio_id = GpioId::CANON_LIDE_120;
|
||||
model.motor_id = MotorId::CANON_LIDE_120;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_SHADING_REPARK |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::SHADING_REPARK |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW |
|
||||
GENESYS_HAS_COPY_SW |
|
||||
GENESYS_HAS_EMAIL_SW |
|
||||
|
@ -874,11 +870,11 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_LIDE_110;
|
||||
model.gpio_id = GpioId::CANON_LIDE_210;
|
||||
model.motor_id = MotorId::CANON_LIDE_210;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_SHADING_REPARK |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::SHADING_REPARK |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW |
|
||||
GENESYS_HAS_COPY_SW |
|
||||
GENESYS_HAS_EMAIL_SW |
|
||||
|
@ -940,11 +936,11 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_LIDE_110;
|
||||
model.gpio_id = GpioId::CANON_LIDE_210;
|
||||
model.motor_id = MotorId::CANON_LIDE_210;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_SHADING_REPARK |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::SHADING_REPARK |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW |
|
||||
GENESYS_HAS_COPY_SW |
|
||||
GENESYS_HAS_EMAIL_SW |
|
||||
|
@ -1006,12 +1002,12 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_LIDE_200;
|
||||
model.gpio_id = GpioId::CANON_LIDE_200;
|
||||
model.motor_id = MotorId::CANON_LIDE_200;
|
||||
model.flags = GENESYS_FLAG_UNTESTED |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_SIS_SENSOR |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::UNTESTED |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::SIS_SENSOR |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW |
|
||||
GENESYS_HAS_COPY_SW |
|
||||
GENESYS_HAS_EMAIL_SW |
|
||||
|
@ -1071,12 +1067,12 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_LIDE_700F;
|
||||
model.gpio_id = GpioId::CANON_LIDE_700F;
|
||||
model.motor_id = MotorId::CANON_LIDE_700;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_SIS_SENSOR |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_SHADING_REPARK |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::SIS_SENSOR |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::SHADING_REPARK |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW |
|
||||
GENESYS_HAS_COPY_SW |
|
||||
GENESYS_HAS_EMAIL_SW |
|
||||
|
@ -1136,12 +1132,12 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_LIDE_200;
|
||||
model.gpio_id = GpioId::CANON_LIDE_200;
|
||||
model.motor_id = MotorId::CANON_LIDE_200;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_SIS_SENSOR |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_SHADING_REPARK |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::SIS_SENSOR |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::SHADING_REPARK |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW |
|
||||
GENESYS_HAS_COPY_SW |
|
||||
GENESYS_HAS_EMAIL_SW |
|
||||
|
@ -1201,10 +1197,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_LIDE_35;
|
||||
model.gpio_id = GpioId::CANON_LIDE_35;
|
||||
model.motor_id = MotorId::CANON_LIDE_35;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_DARK_WHITE_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::DARK_WHITE_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
|
||||
model.buttons = GENESYS_HAS_COPY_SW |
|
||||
GENESYS_HAS_SCAN_SW |
|
||||
|
@ -1265,10 +1261,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_LIDE_80;
|
||||
model.gpio_id = GpioId::CANON_LIDE_80;
|
||||
model.motor_id = MotorId::CANON_LIDE_80;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_DARK_WHITE_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::DARK_WHITE_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW |
|
||||
GENESYS_HAS_FILE_SW |
|
||||
GENESYS_HAS_EMAIL_SW |
|
||||
|
@ -1328,12 +1324,12 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_HP2300;
|
||||
model.gpio_id = GpioId::HP2300;
|
||||
model.motor_id = MotorId::HP2300;
|
||||
model.flags = GENESYS_FLAG_14BIT_GAMMA |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_SEARCH_START |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::GAMMA_14BIT |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::SEARCH_START |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW;
|
||||
model.shading_lines = 40;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -1391,11 +1387,11 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_HP2400;
|
||||
model.gpio_id = GpioId::HP2400;
|
||||
model.motor_id = MotorId::HP2400;
|
||||
model.flags = GENESYS_FLAG_14BIT_GAMMA |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::GAMMA_14BIT |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_SCAN_SW;
|
||||
model.shading_lines = 20;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -1453,11 +1449,11 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::AD_XP200;
|
||||
model.gpio_id = GpioId::XP200;
|
||||
model.motor_id = MotorId::XP200;
|
||||
model.flags = GENESYS_FLAG_14BIT_GAMMA |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION;
|
||||
model.flags = ModelFlag::GAMMA_14BIT |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::OFFSET_CALIBRATION;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
|
||||
model.shading_lines = 120;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -1515,11 +1511,11 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_HP3670;
|
||||
model.gpio_id = GpioId::HP3670;
|
||||
model.motor_id = MotorId::HP3670;
|
||||
model.flags = GENESYS_FLAG_14BIT_GAMMA |
|
||||
GENESYS_FLAG_XPA |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::GAMMA_14BIT |
|
||||
ModelFlag::XPA |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_SCAN_SW;
|
||||
model.shading_lines = 20;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -1577,7 +1573,7 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_ST12;
|
||||
model.gpio_id = GpioId::ST12;
|
||||
model.motor_id = MotorId::UMAX;
|
||||
model.flags = GENESYS_FLAG_UNTESTED | GENESYS_FLAG_14BIT_GAMMA;
|
||||
model.flags = ModelFlag::UNTESTED | ModelFlag::GAMMA_14BIT;
|
||||
model.buttons = GENESYS_HAS_NO_BUTTONS;
|
||||
model.shading_lines = 20;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -1634,11 +1630,11 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_ST24;
|
||||
model.gpio_id = GpioId::ST24;
|
||||
model.motor_id = MotorId::ST24;
|
||||
model.flags = GENESYS_FLAG_UNTESTED |
|
||||
GENESYS_FLAG_14BIT_GAMMA |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_SEARCH_START |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION;
|
||||
model.flags = ModelFlag::UNTESTED |
|
||||
ModelFlag::GAMMA_14BIT |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::SEARCH_START |
|
||||
ModelFlag::OFFSET_CALIBRATION;
|
||||
model.buttons = GENESYS_HAS_NO_BUTTONS;
|
||||
model.shading_lines = 20;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -1694,12 +1690,12 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_5345;
|
||||
model.gpio_id = GpioId::MD_5345;
|
||||
model.motor_id = MotorId::MD_5345;
|
||||
model.flags = GENESYS_FLAG_14BIT_GAMMA |
|
||||
GENESYS_FLAG_SEARCH_START |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_SHADING_NO_MOVE |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::GAMMA_14BIT |
|
||||
ModelFlag::SEARCH_START |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::SHADING_NO_MOVE |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_COPY_SW |
|
||||
GENESYS_HAS_EMAIL_SW |
|
||||
GENESYS_HAS_POWER_SW |
|
||||
|
@ -1760,10 +1756,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_XP300;
|
||||
model.gpio_id = GpioId::XP300;
|
||||
model.motor_id = MotorId::XP300;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -1820,10 +1816,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_XP300;
|
||||
model.gpio_id = GpioId::DP665;
|
||||
model.motor_id = MotorId::DP665;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -1880,10 +1876,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_XP300;
|
||||
model.gpio_id = GpioId::DP665;
|
||||
model.motor_id = MotorId::ROADWARRIOR;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_DARK_CALIBRATION;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::DARK_CALIBRATION;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -1940,10 +1936,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_XP300;
|
||||
model.gpio_id = GpioId::DP665;
|
||||
model.motor_id = MotorId::ROADWARRIOR;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_NO_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_UNTESTED;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::NO_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::UNTESTED;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW;
|
||||
model.shading_lines = 300;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -2001,10 +1997,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_XP300;
|
||||
model.gpio_id = GpioId::DP665;
|
||||
model.motor_id = MotorId::ROADWARRIOR;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_DARK_CALIBRATION;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::DARK_CALIBRATION;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -2061,10 +2057,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_DSM600;
|
||||
model.gpio_id = GpioId::DP665;
|
||||
model.motor_id = MotorId::DSMOBILE_600;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_DARK_CALIBRATION;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::DARK_CALIBRATION;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -2122,10 +2118,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_DSM600;
|
||||
model.gpio_id = GpioId::DP665;
|
||||
model.motor_id = MotorId::DSMOBILE_600;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_DARK_CALIBRATION;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::DARK_CALIBRATION;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -2182,10 +2178,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_DSM600;
|
||||
model.gpio_id = GpioId::DP685;
|
||||
model.motor_id = MotorId::XP300;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_DARK_CALIBRATION;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::DARK_CALIBRATION;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -2244,10 +2240,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_XP300;
|
||||
model.gpio_id = GpioId::XP300;
|
||||
model.motor_id = MotorId::XP300;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_DARK_CALIBRATION;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::DARK_CALIBRATION;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -2305,11 +2301,11 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_XP300;
|
||||
model.gpio_id = GpioId::XP300;
|
||||
model.motor_id = MotorId::XP300;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_UNTESTED;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::UNTESTED;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -2366,11 +2362,11 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_5345;
|
||||
model.gpio_id = GpioId::MD_5345;
|
||||
model.motor_id = MotorId::MD_5345;
|
||||
model.flags = GENESYS_FLAG_14BIT_GAMMA |
|
||||
GENESYS_FLAG_SEARCH_START |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::GAMMA_14BIT |
|
||||
ModelFlag::SEARCH_START |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_COPY_SW |
|
||||
GENESYS_HAS_EMAIL_SW |
|
||||
GENESYS_HAS_POWER_SW |
|
||||
|
@ -2431,11 +2427,11 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_5345;
|
||||
model.gpio_id = GpioId::MD_5345;
|
||||
model.motor_id = MotorId::MD_5345;
|
||||
model.flags = GENESYS_FLAG_14BIT_GAMMA |
|
||||
GENESYS_FLAG_SEARCH_START |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::GAMMA_14BIT |
|
||||
ModelFlag::SEARCH_START |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_COPY_SW |
|
||||
GENESYS_HAS_EMAIL_SW |
|
||||
GENESYS_HAS_POWER_SW |
|
||||
|
@ -2497,10 +2493,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::WOLFSON_XP300;
|
||||
model.gpio_id = GpioId::DP665;
|
||||
model.motor_id = MotorId::ROADWARRIOR;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_DARK_CALIBRATION;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::DARK_CALIBRATION;
|
||||
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -2558,11 +2554,11 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::PLUSTEK_OPTICPRO_3600;
|
||||
model.gpio_id = GpioId::PLUSTEK_OPTICPRO_3600;
|
||||
model.motor_id = MotorId::PLUSTEK_OPTICPRO_3600;
|
||||
model.flags = GENESYS_FLAG_UNTESTED | // not fully working yet
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION;
|
||||
model.flags = ModelFlag::UNTESTED | // not fully working yet
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::OFFSET_CALIBRATION;
|
||||
model.buttons = GENESYS_HAS_NO_BUTTONS;
|
||||
model.shading_lines = 7;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -2621,16 +2617,13 @@ void genesys_init_usb_device_tables()
|
|||
model.gpio_id = GpioId::PLUSTEK_OPTICFILM_7200I;
|
||||
model.motor_id = MotorId::PLUSTEK_OPTICFILM_7200I;
|
||||
|
||||
model.flags = GENESYS_FLAG_HAS_UTA |
|
||||
GENESYS_FLAG_HAS_UTA_INFRARED |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_HAS_NO_BUTTONS |
|
||||
GENESYS_FLAG_SHADING_REPARK |
|
||||
GENESYS_FLAG_CALIBRATION_HOST_SIDE |
|
||||
GENESYS_FLAG_16BIT_DATA_INVERTED;
|
||||
model.flags = ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::SHADING_REPARK |
|
||||
ModelFlag::CALIBRATION_HOST_SIDE |
|
||||
ModelFlag::INVERTED_16BIT_DATA;
|
||||
|
||||
model.shading_lines = 7;
|
||||
model.shading_ta_lines = 50;
|
||||
|
@ -2688,14 +2681,12 @@ void genesys_init_usb_device_tables()
|
|||
model.gpio_id = GpioId::PLUSTEK_OPTICFILM_7300;
|
||||
model.motor_id = MotorId::PLUSTEK_OPTICFILM_7300;
|
||||
|
||||
model.flags = GENESYS_FLAG_HAS_UTA |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_HAS_NO_BUTTONS |
|
||||
GENESYS_FLAG_SHADING_REPARK |
|
||||
GENESYS_FLAG_CALIBRATION_HOST_SIDE;
|
||||
model.flags = ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::SHADING_REPARK |
|
||||
ModelFlag::CALIBRATION_HOST_SIDE;
|
||||
|
||||
model.shading_lines = 7;
|
||||
model.shading_ta_lines = 50;
|
||||
|
@ -2753,15 +2744,12 @@ void genesys_init_usb_device_tables()
|
|||
model.gpio_id = GpioId::PLUSTEK_OPTICFILM_7500I;
|
||||
model.motor_id = MotorId::PLUSTEK_OPTICFILM_7500I;
|
||||
|
||||
model.flags = GENESYS_FLAG_HAS_UTA |
|
||||
GENESYS_FLAG_HAS_UTA_INFRARED |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_HAS_NO_BUTTONS |
|
||||
GENESYS_FLAG_SHADING_REPARK |
|
||||
GENESYS_FLAG_CALIBRATION_HOST_SIDE;
|
||||
model.flags = ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::SHADING_REPARK |
|
||||
ModelFlag::CALIBRATION_HOST_SIDE;
|
||||
|
||||
model.shading_lines = 7;
|
||||
model.shading_ta_lines = 50;
|
||||
|
@ -2818,13 +2806,13 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::CANON_LIDE_200; // Not defined yet for N6310
|
||||
model.gpio_id = GpioId::HP_N6310;
|
||||
model.motor_id = MotorId::CANON_LIDE_200; // Not defined yet for N6310
|
||||
model.flags = GENESYS_FLAG_UNTESTED |
|
||||
GENESYS_FLAG_14BIT_GAMMA |
|
||||
GENESYS_FLAG_DARK_CALIBRATION |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_NO_CALIBRATION;
|
||||
model.flags = ModelFlag::UNTESTED |
|
||||
ModelFlag::GAMMA_14BIT |
|
||||
ModelFlag::DARK_CALIBRATION |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::NO_CALIBRATION;
|
||||
|
||||
model.buttons = GENESYS_HAS_NO_BUTTONS;
|
||||
model.shading_lines = 100;
|
||||
|
@ -2883,9 +2871,9 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::PLUSTEK_OPTICBOOK_3800;
|
||||
model.gpio_id = GpioId::PLUSTEK_OPTICBOOK_3800;
|
||||
model.motor_id = MotorId::PLUSTEK_OPTICBOOK_3800;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA;
|
||||
model.buttons = GENESYS_HAS_NO_BUTTONS; // TODO there are 4 buttons to support
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
@ -2943,10 +2931,10 @@ void genesys_init_usb_device_tables()
|
|||
model.adc_id = AdcId::IMG101;
|
||||
model.gpio_id = GpioId::IMG101;
|
||||
model.motor_id = MotorId::IMG101;
|
||||
model.flags = GENESYS_FLAG_SKIP_WARMUP |
|
||||
GENESYS_FLAG_OFFSET_CALIBRATION |
|
||||
GENESYS_FLAG_CUSTOM_GAMMA |
|
||||
GENESYS_FLAG_UNTESTED;
|
||||
model.flags = ModelFlag::SKIP_WARMUP |
|
||||
ModelFlag::OFFSET_CALIBRATION |
|
||||
ModelFlag::CUSTOM_GAMMA |
|
||||
ModelFlag::UNTESTED;
|
||||
model.buttons = GENESYS_HAS_NO_BUTTONS ;
|
||||
model.shading_lines = 100;
|
||||
model.shading_ta_lines = 0;
|
||||
|
|
|
@ -394,7 +394,7 @@ std::vector<TestConfig> get_all_test_configs()
|
|||
std::unordered_set<std::string> model_names;
|
||||
|
||||
for (const auto& usb_dev : *genesys::s_usb_devices) {
|
||||
if (usb_dev.model.flags & GENESYS_FLAG_UNTESTED) {
|
||||
if (genesys::has_flag(usb_dev.model.flags, genesys::ModelFlag::UNTESTED)) {
|
||||
continue;
|
||||
}
|
||||
if (model_names.find(usb_dev.model.name) != model_names.end()) {
|
||||
|
|
Ładowanie…
Reference in New Issue