genesys: Move model flags to a separate enum

merge-requests/340/head
Povilas Kanapickas 2020-02-02 14:08:52 +02:00
rodzic de10ace2e6
commit e59401ed6b
13 zmienionych plików z 368 dodań i 331 usunięć

Wyświetl plik

@ -210,8 +210,8 @@ struct Genesys_Model
// stepper motor type // stepper motor type
MotorId motor_id = MotorId::UNKNOWN; MotorId motor_id = MotorId::UNKNOWN;
// Which hacks are needed for this scanner? // Which customizations are needed for this scanner?
SANE_Word flags = 0; ModelFlag flags = ModelFlag::NONE;
// Button flags, described existing buttons for the model // Button flags, described existing buttons for the model
SANE_Word buttons = 0; SANE_Word buttons = 0;

Wyświetl plik

@ -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 enum class ScanFlag : unsigned
{ {
NONE = 0, NONE = 0,

Wyświetl plik

@ -382,7 +382,7 @@ void sanei_genesys_create_default_gamma_table(Genesys_Device* dev,
int size = 0; int size = 0;
int max = 0; int max = 0;
if (dev->model->asic_type == AsicType::GL646) { 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; size = 16384;
} else { } else {
size = 4096; 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); 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; return;
} }
@ -1668,8 +1668,7 @@ static void genesys_shading_calibration_impl(Genesys_Device* dev, const Genesys_
std::vector<uint16_t> calibration_data(size / 2); std::vector<uint16_t> calibration_data(size / 2);
bool motor = true; bool motor = true;
if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE) if (has_flag(dev->model->flags, ModelFlag::SHADING_NO_MOVE)) {
{
motor = false; motor = false;
} }
@ -1688,7 +1687,7 @@ static void genesys_shading_calibration_impl(Genesys_Device* dev, const Genesys_
if (is_dark) { if (is_dark) {
// wait some time to let lamp to get dark // wait some time to let lamp to get dark
dev->interface->sleep_ms(200); 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 // make sure lamp is bright again
// FIXME: what about scanners that take a long time to warm the lamp? // FIXME: what about scanners that take a long time to warm the lamp?
dev->interface->sleep_ms(500); 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); 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) { for (std::size_t i = 0; i < size / 2; ++i) {
auto value = calibration_data[i]; auto value = calibration_data[i];
value = ((value >> 8) & 0xff) | ((value << 8) & 0xff00); 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) static void genesys_repark_sensor_before_shading(Genesys_Device* dev)
{ {
DBG_HELPER(dbg); 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); dev->cmd_set->move_back_home(dev, true);
if (dev->settings.scan_method == ScanMethod::TRANSPARENCY || 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) static void genesys_repark_sensor_after_white_shading(Genesys_Device* dev)
{ {
DBG_HELPER(dbg); 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); 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); std::vector<uint8_t> calibration_data(size);
bool motor = true; bool motor = true;
if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE) if (has_flag(dev->model->flags, ModelFlag::SHADING_NO_MOVE)) {
{
motor = false; motor = false;
} }
@ -2463,7 +2461,7 @@ static void genesys_send_shading_coefficient(Genesys_Device* dev, const Genesys_
{ {
DBG_HELPER(dbg); DBG_HELPER(dbg);
if (dev->model->flags & GENESYS_FLAG_CALIBRATION_HOST_SIDE) { if (has_flag(dev->model->flags, ModelFlag::CALIBRATION_HOST_SIDE)) {
return; return;
} }
@ -2861,8 +2859,7 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
} }
/* do offset calibration if needed */ /* do offset calibration if needed */
if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) if (has_flag(dev->model->flags, ModelFlag::OFFSET_CALIBRATION)) {
{
dev->interface->record_progress_message("offset_calibration"); dev->interface->record_progress_message("offset_calibration");
dev->cmd_set->offset_calibration(dev, sensor, dev->calib_reg); 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 */ /* 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->interface->record_progress_message("offset_calibration");
dev->cmd_set->offset_calibration(dev, sensor, dev->calib_reg); 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 */ /* 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) / pixels_per_line = static_cast<std::uint32_t>((dev->model->x_size * dev->settings.xres) /
MM_PER_INCH); MM_PER_INCH);
} }
@ -2943,7 +2939,7 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
} }
// shading calibration // shading calibration
if (dev->model->flags & GENESYS_FLAG_DARK_WHITE_CALIBRATION) { if (has_flag(dev->model->flags, ModelFlag::DARK_WHITE_CALIBRATION)) {
dev->interface->record_progress_message("init_regs_for_shading"); dev->interface->record_progress_message("init_regs_for_shading");
dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg); dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg);
@ -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__); DBG(DBG_proc, "%s : genesys_dark_shading_calibration dev->calib_reg ", __func__);
debug_dump(DBG_proc, dev->calib_reg); debug_dump(DBG_proc, dev->calib_reg);
if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) { if (has_flag(dev->model->flags, ModelFlag::DARK_CALIBRATION)) {
dev->interface->record_progress_message("init_regs_for_shading"); dev->interface->record_progress_message("init_regs_for_shading");
dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg); dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg);
@ -2969,7 +2965,7 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
genesys_white_shading_calibration(dev, sensor); genesys_white_shading_calibration(dev, sensor);
genesys_repark_sensor_after_white_shading(dev); genesys_repark_sensor_after_white_shading(dev);
if (!(dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION)) { if (!has_flag(dev->model->flags, ModelFlag::DARK_CALIBRATION)) {
genesys_dummy_dark_shading(dev, sensor); genesys_dummy_dark_shading(dev, sensor);
} }
} }
@ -3023,8 +3019,7 @@ static void genesys_sheetfed_calibration(Genesys_Device* dev, Genesys_Sensor& se
} }
/* calibrate afe */ /* 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); dev->cmd_set->offset_calibration(dev, sensor, dev->calib_reg);
/* since all the registers are set up correctly, just use them */ /* since all the registers are set up correctly, just use them */
@ -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 /* search for a full width black strip and then do a 16 bit scan to
* gather black shading data */ * gather black shading data */
if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) if (has_flag(dev->model->flags, ModelFlag::DARK_CALIBRATION)) {
{ // seek black/white reverse/forward
/* seek black/white reverse/forward */
try { try {
dev->cmd_set->search_strip(dev, sensor, forward, true); dev->cmd_set->search_strip(dev, sensor, forward, true);
} catch (...) { } 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 // 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() ? // FIXME: shouldn't we use genesys_dummy_dark_shading() ?
if (!(dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION)) { if (!has_flag(dev->model->flags, ModelFlag::DARK_CALIBRATION)) {
dev->dark_average_data.clear(); dev->dark_average_data.clear();
dev->dark_average_data.resize(dev->average_size, 0x0f0f); dev->dark_average_data.resize(dev->average_size, 0x0f0f);
/* XXX STEF XXX /* XXX STEF XXX
* with black point in white shading, build an average black * 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 /* wait for lamp warmup : until a warmup for TRANSPARENCY is designed, skip
* it when scanning from XPA. */ * it when scanning from XPA. */
if (!(dev->model->flags & GENESYS_FLAG_SKIP_WARMUP) if (!has_flag(dev->model->flags, ModelFlag::SKIP_WARMUP) &&
&& (dev->settings.scan_method == ScanMethod::FLATBED)) (dev->settings.scan_method == ScanMethod::FLATBED))
{ {
genesys_warmup_lamp(dev); 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 */ /* set top left x and y values by scanning the internals if flatbed scanners */
if (!dev->model->is_sheetfed) { if (!dev->model->is_sheetfed) {
/* do the geometry detection only once */ /* do the geometry detection only once */
if ((dev->model->flags & GENESYS_FLAG_SEARCH_START) if (has_flag(dev->model->flags, ModelFlag::SEARCH_START) &&
&& (dev->model->y_offset_calib_white == 0)) (dev->model->y_offset_calib_white == 0))
{ {
dev->cmd_set->search_start_position (dev); dev->cmd_set->search_start_position (dev);
dev->parking = false; 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 */ /* calibration : sheetfed scanners can't calibrate before each scan */
/* and also those who have the NO_CALIBRATION flag */ /* 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_scanner_calibration(dev, sensor);
genesys_save_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 /* GL124 is using SHDAREA, so we have to wait for scan to be set up before
* sending shading data */ * sending shading data */
if (dev->cmd_set->has_send_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); 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 /* issue park command immediatly in case scanner can handle it
* so we save time */ * 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->parking)
{ {
dev->cmd_set->move_back_home(dev, false); 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 /* we need an even pixels number
* TODO invert test logic or generalize behaviour across all ASICs */ * 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::GL847 ||
s->dev->model->asic_type == AsicType::GL124 || s->dev->model->asic_type == AsicType::GL124 ||
s->dev->model->asic_type == AsicType::GL845 || 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: /** @brief this function initialize a gamma vector based on the ASIC:
* Set up a default gamma table vector based on device description * 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 * gl84x: 16 bits
* gl12x: 16 bits * gl12x: 16 bits
* @param scanner pointer to scanner session to get options * @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].unit = SANE_UNIT_NONE;
scanner->opt[option].constraint_type = SANE_CONSTRAINT_RANGE; scanner->opt[option].constraint_type = SANE_CONSTRAINT_RANGE;
if (scanner->dev->model->asic_type == AsicType::GL646) { 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].size = 16384 * sizeof (SANE_Word);
scanner->opt[option].constraint.range = &u14_range; 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, /* currently, there are only gamma table options in this group,
* so if the scanner doesn't support gamma table, disable the * so if the scanner doesn't support gamma table, disable the
* whole group */ * 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_ENHANCEMENT_GROUP].cap |= SANE_CAP_INACTIVE;
s->opt[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_INACTIVE; s->opt[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_INACTIVE;
DBG(DBG_info, "%s: custom gamma disabled\n", __func__); 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 * computing so we can save time
*/ */
if (!dev->model->is_sheetfed && !dev->parking) { if (!dev->model->is_sheetfed && !dev->parking) {
dev->cmd_set->move_back_home(dev, dev->model->flags & GENESYS_FLAG_MUST_WAIT); dev->cmd_set->move_back_home(dev, has_flag(dev->model->flags, ModelFlag::MUST_WAIT));
dev->parking = !(s->dev->model->flags & GENESYS_FLAG_MUST_WAIT); dev->parking = !has_flag(s->dev->model->flags, ModelFlag::MUST_WAIT);
} }
/* in case of dynamic lineart, we have buffered gray data which /* 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); 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, "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, " had only limited testing. Please be careful and \n");
DBG(DBG_error0, " report any failure/success to \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 /* issue park command immediatly in case scanner can handle it
* so we save time */ * 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->parking)
{ {
dev->cmd_set->move_back_home(dev, false); dev->cmd_set->move_back_home(dev, false);
@ -6097,10 +6088,10 @@ void sane_cancel_impl(SANE_Handle handle)
/* park head if flatbed scanner */ /* park head if flatbed scanner */
if (!s->dev->model->is_sheetfed) { if (!s->dev->model->is_sheetfed) {
if (!s->dev->parking) { if (!s->dev->parking) {
s->dev->cmd_set->move_back_home (s->dev, s->dev->model->flags & s->dev->cmd_set->move_back_home (s->dev, has_flag(s->dev->model->flags,
GENESYS_FLAG_MUST_WAIT); 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 else

Wyświetl plik

@ -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); regs_set_optical_off(dev->model->asic_type, *reg);
r = sanei_genesys_get_address (reg, REG_0x01); r = sanei_genesys_get_address (reg, REG_0x01);
if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) || 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; r->value &= ~REG_0x01_DVDSET;
} else { } else {

Wyświetl plik

@ -232,9 +232,8 @@ void CommandSetGl646::init_regs_for_scan_session(Genesys_Device* dev, const Gene
regs->find_reg(0x01).value &= ~REG_0x01_CISSET; regs->find_reg(0x01).value &= ~REG_0x01_CISSET;
} }
/* if device has no calibration, don't enable shading correction */ // if device has no calibration, don't enable shading correction
if (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION) if (has_flag(dev->model->flags, ModelFlag::NO_CALIBRATION)) {
{
regs->find_reg(0x01).value &= ~REG_0x01_DVDSET; 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); sanei_genesys_set_dpihw(*regs, sensor, sensor.optical_res);
/* gamma enable for scans */ /* 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; 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 */ 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); 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; dev->reg.find_reg(0x05).value |= REG_0x05_GMM14BIT;
} }
if (dev->model->adc_id == AdcId::AD_XP200) { 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 address;
int bits; int bits;
/* gamma table size */ if (has_flag(dev->model->flags, ModelFlag::GAMMA_14BIT)) {
if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA)
{
size = 16384; size = 16384;
bits = 14; bits = 14;
} }
@ -2828,16 +2825,13 @@ void CommandSetGl646::init(Genesys_Device* dev) const
/* ensure head is correctly parked, and check lock */ /* ensure head is correctly parked, and check lock */
if (!dev->model->is_sheetfed) { 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 // 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 // the user should unlock the lock. We should also rethrow with SANE_STATUS_JAMMED
gl646_repark_head(dev); gl646_repark_head(dev);
} } else {
else
{
move_back_home(dev, true); move_back_home(dev, true);
} }
} }
/* here session and device are initialized */ /* here session and device are initialized */
@ -3130,8 +3124,7 @@ void CommandSetGl646::update_hardware_sensors(Genesys_Scanner* session) const
} }
/* XPA detection */ /* XPA detection */
if (dev->model->flags & GENESYS_FLAG_XPA) if (has_flag(dev->model->flags, ModelFlag::XPA)) {
{
switch (dev->model->gpio_id) { switch (dev->model->gpio_id) {
case GpioId::HP3670: case GpioId::HP3670:
case GpioId::HP2400: case GpioId::HP2400:

Wyświetl plik

@ -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 = sanei_genesys_get_address (reg, 0x01);
r->value |= REG_0x01_SCAN; r->value |= REG_0x01_SCAN;
if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) || 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; r->value &= ~REG_0x01_DVDSET;
} else { } else {
r->value |= REG_0x01_DVDSET; 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 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 // relative from origin, else, it is from parking position
float move = 0.0f; 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); 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); sanei_genesys_init_shading_data(dev, sensor, sensor.sensor_pixels);
/* ensure head is correctly parked, and check lock */ /* 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 // 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 // the user should unlock the lock. We should also rethrow with SANE_STATUS_JAMMED
sanei_gl841_repark_head(dev); sanei_gl841_repark_head(dev);

Wyświetl plik

@ -96,7 +96,7 @@ static void gl843_setup_sensor(Genesys_Device* dev, const Genesys_Sensor& sensor
for (const auto& custom_reg : sensor.custom_regs) { for (const auto& custom_reg : sensor.custom_regs) {
regs->set8(custom_reg.address, custom_reg.value); 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_7200I &&
dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7300 && dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7300 &&
dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7500I) 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 ? */ /* Vref XXX STEF XXX : optical divider or step type ? */
r = sanei_genesys_get_address (reg, 0x80); 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; r->value = 0x50;
coeff = sensor.get_hwdpi_divisor_for_dpi(scan_yres); 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); regs_set_optical_off(dev->model->asic_type, *reg);
r = sanei_genesys_get_address (reg, REG_0x01); r = sanei_genesys_get_address (reg, REG_0x01);
if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) || if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) ||
(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION || has_flag(dev->model->flags, ModelFlag::NO_CALIBRATION) ||
(dev->model->flags & GENESYS_FLAG_CALIBRATION_HOST_SIDE))) has_flag(dev->model->flags, ModelFlag::CALIBRATION_HOST_SIDE))
{ {
r->value &= ~REG_0x01_DVDSET; r->value &= ~REG_0x01_DVDSET;
} else { } else {

Wyświetl plik

@ -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 = sanei_genesys_get_address(reg, REG_0x01);
r->value |= REG_0x01_SHDAREA; r->value |= REG_0x01_SHDAREA;
if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) || 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; 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); dev->interface->write_registers(regs);
/* we use GENESYS_FLAG_SHADING_REPARK */ /* we use ModelFlag::SHADING_REPARK */
dev->set_head_pos_zero(ScanHeadId::PRIMARY); 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; float y_offset_calib;
mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */ 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 */ relative from origin, else, it is from parking position */
move_dpi = dev->motor.base_ydpi; move_dpi = dev->motor.base_ydpi;

Wyświetl plik

@ -585,7 +585,7 @@ static void gl847_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
r->value |= REG_0x01_SHDAREA; r->value |= REG_0x01_SHDAREA;
if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) || 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; 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); dev->interface->write_registers(regs);
/* we use GENESYS_FLAG_SHADING_REPARK */ /* we use ModelFlag::SHADING_REPARK */
dev->set_head_pos_zero(ScanHeadId::PRIMARY); 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; float y_offset_calib;
mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */ 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 */ relative from origin, else, it is from parking position */
move_dpi = dev->motor.base_ydpi; move_dpi = dev->motor.base_ydpi;

Wyświetl plik

@ -541,7 +541,7 @@ Image read_unshuffled_image_from_scanner(Genesys_Device* dev, const ScanSession&
1, 1); 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>(); pipeline.push_node<ImagePipelineNodeSwap16BitEndian>();
} }
@ -1297,7 +1297,7 @@ void build_image_pipeline(Genesys_Device* dev, const ScanSession& session)
"_0_before_swap.pnm"); "_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>(); dev->pipeline.push_node<ImagePipelineNodeSwap16BitEndian>();
} }
@ -1349,8 +1349,8 @@ void build_image_pipeline(Genesys_Device* dev, const ScanSession& session)
"_3_after_stagger.pnm"); "_3_after_stagger.pnm");
} }
if ((dev->model->flags & GENESYS_FLAG_CALIBRATION_HOST_SIDE) && if (has_flag(dev->model->flags, ModelFlag::CALIBRATION_HOST_SIDE) &&
!(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) !has_flag(dev->model->flags, ModelFlag::NO_CALIBRATION))
{ {
dev->pipeline.push_node<ImagePipelineNodeCalibrate>(dev->dark_average_data, dev->pipeline.push_node<ImagePipelineNodeCalibrate>(dev->dark_average_data,
dev->white_average_data); dev->white_average_data);

Wyświetl plik

@ -108,34 +108,6 @@
#define GENESYS_GREEN 1 #define GENESYS_GREEN 1
#define GENESYS_BLUE 2 #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_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 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_NO_BUTTONS 0 /**< scanner has no supported button */
#define GENESYS_HAS_SCAN_SW (1 << 0) /**< scanner has SCAN button */ #define GENESYS_HAS_SCAN_SW (1 << 0) /**< scanner has SCAN button */
#define GENESYS_HAS_FILE_SW (1 << 1) /**< scanner has FILE button */ #define GENESYS_HAS_FILE_SW (1 << 1) /**< scanner has FILE button */

Wyświetl plik

@ -112,7 +112,7 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_UMAX; model.adc_id = AdcId::WOLFSON_UMAX;
model.gpio_id = GpioId::UMAX; model.gpio_id = GpioId::UMAX;
model.motor_id = MotorId::UMAX; model.motor_id = MotorId::UMAX;
model.flags = GENESYS_FLAG_UNTESTED; model.flags = ModelFlag::UNTESTED;
model.buttons = GENESYS_HAS_NO_BUTTONS; model.buttons = GENESYS_HAS_NO_BUTTONS;
model.shading_lines = 20; model.shading_lines = 20;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -170,10 +170,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_LIDE_35; model.adc_id = AdcId::CANON_LIDE_35;
model.gpio_id = GpioId::CANON_LIDE_35; model.gpio_id = GpioId::CANON_LIDE_35;
model.motor_id = MotorId::CANON_LIDE_35; model.motor_id = MotorId::CANON_LIDE_35;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_DARK_WHITE_CALIBRATION | ModelFlag::DARK_WHITE_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | model.buttons = GENESYS_HAS_SCAN_SW |
GENESYS_HAS_FILE_SW | GENESYS_HAS_FILE_SW |
GENESYS_HAS_EMAIL_SW | GENESYS_HAS_EMAIL_SW |
@ -234,9 +234,9 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::KVSS080; model.adc_id = AdcId::KVSS080;
model.gpio_id = GpioId::KVSS080; model.gpio_id = GpioId::KVSS080;
model.motor_id = MotorId::KVSS080; model.motor_id = MotorId::KVSS080;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW; model.buttons = GENESYS_HAS_SCAN_SW;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -294,10 +294,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::G4050; model.adc_id = AdcId::G4050;
model.gpio_id = GpioId::G4050; model.gpio_id = GpioId::G4050;
model.motor_id = MotorId::G4050; model.motor_id = MotorId::G4050;
model.flags = GENESYS_FLAG_OFFSET_CALIBRATION | model.flags = ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_SHADING_REPARK | ModelFlag::SHADING_REPARK |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -353,10 +353,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::G4050; model.adc_id = AdcId::G4050;
model.gpio_id = GpioId::G4050; model.gpio_id = GpioId::G4050;
model.motor_id = MotorId::G4050; model.motor_id = MotorId::G4050;
model.flags = GENESYS_FLAG_OFFSET_CALIBRATION | model.flags = ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -414,10 +414,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::G4050; model.adc_id = AdcId::G4050;
model.gpio_id = GpioId::G4050; model.gpio_id = GpioId::G4050;
model.motor_id = MotorId::G4050; model.motor_id = MotorId::G4050;
model.flags = GENESYS_FLAG_OFFSET_CALIBRATION | model.flags = ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -475,12 +475,12 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_4400F; model.adc_id = AdcId::CANON_4400F;
model.gpio_id = GpioId::CANON_4400F; model.gpio_id = GpioId::CANON_4400F;
model.motor_id = MotorId::CANON_4400F; model.motor_id = MotorId::CANON_4400F;
model.flags = GENESYS_FLAG_OFFSET_CALIBRATION | model.flags = ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_FULL_HWDPI_MODE | ModelFlag::FULL_HWDPI_MODE |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_SHADING_REPARK; ModelFlag::SHADING_REPARK;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -546,12 +546,12 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_8400F; model.adc_id = AdcId::CANON_8400F;
model.gpio_id = GpioId::CANON_8400F; model.gpio_id = GpioId::CANON_8400F;
model.motor_id = MotorId::CANON_8400F; model.motor_id = MotorId::CANON_8400F;
model.flags = GENESYS_FLAG_OFFSET_CALIBRATION | model.flags = ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_FULL_HWDPI_MODE | ModelFlag::FULL_HWDPI_MODE |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_SHADING_REPARK; ModelFlag::SHADING_REPARK;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 50; model.shading_ta_lines = 50;
@ -613,12 +613,12 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_8600F; model.adc_id = AdcId::CANON_8600F;
model.gpio_id = GpioId::CANON_8600F; model.gpio_id = GpioId::CANON_8600F;
model.motor_id = MotorId::CANON_8600F; model.motor_id = MotorId::CANON_8600F;
model.flags = GENESYS_FLAG_OFFSET_CALIBRATION | model.flags = ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_FULL_HWDPI_MODE | ModelFlag::FULL_HWDPI_MODE |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_SHADING_REPARK; ModelFlag::SHADING_REPARK;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW;
model.shading_lines = 50; model.shading_lines = 50;
model.shading_ta_lines = 50; model.shading_ta_lines = 50;
@ -676,12 +676,12 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_LIDE_200; model.adc_id = AdcId::CANON_LIDE_200;
model.gpio_id = GpioId::CANON_LIDE_200; model.gpio_id = GpioId::CANON_LIDE_200;
model.motor_id = MotorId::CANON_LIDE_100; model.motor_id = MotorId::CANON_LIDE_100;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_SIS_SENSOR | ModelFlag::SIS_SENSOR |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_SHADING_REPARK | ModelFlag::SHADING_REPARK |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | model.buttons = GENESYS_HAS_SCAN_SW |
GENESYS_HAS_COPY_SW | GENESYS_HAS_COPY_SW |
GENESYS_HAS_EMAIL_SW | GENESYS_HAS_EMAIL_SW |
@ -741,11 +741,11 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_LIDE_110; model.adc_id = AdcId::CANON_LIDE_110;
model.gpio_id = GpioId::CANON_LIDE_110; model.gpio_id = GpioId::CANON_LIDE_110;
model.motor_id = MotorId::CANON_LIDE_110; model.motor_id = MotorId::CANON_LIDE_110;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_SHADING_REPARK | ModelFlag::SHADING_REPARK |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | model.buttons = GENESYS_HAS_SCAN_SW |
GENESYS_HAS_COPY_SW | GENESYS_HAS_COPY_SW |
GENESYS_HAS_EMAIL_SW | GENESYS_HAS_EMAIL_SW |
@ -804,11 +804,11 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_LIDE_120; model.adc_id = AdcId::CANON_LIDE_120;
model.gpio_id = GpioId::CANON_LIDE_120; model.gpio_id = GpioId::CANON_LIDE_120;
model.motor_id = MotorId::CANON_LIDE_120; model.motor_id = MotorId::CANON_LIDE_120;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_SHADING_REPARK | ModelFlag::SHADING_REPARK |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | model.buttons = GENESYS_HAS_SCAN_SW |
GENESYS_HAS_COPY_SW | GENESYS_HAS_COPY_SW |
GENESYS_HAS_EMAIL_SW | GENESYS_HAS_EMAIL_SW |
@ -870,11 +870,11 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_LIDE_110; model.adc_id = AdcId::CANON_LIDE_110;
model.gpio_id = GpioId::CANON_LIDE_210; model.gpio_id = GpioId::CANON_LIDE_210;
model.motor_id = MotorId::CANON_LIDE_210; model.motor_id = MotorId::CANON_LIDE_210;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_SHADING_REPARK | ModelFlag::SHADING_REPARK |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | model.buttons = GENESYS_HAS_SCAN_SW |
GENESYS_HAS_COPY_SW | GENESYS_HAS_COPY_SW |
GENESYS_HAS_EMAIL_SW | GENESYS_HAS_EMAIL_SW |
@ -936,11 +936,11 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_LIDE_110; model.adc_id = AdcId::CANON_LIDE_110;
model.gpio_id = GpioId::CANON_LIDE_210; model.gpio_id = GpioId::CANON_LIDE_210;
model.motor_id = MotorId::CANON_LIDE_210; model.motor_id = MotorId::CANON_LIDE_210;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_SHADING_REPARK | ModelFlag::SHADING_REPARK |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | model.buttons = GENESYS_HAS_SCAN_SW |
GENESYS_HAS_COPY_SW | GENESYS_HAS_COPY_SW |
GENESYS_HAS_EMAIL_SW | GENESYS_HAS_EMAIL_SW |
@ -1002,12 +1002,12 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_LIDE_200; model.adc_id = AdcId::CANON_LIDE_200;
model.gpio_id = GpioId::CANON_LIDE_200; model.gpio_id = GpioId::CANON_LIDE_200;
model.motor_id = MotorId::CANON_LIDE_200; model.motor_id = MotorId::CANON_LIDE_200;
model.flags = GENESYS_FLAG_UNTESTED | model.flags = ModelFlag::UNTESTED |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_SIS_SENSOR | ModelFlag::SIS_SENSOR |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | model.buttons = GENESYS_HAS_SCAN_SW |
GENESYS_HAS_COPY_SW | GENESYS_HAS_COPY_SW |
GENESYS_HAS_EMAIL_SW | GENESYS_HAS_EMAIL_SW |
@ -1067,12 +1067,12 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_LIDE_700F; model.adc_id = AdcId::CANON_LIDE_700F;
model.gpio_id = GpioId::CANON_LIDE_700F; model.gpio_id = GpioId::CANON_LIDE_700F;
model.motor_id = MotorId::CANON_LIDE_700; model.motor_id = MotorId::CANON_LIDE_700;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_SIS_SENSOR | ModelFlag::SIS_SENSOR |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_SHADING_REPARK | ModelFlag::SHADING_REPARK |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | model.buttons = GENESYS_HAS_SCAN_SW |
GENESYS_HAS_COPY_SW | GENESYS_HAS_COPY_SW |
GENESYS_HAS_EMAIL_SW | GENESYS_HAS_EMAIL_SW |
@ -1132,12 +1132,12 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_LIDE_200; model.adc_id = AdcId::CANON_LIDE_200;
model.gpio_id = GpioId::CANON_LIDE_200; model.gpio_id = GpioId::CANON_LIDE_200;
model.motor_id = MotorId::CANON_LIDE_200; model.motor_id = MotorId::CANON_LIDE_200;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_SIS_SENSOR | ModelFlag::SIS_SENSOR |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_SHADING_REPARK | ModelFlag::SHADING_REPARK |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | model.buttons = GENESYS_HAS_SCAN_SW |
GENESYS_HAS_COPY_SW | GENESYS_HAS_COPY_SW |
GENESYS_HAS_EMAIL_SW | GENESYS_HAS_EMAIL_SW |
@ -1197,10 +1197,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_LIDE_35; model.adc_id = AdcId::CANON_LIDE_35;
model.gpio_id = GpioId::CANON_LIDE_35; model.gpio_id = GpioId::CANON_LIDE_35;
model.motor_id = MotorId::CANON_LIDE_35; model.motor_id = MotorId::CANON_LIDE_35;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_DARK_WHITE_CALIBRATION | ModelFlag::DARK_WHITE_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_COPY_SW | model.buttons = GENESYS_HAS_COPY_SW |
GENESYS_HAS_SCAN_SW | GENESYS_HAS_SCAN_SW |
@ -1261,10 +1261,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_LIDE_80; model.adc_id = AdcId::CANON_LIDE_80;
model.gpio_id = GpioId::CANON_LIDE_80; model.gpio_id = GpioId::CANON_LIDE_80;
model.motor_id = MotorId::CANON_LIDE_80; model.motor_id = MotorId::CANON_LIDE_80;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_DARK_WHITE_CALIBRATION | ModelFlag::DARK_WHITE_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | model.buttons = GENESYS_HAS_SCAN_SW |
GENESYS_HAS_FILE_SW | GENESYS_HAS_FILE_SW |
GENESYS_HAS_EMAIL_SW | GENESYS_HAS_EMAIL_SW |
@ -1324,12 +1324,12 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_HP2300; model.adc_id = AdcId::WOLFSON_HP2300;
model.gpio_id = GpioId::HP2300; model.gpio_id = GpioId::HP2300;
model.motor_id = MotorId::HP2300; model.motor_id = MotorId::HP2300;
model.flags = GENESYS_FLAG_14BIT_GAMMA | model.flags = ModelFlag::GAMMA_14BIT |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_SEARCH_START | ModelFlag::SEARCH_START |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW;
model.shading_lines = 40; model.shading_lines = 40;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -1387,11 +1387,11 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_HP2400; model.adc_id = AdcId::WOLFSON_HP2400;
model.gpio_id = GpioId::HP2400; model.gpio_id = GpioId::HP2400;
model.motor_id = MotorId::HP2400; model.motor_id = MotorId::HP2400;
model.flags = GENESYS_FLAG_14BIT_GAMMA | model.flags = ModelFlag::GAMMA_14BIT |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_SCAN_SW; model.buttons = GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_SCAN_SW;
model.shading_lines = 20; model.shading_lines = 20;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -1449,11 +1449,11 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::AD_XP200; model.adc_id = AdcId::AD_XP200;
model.gpio_id = GpioId::XP200; model.gpio_id = GpioId::XP200;
model.motor_id = MotorId::XP200; model.motor_id = MotorId::XP200;
model.flags = GENESYS_FLAG_14BIT_GAMMA | model.flags = ModelFlag::GAMMA_14BIT |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_OFFSET_CALIBRATION; ModelFlag::OFFSET_CALIBRATION;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
model.shading_lines = 120; model.shading_lines = 120;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -1511,11 +1511,11 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_HP3670; model.adc_id = AdcId::WOLFSON_HP3670;
model.gpio_id = GpioId::HP3670; model.gpio_id = GpioId::HP3670;
model.motor_id = MotorId::HP3670; model.motor_id = MotorId::HP3670;
model.flags = GENESYS_FLAG_14BIT_GAMMA | model.flags = ModelFlag::GAMMA_14BIT |
GENESYS_FLAG_XPA | ModelFlag::XPA |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_SCAN_SW; model.buttons = GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_SCAN_SW;
model.shading_lines = 20; model.shading_lines = 20;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -1573,7 +1573,7 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_ST12; model.adc_id = AdcId::WOLFSON_ST12;
model.gpio_id = GpioId::ST12; model.gpio_id = GpioId::ST12;
model.motor_id = MotorId::UMAX; 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.buttons = GENESYS_HAS_NO_BUTTONS;
model.shading_lines = 20; model.shading_lines = 20;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -1630,11 +1630,11 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_ST24; model.adc_id = AdcId::WOLFSON_ST24;
model.gpio_id = GpioId::ST24; model.gpio_id = GpioId::ST24;
model.motor_id = MotorId::ST24; model.motor_id = MotorId::ST24;
model.flags = GENESYS_FLAG_UNTESTED | model.flags = ModelFlag::UNTESTED |
GENESYS_FLAG_14BIT_GAMMA | ModelFlag::GAMMA_14BIT |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_SEARCH_START | ModelFlag::SEARCH_START |
GENESYS_FLAG_OFFSET_CALIBRATION; ModelFlag::OFFSET_CALIBRATION;
model.buttons = GENESYS_HAS_NO_BUTTONS; model.buttons = GENESYS_HAS_NO_BUTTONS;
model.shading_lines = 20; model.shading_lines = 20;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -1690,12 +1690,12 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_5345; model.adc_id = AdcId::WOLFSON_5345;
model.gpio_id = GpioId::MD_5345; model.gpio_id = GpioId::MD_5345;
model.motor_id = MotorId::MD_5345; model.motor_id = MotorId::MD_5345;
model.flags = GENESYS_FLAG_14BIT_GAMMA | model.flags = ModelFlag::GAMMA_14BIT |
GENESYS_FLAG_SEARCH_START | ModelFlag::SEARCH_START |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_SHADING_NO_MOVE | ModelFlag::SHADING_NO_MOVE |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_COPY_SW | model.buttons = GENESYS_HAS_COPY_SW |
GENESYS_HAS_EMAIL_SW | GENESYS_HAS_EMAIL_SW |
GENESYS_HAS_POWER_SW | GENESYS_HAS_POWER_SW |
@ -1756,10 +1756,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_XP300; model.adc_id = AdcId::WOLFSON_XP300;
model.gpio_id = GpioId::XP300; model.gpio_id = GpioId::XP300;
model.motor_id = MotorId::XP300; model.motor_id = MotorId::XP300;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -1816,10 +1816,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_XP300; model.adc_id = AdcId::WOLFSON_XP300;
model.gpio_id = GpioId::DP665; model.gpio_id = GpioId::DP665;
model.motor_id = MotorId::DP665; model.motor_id = MotorId::DP665;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -1876,10 +1876,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_XP300; model.adc_id = AdcId::WOLFSON_XP300;
model.gpio_id = GpioId::DP665; model.gpio_id = GpioId::DP665;
model.motor_id = MotorId::ROADWARRIOR; model.motor_id = MotorId::ROADWARRIOR;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_DARK_CALIBRATION; ModelFlag::DARK_CALIBRATION;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -1936,10 +1936,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_XP300; model.adc_id = AdcId::WOLFSON_XP300;
model.gpio_id = GpioId::DP665; model.gpio_id = GpioId::DP665;
model.motor_id = MotorId::ROADWARRIOR; model.motor_id = MotorId::ROADWARRIOR;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_NO_CALIBRATION | ModelFlag::NO_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_UNTESTED; ModelFlag::UNTESTED;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW;
model.shading_lines = 300; model.shading_lines = 300;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -1997,10 +1997,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_XP300; model.adc_id = AdcId::WOLFSON_XP300;
model.gpio_id = GpioId::DP665; model.gpio_id = GpioId::DP665;
model.motor_id = MotorId::ROADWARRIOR; model.motor_id = MotorId::ROADWARRIOR;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_DARK_CALIBRATION; ModelFlag::DARK_CALIBRATION;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -2057,10 +2057,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_DSM600; model.adc_id = AdcId::WOLFSON_DSM600;
model.gpio_id = GpioId::DP665; model.gpio_id = GpioId::DP665;
model.motor_id = MotorId::DSMOBILE_600; model.motor_id = MotorId::DSMOBILE_600;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_DARK_CALIBRATION; ModelFlag::DARK_CALIBRATION;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -2118,10 +2118,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_DSM600; model.adc_id = AdcId::WOLFSON_DSM600;
model.gpio_id = GpioId::DP665; model.gpio_id = GpioId::DP665;
model.motor_id = MotorId::DSMOBILE_600; model.motor_id = MotorId::DSMOBILE_600;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_DARK_CALIBRATION; ModelFlag::DARK_CALIBRATION;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -2178,10 +2178,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_DSM600; model.adc_id = AdcId::WOLFSON_DSM600;
model.gpio_id = GpioId::DP685; model.gpio_id = GpioId::DP685;
model.motor_id = MotorId::XP300; model.motor_id = MotorId::XP300;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_DARK_CALIBRATION; ModelFlag::DARK_CALIBRATION;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -2240,10 +2240,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_XP300; model.adc_id = AdcId::WOLFSON_XP300;
model.gpio_id = GpioId::XP300; model.gpio_id = GpioId::XP300;
model.motor_id = MotorId::XP300; model.motor_id = MotorId::XP300;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_DARK_CALIBRATION; ModelFlag::DARK_CALIBRATION;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -2301,11 +2301,11 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_XP300; model.adc_id = AdcId::WOLFSON_XP300;
model.gpio_id = GpioId::XP300; model.gpio_id = GpioId::XP300;
model.motor_id = MotorId::XP300; model.motor_id = MotorId::XP300;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_UNTESTED; ModelFlag::UNTESTED;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -2362,11 +2362,11 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_5345; model.adc_id = AdcId::WOLFSON_5345;
model.gpio_id = GpioId::MD_5345; model.gpio_id = GpioId::MD_5345;
model.motor_id = MotorId::MD_5345; model.motor_id = MotorId::MD_5345;
model.flags = GENESYS_FLAG_14BIT_GAMMA | model.flags = ModelFlag::GAMMA_14BIT |
GENESYS_FLAG_SEARCH_START | ModelFlag::SEARCH_START |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_COPY_SW | model.buttons = GENESYS_HAS_COPY_SW |
GENESYS_HAS_EMAIL_SW | GENESYS_HAS_EMAIL_SW |
GENESYS_HAS_POWER_SW | GENESYS_HAS_POWER_SW |
@ -2427,11 +2427,11 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_5345; model.adc_id = AdcId::WOLFSON_5345;
model.gpio_id = GpioId::MD_5345; model.gpio_id = GpioId::MD_5345;
model.motor_id = MotorId::MD_5345; model.motor_id = MotorId::MD_5345;
model.flags = GENESYS_FLAG_14BIT_GAMMA | model.flags = ModelFlag::GAMMA_14BIT |
GENESYS_FLAG_SEARCH_START | ModelFlag::SEARCH_START |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_COPY_SW | model.buttons = GENESYS_HAS_COPY_SW |
GENESYS_HAS_EMAIL_SW | GENESYS_HAS_EMAIL_SW |
GENESYS_HAS_POWER_SW | GENESYS_HAS_POWER_SW |
@ -2493,10 +2493,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::WOLFSON_XP300; model.adc_id = AdcId::WOLFSON_XP300;
model.gpio_id = GpioId::DP665; model.gpio_id = GpioId::DP665;
model.motor_id = MotorId::ROADWARRIOR; model.motor_id = MotorId::ROADWARRIOR;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_DARK_CALIBRATION; ModelFlag::DARK_CALIBRATION;
model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -2554,11 +2554,11 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::PLUSTEK_OPTICPRO_3600; model.adc_id = AdcId::PLUSTEK_OPTICPRO_3600;
model.gpio_id = GpioId::PLUSTEK_OPTICPRO_3600; model.gpio_id = GpioId::PLUSTEK_OPTICPRO_3600;
model.motor_id = MotorId::PLUSTEK_OPTICPRO_3600; model.motor_id = MotorId::PLUSTEK_OPTICPRO_3600;
model.flags = GENESYS_FLAG_UNTESTED | // not fully working yet model.flags = ModelFlag::UNTESTED | // not fully working yet
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_OFFSET_CALIBRATION; ModelFlag::OFFSET_CALIBRATION;
model.buttons = GENESYS_HAS_NO_BUTTONS; model.buttons = GENESYS_HAS_NO_BUTTONS;
model.shading_lines = 7; model.shading_lines = 7;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -2617,13 +2617,13 @@ void genesys_init_usb_device_tables()
model.gpio_id = GpioId::PLUSTEK_OPTICFILM_7200I; model.gpio_id = GpioId::PLUSTEK_OPTICFILM_7200I;
model.motor_id = MotorId::PLUSTEK_OPTICFILM_7200I; model.motor_id = MotorId::PLUSTEK_OPTICFILM_7200I;
model.flags = GENESYS_FLAG_CUSTOM_GAMMA | model.flags = ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_SHADING_REPARK | ModelFlag::SHADING_REPARK |
GENESYS_FLAG_CALIBRATION_HOST_SIDE | ModelFlag::CALIBRATION_HOST_SIDE |
GENESYS_FLAG_16BIT_DATA_INVERTED; ModelFlag::INVERTED_16BIT_DATA;
model.shading_lines = 7; model.shading_lines = 7;
model.shading_ta_lines = 50; model.shading_ta_lines = 50;
@ -2681,12 +2681,12 @@ void genesys_init_usb_device_tables()
model.gpio_id = GpioId::PLUSTEK_OPTICFILM_7300; model.gpio_id = GpioId::PLUSTEK_OPTICFILM_7300;
model.motor_id = MotorId::PLUSTEK_OPTICFILM_7300; model.motor_id = MotorId::PLUSTEK_OPTICFILM_7300;
model.flags = GENESYS_FLAG_CUSTOM_GAMMA | model.flags = ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_SHADING_REPARK | ModelFlag::SHADING_REPARK |
GENESYS_FLAG_CALIBRATION_HOST_SIDE; ModelFlag::CALIBRATION_HOST_SIDE;
model.shading_lines = 7; model.shading_lines = 7;
model.shading_ta_lines = 50; model.shading_ta_lines = 50;
@ -2744,12 +2744,12 @@ void genesys_init_usb_device_tables()
model.gpio_id = GpioId::PLUSTEK_OPTICFILM_7500I; model.gpio_id = GpioId::PLUSTEK_OPTICFILM_7500I;
model.motor_id = MotorId::PLUSTEK_OPTICFILM_7500I; model.motor_id = MotorId::PLUSTEK_OPTICFILM_7500I;
model.flags = GENESYS_FLAG_CUSTOM_GAMMA | model.flags = ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_SHADING_REPARK | ModelFlag::SHADING_REPARK |
GENESYS_FLAG_CALIBRATION_HOST_SIDE; ModelFlag::CALIBRATION_HOST_SIDE;
model.shading_lines = 7; model.shading_lines = 7;
model.shading_ta_lines = 50; model.shading_ta_lines = 50;
@ -2806,13 +2806,13 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::CANON_LIDE_200; // Not defined yet for N6310 model.adc_id = AdcId::CANON_LIDE_200; // Not defined yet for N6310
model.gpio_id = GpioId::HP_N6310; model.gpio_id = GpioId::HP_N6310;
model.motor_id = MotorId::CANON_LIDE_200; // Not defined yet for N6310 model.motor_id = MotorId::CANON_LIDE_200; // Not defined yet for N6310
model.flags = GENESYS_FLAG_UNTESTED | model.flags = ModelFlag::UNTESTED |
GENESYS_FLAG_14BIT_GAMMA | ModelFlag::GAMMA_14BIT |
GENESYS_FLAG_DARK_CALIBRATION | ModelFlag::DARK_CALIBRATION |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_SKIP_WARMUP | ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_NO_CALIBRATION; ModelFlag::NO_CALIBRATION;
model.buttons = GENESYS_HAS_NO_BUTTONS; model.buttons = GENESYS_HAS_NO_BUTTONS;
model.shading_lines = 100; model.shading_lines = 100;
@ -2871,9 +2871,9 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::PLUSTEK_OPTICBOOK_3800; model.adc_id = AdcId::PLUSTEK_OPTICBOOK_3800;
model.gpio_id = GpioId::PLUSTEK_OPTICBOOK_3800; model.gpio_id = GpioId::PLUSTEK_OPTICBOOK_3800;
model.motor_id = MotorId::PLUSTEK_OPTICBOOK_3800; model.motor_id = MotorId::PLUSTEK_OPTICBOOK_3800;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA; ModelFlag::CUSTOM_GAMMA;
model.buttons = GENESYS_HAS_NO_BUTTONS; // TODO there are 4 buttons to support model.buttons = GENESYS_HAS_NO_BUTTONS; // TODO there are 4 buttons to support
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;
@ -2931,10 +2931,10 @@ void genesys_init_usb_device_tables()
model.adc_id = AdcId::IMG101; model.adc_id = AdcId::IMG101;
model.gpio_id = GpioId::IMG101; model.gpio_id = GpioId::IMG101;
model.motor_id = MotorId::IMG101; model.motor_id = MotorId::IMG101;
model.flags = GENESYS_FLAG_SKIP_WARMUP | model.flags = ModelFlag::SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION | ModelFlag::OFFSET_CALIBRATION |
GENESYS_FLAG_CUSTOM_GAMMA | ModelFlag::CUSTOM_GAMMA |
GENESYS_FLAG_UNTESTED; ModelFlag::UNTESTED;
model.buttons = GENESYS_HAS_NO_BUTTONS ; model.buttons = GENESYS_HAS_NO_BUTTONS ;
model.shading_lines = 100; model.shading_lines = 100;
model.shading_ta_lines = 0; model.shading_ta_lines = 0;

Wyświetl plik

@ -394,7 +394,7 @@ std::vector<TestConfig> get_all_test_configs()
std::unordered_set<std::string> model_names; std::unordered_set<std::string> model_names;
for (const auto& usb_dev : *genesys::s_usb_devices) { 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; continue;
} }
if (model_names.find(usb_dev.model.name) != model_names.end()) { if (model_names.find(usb_dev.model.name) != model_names.end()) {