diff options
Diffstat (limited to 'backend/pixma_mp810.c')
| -rw-r--r-- | backend/pixma_mp810.c | 28 | 
1 files changed, 23 insertions, 5 deletions
| diff --git a/backend/pixma_mp810.c b/backend/pixma_mp810.c index 5b6cdfe..5f9043e 100644 --- a/backend/pixma_mp810.c +++ b/backend/pixma_mp810.c @@ -1,8 +1,8 @@  /* SANE - Scanner Access Now Easy. + Copyright (C) 2011-2015 Rolf Bensch <rolf at bensch hyphen online dot de>   Copyright (C) 2007-2009 Nicolas Martin, <nicols-guest at alioth dot debian dot org>   Copyright (C) 2006-2007 Wittawat Yamwong <wittawat@web.de> - Copyright (C) 2011-2013 Rolf Bensch <rolf at bensch hyphen online dot de>   This file is part of the SANE package. @@ -657,6 +657,23 @@ static unsigned calc_shifting (pixma_t * s)        }        break; +    case MP990_PID: +      if (s->param->xdpi == 4800) +      { +        if (is_scanning_from_tpu (s)) +        { +          mp->stripe_shift = 6; +          mp->stripe_shift2 = 6; +        } +        else +        { +          mp->stripe_shift = 3; +          mp->stripe_shift2 = 3; +        } +        mp->jumplines = 34; /* better than 32 or 34 : applies to flatbed & TPU */ +      } +      break; +      default: /* Default, and all CIS devices */        break;    } @@ -850,7 +867,7 @@ static int send_scan_param (pixma_t * s)       * 0x24 |   1   |   all   | 0x01       * -----+-------+---------+---------------------------       * 0x25 |   1   | default | 0x00; cs8800f: 0x01 -     *      |       |   tpu   | 0x00; cs9000f, mg8200: 0x01 +     *      |       |   tpu   | 0x00; cs9000f, mg8200, mp990: 0x01       *      |       |  tpuir  | cs9000f: 0x00       * -----+-------+---------+---------------------------       *  ... |   1   |   all   | 0x00 @@ -908,8 +925,8 @@ static int send_scan_param (pixma_t * s)      data[0x23] = 0x02;      data[0x24] = 0x01; -    /* MG8200 addition */ -    if (s->cfg->pid == MG8200_PID) +    /* MG8200 & MP990 addition */ +    if (s->cfg->pid == MG8200_PID || s->cfg->pid == MP990_PID)      {        if (is_scanning_from_tpu (s))        { @@ -1691,7 +1708,8 @@ static unsigned post_process_image_data (pixma_t * s, pixma_imagebuf_t * ib)          /* comment: MP970, CS8800F, CS9000F specific reordering for 4800 dpi */          if ((s->cfg->pid == MP970_PID || s->cfg->pid == CS8800F_PID -            || s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) && (s->param->xdpi == 4800)) +            || s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID +            || s->cfg->pid == MP990_PID) && (s->param->xdpi == 4800))          {            /*PDBG (pixma_dbg (4, "*post_process_image_data***** mp970_reordering pixels n = %i  *****\n", n)); */            mp970_reorder_pixels (mp->linebuf, sptr, c, s->param->wx, line_size); | 
