* backend/fujitsu.c, doc/descriptions/fujitsu.desc: backend v78

- recent model names (fi-6xxx) dont end in 'C'
- simplify flatbed area overrides
- call scanner_control to change source during sane_start
merge-requests/1/head
m. allan noah 2008-08-26 17:04:30 +00:00
rodzic b9aaa8a469
commit 08d54b457a
3 zmienionych plików z 45 dodań i 15 usunięć

Wyświetl plik

@ -1,3 +1,9 @@
2008-08-26 m. allan noah <kitno455 a t gmail d o t com>
* backend/fujitsu.c, doc/descriptions/fujitsu.desc: backend v78
- recent model names (fi-6xxx) dont end in 'C'
- simplify flatbed area overrides
- call scanner_control to change source during sane_start
2008-08-26 m. allan noah <kitno455 a t gmail d o t com> 2008-08-26 m. allan noah <kitno455 a t gmail d o t com>
* backend/fujitsu.c, backend/fujitsu-scsi.h: backend v77 * backend/fujitsu.c, backend/fujitsu-scsi.h: backend v77
- override flatbed maximum area for fi-6230C and fi-6240C - override flatbed maximum area for fi-6230C and fi-6240C

Wyświetl plik

@ -373,11 +373,15 @@
v76 2008-08-13, MAN v76 2008-08-13, MAN
- add independent maximum area values for flatbed - add independent maximum area values for flatbed
- override said values for fi-4220C, fi-4220C2 and fi-5220C - override said values for fi-4220C, fi-4220C2 and fi-5220C
v77 2008-08-25, MAN v77 2008-08-26, MAN
- override flatbed maximum area for fi-6230C and fi-6240C - override flatbed maximum area for fi-6230C and fi-6240C
- set PF bit in all mode_select(6) CDB's - set PF bit in all mode_select(6) CDB's
- set SANE_CAP_INACTIVE on all disabled options - set SANE_CAP_INACTIVE on all disabled options
- fix bug in mode_select page for sleep timer - fix bug in mode_select page for sleep timer
v78 2008-08-26, MAN
- recent model names (fi-6xxx) dont end in 'C'
- simplify flatbed area overrides
- call scanner_control to change source during sane_start
SANE FLOW DIAGRAM SANE FLOW DIAGRAM
@ -438,7 +442,7 @@
#include "fujitsu.h" #include "fujitsu.h"
#define DEBUG 1 #define DEBUG 1
#define BUILD 77 #define BUILD 78
/* values for SANE_DEBUG_FUJITSU env var: /* values for SANE_DEBUG_FUJITSU env var:
- errors 5 - errors 5
@ -1230,13 +1234,9 @@ init_vpd (struct fujitsu *s)
/* maximum window width and length are reported in basic units.*/ /* maximum window width and length are reported in basic units.*/
s->max_x_basic = get_IN_window_width(in); s->max_x_basic = get_IN_window_width(in);
s->max_x = s->max_x_basic * 1200 / s->basic_x_res;
s->max_x_fb = s->max_x;
DBG(15, " max width: %2.2f inches\n",(float)s->max_x_basic/s->basic_x_res); DBG(15, " max width: %2.2f inches\n",(float)s->max_x_basic/s->basic_x_res);
s->max_y_basic = get_IN_window_length(in); s->max_y_basic = get_IN_window_length(in);
s->max_y = s->max_y_basic * 1200 / s->basic_y_res;
s->max_y_fb = s->max_y;
DBG(15, " max length: %2.2f inches\n",(float)s->max_y_basic/s->basic_y_res); DBG(15, " max length: %2.2f inches\n",(float)s->max_y_basic/s->basic_y_res);
/* known modes */ /* known modes */
@ -1779,6 +1779,14 @@ init_model (struct fujitsu *s)
s->endorser_string_len = 80; s->endorser_string_len = 80;
} }
/* convert to 1200dpi units */
s->max_x = s->max_x_basic * 1200 / s->basic_x_res;
s->max_y = s->max_y_basic * 1200 / s->basic_y_res;
/* assume these are same as adf, override below */
s->max_x_fb = s->max_x;
s->max_y_fb = s->max_y;
/* these two scanners lie about their capabilities, /* these two scanners lie about their capabilities,
* and/or differ significantly from most other models */ * and/or differ significantly from most other models */
if (strstr (s->model_name, "M3091") if (strstr (s->model_name, "M3091")
@ -1828,13 +1836,13 @@ init_model (struct fujitsu *s)
/* missing from vpd */ /* missing from vpd */
s->os_x_basic = 118; s->os_x_basic = 118;
s->os_y_basic = 118; s->os_y_basic = 118;
s->max_y_fb = 0x1b68 * 1200 / s->basic_y_res; s->max_y_fb = 14032;
} }
else if (strstr (s->model_name, "fi-4220C")){ else if (strstr (s->model_name, "fi-4220C")){
/* missing from vpd */ /* missing from vpd */
s->max_y_fb = 0x1b68 * 1200 / s->basic_y_res; s->max_y_fb = 14032;
} }
else if (strstr (s->model_name,"fi-5110C")){ else if (strstr (s->model_name,"fi-5110C")){
@ -1853,8 +1861,8 @@ init_model (struct fujitsu *s)
else if (strstr (s->model_name,"fi-5220C")){ else if (strstr (s->model_name,"fi-5220C")){
/* missing from vpd */ /* missing from vpd */
s->max_x_fb = 0x1506 * 1200 / s->basic_x_res; s->max_x_fb = 10764;
s->max_y_fb = 0x1b68 * 1200 / s->basic_y_res; s->max_y_fb = 14032;
} }
else if (strstr (s->model_name,"fi-5530") else if (strstr (s->model_name,"fi-5530")
@ -1884,8 +1892,8 @@ init_model (struct fujitsu *s)
s->even_scan_line = 1; s->even_scan_line = 1;
} }
else if (strstr (s->model_name,"fi-6230C") else if (strstr (s->model_name,"fi-6230")
|| strstr (s->model_name,"fi-6240C")){ || strstr (s->model_name,"fi-6240")){
/* missing from vpd */ /* missing from vpd */
s->max_x_fb = 10488; s->max_x_fb = 10488;
@ -5799,6 +5807,22 @@ sane_start (SANE_Handle handle)
return ret; return ret;
} }
/* switch source */
if(s->source == SOURCE_FLATBED){
ret = scanner_control(s, SC_function_fb);
if (ret != SANE_STATUS_GOOD) {
DBG (5, "sane_start: ERROR: cannot control fb\n");
return ret;
}
}
else{
ret = scanner_control(s, SC_function_adf);
if (ret != SANE_STATUS_GOOD) {
DBG (5, "sane_start: ERROR: cannot control adf\n");
return ret;
}
}
/* set window command */ /* set window command */
ret = set_window(s); ret = set_window(s);
if (ret != SANE_STATUS_GOOD) { if (ret != SANE_STATUS_GOOD) {

Wyświetl plik

@ -11,7 +11,7 @@
:backend "fujitsu" ; name of backend :backend "fujitsu" ; name of backend
:url "http://www.thebility.com/fujitsu/" :url "http://www.thebility.com/fujitsu/"
:version "76" ; version of backend :version "78" ; version of backend
:manpage "sane-fujitsu" ; name of manpage (if it exists) :manpage "sane-fujitsu" ; name of manpage (if it exists)
:comment "Backend updated for SANE release 1.1.0, see sane-fujitsu manpage" :comment "Backend updated for SANE release 1.1.0, see sane-fujitsu manpage"
:devicetype :scanner ; start of a list of devices.... :devicetype :scanner ; start of a list of devices....
@ -325,12 +325,12 @@
:status :good :status :good
:comment "big, current, possibly some multi-feed options unsupported" :comment "big, current, possibly some multi-feed options unsupported"
:model "fi-6670C" :model "fi-6670"
:interface "SCSI USB" :interface "SCSI USB"
:status :untested :status :untested
:comment "big, current, faster version of fi-5650C?" :comment "big, current, faster version of fi-5650C?"
:model "fi-6770C" :model "fi-6770"
:interface "SCSI USB" :interface "SCSI USB"
:status :untested :status :untested
:comment "big, current, faster version of fi-5750C?" :comment "big, current, faster version of fi-5750C?"