kopia lustrzana https://gitlab.com/sane-project/backends
support for 5th LiDE 210 button
rodzic
e1a74a94be
commit
a5a6543cd0
|
@ -1,3 +1,8 @@
|
||||||
|
2013-01-31 Stéphane Voltz <stef.dev@free.fr>
|
||||||
|
* backend/genesys.[ch] backend/genesys_devices.c
|
||||||
|
backend/genesys_gl124.c backend/genesys_low.h: add support for LIDE
|
||||||
|
210 fifth button.
|
||||||
|
|
||||||
2013-01-29 Stéphane Voltz <stef.dev@free.fr>
|
2013-01-29 Stéphane Voltz <stef.dev@free.fr>
|
||||||
* backend/genesys*.[ch] : ASIC init refactor. Groundwork for GL846
|
* backend/genesys*.[ch] : ASIC init refactor. Groundwork for GL846
|
||||||
support.
|
support.
|
||||||
|
|
|
@ -55,10 +55,10 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SANE backend for Genesys Logic GL646/GL841/GL842/GL843/GL847/GL124 based scanners
|
* SANE backend for Genesys Logic GL646/GL841/GL842/GL843/GL846/GL847/GL124 based scanners
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define BUILD 2407
|
#define BUILD 2408
|
||||||
#define BACKEND_NAME genesys
|
#define BACKEND_NAME genesys
|
||||||
|
|
||||||
#include "genesys.h"
|
#include "genesys.h"
|
||||||
|
@ -5891,6 +5891,20 @@ init_options (Genesys_Scanner * s)
|
||||||
s->val[OPT_POWER_SW].b = 0;
|
s->val[OPT_POWER_SW].b = 0;
|
||||||
s->last_val[OPT_POWER_SW].b = 0;
|
s->last_val[OPT_POWER_SW].b = 0;
|
||||||
|
|
||||||
|
/* extra button */
|
||||||
|
s->opt[OPT_EXTRA_SW].name = "extra";
|
||||||
|
s->opt[OPT_EXTRA_SW].title = SANE_I18N ("Extra button");
|
||||||
|
s->opt[OPT_EXTRA_SW].desc = SANE_I18N ("Extra button");
|
||||||
|
s->opt[OPT_EXTRA_SW].type = SANE_TYPE_BOOL;
|
||||||
|
s->opt[OPT_EXTRA_SW].unit = SANE_UNIT_NONE;
|
||||||
|
if (model->buttons & GENESYS_HAS_EXTRA_SW)
|
||||||
|
s->opt[OPT_EXTRA_SW].cap =
|
||||||
|
SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED;
|
||||||
|
else
|
||||||
|
s->opt[OPT_EXTRA_SW].cap = SANE_CAP_INACTIVE;
|
||||||
|
s->val[OPT_EXTRA_SW].b = 0;
|
||||||
|
s->last_val[OPT_EXTRA_SW].b = 0;
|
||||||
|
|
||||||
/* calibration needed */
|
/* calibration needed */
|
||||||
s->opt[OPT_NEED_CALIBRATION_SW].name = "need-calibration";
|
s->opt[OPT_NEED_CALIBRATION_SW].name = "need-calibration";
|
||||||
s->opt[OPT_NEED_CALIBRATION_SW].title = SANE_I18N ("Need calibration");
|
s->opt[OPT_NEED_CALIBRATION_SW].title = SANE_I18N ("Need calibration");
|
||||||
|
@ -7004,6 +7018,7 @@ get_option_value (Genesys_Scanner * s, int option, void *val)
|
||||||
case OPT_PAGE_LOADED_SW:
|
case OPT_PAGE_LOADED_SW:
|
||||||
case OPT_OCR_SW:
|
case OPT_OCR_SW:
|
||||||
case OPT_POWER_SW:
|
case OPT_POWER_SW:
|
||||||
|
case OPT_EXTRA_SW:
|
||||||
RIE (s->dev->model->cmd_set->update_hardware_sensors (s));
|
RIE (s->dev->model->cmd_set->update_hardware_sensors (s));
|
||||||
*(SANE_Bool *) val = s->val[option].b;
|
*(SANE_Bool *) val = s->val[option].b;
|
||||||
s->last_val[option].b = *(SANE_Bool *) val;
|
s->last_val[option].b = *(SANE_Bool *) val;
|
||||||
|
|
|
@ -116,6 +116,7 @@ enum Genesys_Option
|
||||||
OPT_PAGE_LOADED_SW,
|
OPT_PAGE_LOADED_SW,
|
||||||
OPT_OCR_SW,
|
OPT_OCR_SW,
|
||||||
OPT_POWER_SW,
|
OPT_POWER_SW,
|
||||||
|
OPT_EXTRA_SW,
|
||||||
OPT_NEED_CALIBRATION_SW,
|
OPT_NEED_CALIBRATION_SW,
|
||||||
OPT_BUTTON_GROUP,
|
OPT_BUTTON_GROUP,
|
||||||
OPT_CALIBRATE,
|
OPT_CALIBRATE,
|
||||||
|
|
|
@ -1773,7 +1773,7 @@ static Genesys_Model canon_lide_210_model = {
|
||||||
| GENESYS_FLAG_OFFSET_CALIBRATION
|
| GENESYS_FLAG_OFFSET_CALIBRATION
|
||||||
| GENESYS_FLAG_DARK_CALIBRATION
|
| GENESYS_FLAG_DARK_CALIBRATION
|
||||||
| GENESYS_FLAG_CUSTOM_GAMMA,
|
| GENESYS_FLAG_CUSTOM_GAMMA,
|
||||||
GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW,
|
GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_EXTRA_SW,
|
||||||
50,
|
50,
|
||||||
400
|
400
|
||||||
};
|
};
|
||||||
|
|
|
@ -3711,6 +3711,8 @@ gl124_update_hardware_sensors (Genesys_Scanner * s)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ /* LiDE 210 case */
|
{ /* LiDE 210 case */
|
||||||
|
if (s->val[OPT_EXTRA_SW].b == s->last_val[OPT_EXTRA_SW].b)
|
||||||
|
s->val[OPT_EXTRA_SW].b = (val & 0x01) == 0;
|
||||||
if (s->val[OPT_SCAN_SW].b == s->last_val[OPT_SCAN_SW].b)
|
if (s->val[OPT_SCAN_SW].b == s->last_val[OPT_SCAN_SW].b)
|
||||||
s->val[OPT_SCAN_SW].b = (val & 0x02) == 0;
|
s->val[OPT_SCAN_SW].b = (val & 0x02) == 0;
|
||||||
if (s->val[OPT_COPY_SW].b == s->last_val[OPT_COPY_SW].b)
|
if (s->val[OPT_COPY_SW].b == s->last_val[OPT_COPY_SW].b)
|
||||||
|
|
|
@ -145,6 +145,7 @@
|
||||||
#define GENESYS_HAS_OCR_SW (1 << 5) /**< scanner has OCR button */
|
#define GENESYS_HAS_OCR_SW (1 << 5) /**< scanner has OCR button */
|
||||||
#define GENESYS_HAS_POWER_SW (1 << 6) /**< scanner has power button */
|
#define GENESYS_HAS_POWER_SW (1 << 6) /**< scanner has power button */
|
||||||
#define GENESYS_HAS_CALIBRATE (1 << 7) /**< scanner has 'calibrate' software button to start calibration */
|
#define GENESYS_HAS_CALIBRATE (1 << 7) /**< scanner has 'calibrate' software button to start calibration */
|
||||||
|
#define GENESYS_HAS_EXTRA_SW (1 << 8) /**< scanner has extra function button */
|
||||||
|
|
||||||
/* USB control message values */
|
/* USB control message values */
|
||||||
#define REQUEST_TYPE_IN (USB_TYPE_VENDOR | USB_DIR_IN)
|
#define REQUEST_TYPE_IN (USB_TYPE_VENDOR | USB_DIR_IN)
|
||||||
|
|
|
@ -169,6 +169,12 @@
|
||||||
:status :good
|
:status :good
|
||||||
:comment "GL847 based, resolution from 75 to 4800 dpi"
|
:comment "GL847 based, resolution from 75 to 4800 dpi"
|
||||||
|
|
||||||
|
:model "Canon Image Formula 101"
|
||||||
|
:interface "USB"
|
||||||
|
:usbid "0x1083" "0x162e"
|
||||||
|
:status :unsupported
|
||||||
|
:comment "GL846 based, work in progress"
|
||||||
|
|
||||||
; -----------------------------------------------------------------------------
|
; -----------------------------------------------------------------------------
|
||||||
|
|
||||||
:mfg "Visioneer"
|
:mfg "Visioneer"
|
||||||
|
|
Ładowanie…
Reference in New Issue