pixma: several updates for MP375R, MP390, MP460 and docs by Gernot Hassenpflug.

modified:   ChangeLog
	modified:   backend/pixma_mp150.c
	modified:   backend/pixma_mp730.c
	modified:   doc/descriptions/pixma.desc
	modified:   doc/sane-pixma.man
merge-requests/1/head
Nicolas Martin 2010-09-08 22:08:32 +02:00
rodzic 3dd2b12f6e
commit ea1336e71f
5 zmienionych plików z 42 dodań i 22 usunięć

Wyświetl plik

@ -1,3 +1,8 @@
2010-09-08 Nicolas Martin <nicols-guest at users.alioth.debian.org>
* backend/pixma_mp150.c, backend/pixma_mp730.c
doc/descriptions/pixma.desc, doc/sane-pixma.man:
pixma: several updates for MP375R, MP390, MP460 and docs by Gernot Hassenpflug.
2010-09-07 Nicolas Martin <nicols-guest at users.alioth.debian.org> 2010-09-07 Nicolas Martin <nicols-guest at users.alioth.debian.org>
* backend/pixma_mp750.c: * backend/pixma_mp750.c:
pixma: fix for 2400 dpi striping on MP760/770/780/790 by Gernot Hassenpflug. pixma: fix for 2400 dpi striping on MP760/770/780/790 by Gernot Hassenpflug.

Wyświetl plik

@ -676,7 +676,7 @@ send_scan_param (pixma_t * s)
pixma_set_be16 (s->param->xdpi | 0x8000, data + 0x04); pixma_set_be16 (s->param->xdpi | 0x8000, data + 0x04);
pixma_set_be16 (s->param->ydpi | 0x8000, data + 0x06); pixma_set_be16 (s->param->ydpi | 0x8000, data + 0x06);
pixma_set_be32 (s->param->x, data + 0x08); pixma_set_be32 (s->param->x, data + 0x08);
if (s->cfg->pid == MP510_PID) if (s->cfg->pid == MP460_PID || s->cfg->pid == MP510_PID)
pixma_set_be32 (s->param->x - s->param->xs, data + 0x08); pixma_set_be32 (s->param->x - s->param->xs, data + 0x08);
pixma_set_be32 (s->param->y, data + 0x0c); pixma_set_be32 (s->param->y, data + 0x0c);
pixma_set_be32 (raw_width, data + 0x10); pixma_set_be32 (raw_width, data + 0x10);

Wyświetl plik

@ -68,6 +68,7 @@
#define MP360_PID 0x263c #define MP360_PID 0x263c
#define MP370_PID 0x263d #define MP370_PID 0x263d
#define MP390_PID 0x263e #define MP390_PID 0x263e
#define MP375R_PID 0x263f /* untested */
#define MP740_PID 0x264c /* Untested */ #define MP740_PID 0x264c /* Untested */
#define MP710_PID 0x264d #define MP710_PID 0x264d
@ -299,6 +300,7 @@ handle_interrupt (pixma_t * s, int timeout)
{ {
case MP360_PID: case MP360_PID:
case MP370_PID: case MP370_PID:
case MP375R_PID:
case MP390_PID: case MP390_PID:
case MF5730_PID: case MF5730_PID:
case MF5750_PID: case MF5750_PID:
@ -349,6 +351,7 @@ has_ccd_sensor (pixma_t * s)
{ {
return (s->cfg->pid == MP360_PID || return (s->cfg->pid == MP360_PID ||
s->cfg->pid == MP370_PID || s->cfg->pid == MP370_PID ||
s->cfg->pid == MP375R_PID ||
s->cfg->pid == MP390_PID || s->cfg->pid == MP390_PID ||
s->cfg->pid == MF5730_PID || s->cfg->pid == MF5730_PID ||
s->cfg->pid == MF5750_PID || s->cfg->pid == MF5750_PID ||
@ -509,6 +512,7 @@ calc_raw_width (pixma_t * s, const pixma_scan_param_t * sp)
{ {
unsigned raw_width; unsigned raw_width;
/* FIXME: Does MP730 need the alignment? */ /* FIXME: Does MP730 need the alignment? */
/* TODO test: MP710/740 */
if (sp->channels == 1) if (sp->channels == 1)
{ {
if (sp->depth == 8) /* grayscale */ if (sp->depth == 8) /* grayscale */
@ -516,7 +520,9 @@ calc_raw_width (pixma_t * s, const pixma_scan_param_t * sp)
if (s->cfg->pid == MP700_PID || if (s->cfg->pid == MP700_PID ||
s->cfg->pid == MP730_PID || s->cfg->pid == MP730_PID ||
s->cfg->pid == MP360_PID || s->cfg->pid == MP360_PID ||
s->cfg->pid == MP370_PID) s->cfg->pid == MP370_PID ||
s->cfg->pid == MP375R_PID ||
s->cfg->pid == MP390_PID)
raw_width = ALIGN_SUP (sp->w, 4); raw_width = ALIGN_SUP (sp->w, 4);
else else
raw_width = ALIGN_SUP (sp->w, 12); raw_width = ALIGN_SUP (sp->w, 12);
@ -543,7 +549,9 @@ mp730_check_param (pixma_t * s, pixma_scan_param_t * sp)
if (s->cfg->pid == MP700_PID || if (s->cfg->pid == MP700_PID ||
s->cfg->pid == MP730_PID || s->cfg->pid == MP730_PID ||
s->cfg->pid == MP360_PID || s->cfg->pid == MP360_PID ||
s->cfg->pid == MP370_PID) s->cfg->pid == MP370_PID ||
s->cfg->pid == MP375R_PID ||
s->cfg->pid == MP390_PID)
{ {
if (sp->channels == 1) if (sp->channels == 1)
k = sp->xdpi / MIN (sp->xdpi, 600); k = sp->xdpi / MIN (sp->xdpi, 600);
@ -760,13 +768,14 @@ static const pixma_scan_ops_t pixma_mp730_ops = {
} }
const pixma_config_t pixma_mp730_devices[] = { const pixma_config_t pixma_mp730_devices[] = {
/* TODO: check area limits */ /* TODO: check area limits */
DEVICE ("Canon SmartBase MP360", "MP360", MP360_PID, 1200, 636, 868, PIXMA_CAP_LINEART), DEVICE ("PIXMA MP360", "MP360", MP360_PID, 1200, 636, 868, PIXMA_CAP_LINEART),
DEVICE ("Canon SmartBase MP370", "MP370", MP370_PID, 1200, 636, 868, PIXMA_CAP_LINEART), DEVICE ("PIXMA MP370", "MP370", MP370_PID, 1200, 636, 868, PIXMA_CAP_LINEART),
DEVICE ("Canon SmartBase MP390", "MP390", MP390_PID, 1200, 636, 868, 0), DEVICE ("PIXMA MP375R", "MP375R", MP375R_PID, 1200, 636, 868, PIXMA_CAP_LINEART),
DEVICE ("Canon MultiPASS MP700", "MP700", MP700_PID, 1200, 638, 877 /*1035 */ , PIXMA_CAP_LINEART), DEVICE ("PIXMA MP390", "MP390", MP390_PID, 1200, 636, 868, PIXMA_CAP_LINEART),
DEVICE ("Canon MultiPASS MP710", "MP710", MP710_PID, 1200, 637, 868, 0), DEVICE ("PIXMA MP700", "MP700", MP700_PID, 1200, 638, 877 /*1035 */ , PIXMA_CAP_LINEART),
DEVICE ("Canon MultiPASS MP730", "MP730", MP730_PID, 1200, 637, 868, PIXMA_CAP_ADF | PIXMA_CAP_LINEART), DEVICE ("PIXMA MP710", "MP710", MP710_PID, 1200, 637, 868, PIXMA_CAP_LINEART),
DEVICE ("Canon MultiPASS MP740", "MP740", MP740_PID, 1200, 637, 868, PIXMA_CAP_ADF), DEVICE ("PIXMA MP730", "MP730", MP730_PID, 1200, 637, 868, PIXMA_CAP_ADF | PIXMA_CAP_LINEART),
DEVICE ("PIXMA MP740", "MP740", MP740_PID, 1200, 637, 868, PIXMA_CAP_ADF | PIXMA_CAP_LINEART),
DEVICE ("Canon imageCLASS MF5730", "MF5730", MF5730_PID, 1200, 636, 868, PIXMA_CAP_ADF), DEVICE ("Canon imageCLASS MF5730", "MF5730", MF5730_PID, 1200, 636, 868, PIXMA_CAP_ADF),
DEVICE ("Canon imageCLASS MF5750", "MF5750", MF5750_PID, 1200, 636, 868, PIXMA_CAP_ADF), DEVICE ("Canon imageCLASS MF5750", "MF5750", MF5750_PID, 1200, 636, 868, PIXMA_CAP_ADF),

Wyświetl plik

@ -174,29 +174,35 @@
:status :complete :status :complete
:comment "All resolutions supported (up to 4800DPI). Full TPU support (negative and slides) at 24 or 48 bits." :comment "All resolutions supported (up to 4800DPI). Full TPU support (negative and slides) at 24 or 48 bits."
:model "SmartBase MP360" :model "PIXMA MP360"
:interface "USB" :interface "USB"
:usbid "0x04a9" "0x263c" :usbid "0x04a9" "0x263c"
:status :complete :status :complete
:comment "All resolutions supported (up to 1200DPI)." :comment "All resolutions supported (up to 1200DPI)."
:model "SmartBase MP370" :model "PIXMA MP370"
:interface "USB" :interface "USB"
:usbid "0x04a9" "0x263d" :usbid "0x04a9" "0x263d"
:status :complete :status :complete
:comment "All resolutions supported (up to 1200DPI)." :comment "All resolutions supported (up to 1200DPI)."
:model "SmartBase MP390" :model "PIXMA MP375R"
:interface "USB"
:usbid "0x04a9" "0x263f"
:status :untested
:comment "Same protocol as Pixma MP360/370/390? Testers needed!"
:model "PIXMA MP390"
:interface "USB" :interface "USB"
:usbid "0x04a9" "0x263e" :usbid "0x04a9" "0x263e"
:status :complete :status :complete
:comment "All resolutions supported (up to 1200DPI)." :comment "All resolutions supported (up to 1200DPI)."
:model "MultiPASS MP700" :model "PIXMA MP700"
:interface "USB" :interface "USB"
:usbid "0x04a9" "0x2630" :usbid "0x04a9" "0x2630"
:status :basic :status :complete
:comment "Same model as SmartBase MP700 Photo?" :comment "All resolutions supported (flatbed color up to 1200DPI, grayscale up to 600DPI)."
:model "PIXMA MP710" :model "PIXMA MP710"
:interface "USB" :interface "USB"
@ -210,7 +216,7 @@
:status :untested :status :untested
:comment "Same protocol as Pixma MP710? Testers needed!" :comment "Same protocol as Pixma MP710? Testers needed!"
:model "MultiPASS MP730" :model "PIXMA MP730"
:interface "USB" :interface "USB"
:usbid "0x04a9" "0x262f" :usbid "0x04a9" "0x262f"
:status :good :status :good

Wyświetl plik

@ -19,7 +19,7 @@ PIXMA MP140, MP150, MP160, MP170, MP180, MP190
.br .br
PIXMA MP210, MP220, MP240, MP250, MP260, MP270 PIXMA MP210, MP220, MP240, MP250, MP260, MP270
.br .br
Smartbase MP360, MP370, MP390 PIXMA MP360, MP370, MP390
.br .br
PIXMA MP450, MP460, MP470, MP480, MP490 PIXMA MP450, MP460, MP470, MP480, MP490
.br .br
@ -33,7 +33,7 @@ PIXMA MX300, MX310, MX330, MX340, MX350
.br .br
PIXMA MX700, MX850, MX860, MX870, MX7600 PIXMA MX700, MX850, MX860, MX870, MX7600
.br .br
MultiPASS MP700, MP730, PIXMA MP750 (no grayscale) PIXMA MP700, MP730, PIXMA MP750 (no grayscale)
.br .br
ImageCLASS MF3110, MF3240, MF4010, MF4018, MF4120, MF4122 ImageCLASS MF3110, MF3240, MF4010, MF4018, MF4120, MF4122
.br .br
@ -50,7 +50,7 @@ The following models are not well tested and/or the scanner sometimes hangs
and must be switched off and on. and must be switched off and on.
.PP .PP
.RS .RS
MultiPASS PIXMA MP760, PIXMA MP780 PIXMA PIXMA MP760, PIXMA MP780
.RE .RE
.PP .PP
The following models may use the same Pixma protocol as those listed The following models may use the same Pixma protocol as those listed
@ -59,7 +59,7 @@ in the backend so that they get recognized and activated.
Feedback in the Sane-dev mailing list welcome. Feedback in the Sane-dev mailing list welcome.
.PP .PP
.RS .RS
PIXMA MP740 PIXMA MP375R, MP740
.br .br
PIXMA MX320 PIXMA MX320
.br .br
@ -72,7 +72,7 @@ ImageCLASS MF5630, MF5650, MF5730, MF5750, MF8170c
\#the sane\-devel mailing list. \#the sane\-devel mailing list.
\#.PP \#.PP
\#.RS \#.RS
\#PIXMA MX850 \#PIXMA MP---
\#.RE \#.RE
The backend supports: The backend supports:
.PP .PP