support for 5th LiDE 210 button

merge-requests/1/head
Stphane Voltz 2013-01-31 06:12:09 +01:00
rodzic e1a74a94be
commit a5a6543cd0
7 zmienionych plików z 33 dodań i 3 usunięć

Wyświetl plik

@ -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>
* backend/genesys*.[ch] : ASIC init refactor. Groundwork for GL846
support.

Wyświetl plik

@ -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
#include "genesys.h"
@ -5890,6 +5890,20 @@ init_options (Genesys_Scanner * s)
s->opt[OPT_POWER_SW].cap = SANE_CAP_INACTIVE;
s->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 */
s->opt[OPT_NEED_CALIBRATION_SW].name = "need-calibration";
@ -7004,6 +7018,7 @@ get_option_value (Genesys_Scanner * s, int option, void *val)
case OPT_PAGE_LOADED_SW:
case OPT_OCR_SW:
case OPT_POWER_SW:
case OPT_EXTRA_SW:
RIE (s->dev->model->cmd_set->update_hardware_sensors (s));
*(SANE_Bool *) val = s->val[option].b;
s->last_val[option].b = *(SANE_Bool *) val;

Wyświetl plik

@ -116,6 +116,7 @@ enum Genesys_Option
OPT_PAGE_LOADED_SW,
OPT_OCR_SW,
OPT_POWER_SW,
OPT_EXTRA_SW,
OPT_NEED_CALIBRATION_SW,
OPT_BUTTON_GROUP,
OPT_CALIBRATE,

Wyświetl plik

@ -1773,7 +1773,7 @@ static Genesys_Model canon_lide_210_model = {
| GENESYS_FLAG_OFFSET_CALIBRATION
| GENESYS_FLAG_DARK_CALIBRATION
| 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,
400
};

Wyświetl plik

@ -3711,6 +3711,8 @@ gl124_update_hardware_sensors (Genesys_Scanner * s)
}
else
{ /* 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)
s->val[OPT_SCAN_SW].b = (val & 0x02) == 0;
if (s->val[OPT_COPY_SW].b == s->last_val[OPT_COPY_SW].b)

Wyświetl plik

@ -145,6 +145,7 @@
#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_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 */
#define REQUEST_TYPE_IN (USB_TYPE_VENDOR | USB_DIR_IN)

Wyświetl plik

@ -169,6 +169,12 @@
:status :good
: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"