[sane-devel] UsbSnoop for Canon DR-C225

m. allan noah kitno455 at gmail.com
Tue Apr 7 01:40:14 UTC 2015


I have attached a patch which will hopefully improve the situation. I
have guessed at most of the parameters, and so we might have to
experiment. Please apply this to a current git repo, and try some
scans, simplex, duplex, color, gray, etc.

allan

On Wed, Apr 1, 2015 at 9:57 AM, Nicolas Marchildon
<nicolas at marchildon.net> wrote:
> Le mar. 31 mars 2015 à 21:56, Nicolas Marchildon <nicolas at marchildon.net> a
> écrit :
>>>
>>> Can you get another usb log from windows, but this time with a low
>>> resolution, color duplex scan, of only the top of the paper? If the
>>> front side could have RGB written in those colors, and the back side
>>> could be blank or have black writing, that would help.
>>
>>
>> I'll do that tomorrow. I have attached what I plan to scan. I assume a
>> large font is going to make it easier to spot.
>
>
> I cut the bottom of the sheet off in an attempt to reduce file size, but
> it's slightly bigger. I can't go lower than 150 dpi.
>
> https://drive.google.com/file/d/0B1s3C34oDHi5UkowLTVaZDZsSVk/view



-- 
"well, I stand up next to a mountain- and I chop it down with the edge
of my hand"
-------------- next part --------------
diff --git a/backend/canon_dr.c b/backend/canon_dr.c
index 0b120fa..4d0bf46 100644
--- a/backend/canon_dr.c
+++ b/backend/canon_dr.c
@@ -360,7 +360,7 @@
 #include "canon_dr.h"
 
 #define DEBUG 1
-#define BUILD 49
+#define BUILD 50
 
 /* values for SANE_DEBUG_CANON_DR env var:
  - errors           5
@@ -1544,9 +1544,7 @@ init_model (struct scanner *s)
     s->can_monochrome=0;
   }
 
-  else if (strstr (s->model_name,"DR-C125")
-   || strstr (s->model_name,"DR-C225")
-  ){
+  else if (strstr (s->model_name,"DR-C125")){
 
     /*confirmed settings*/
     s->gray_interlace[SIDE_FRONT] = GRAY_INTERLACE_2510;
@@ -1576,6 +1574,35 @@ init_model (struct scanner *s)
     s->valid_x = 8.5 * 1200;
   }
 
+  else if (strstr (s->model_name,"DR-C225")){
+
+    s->color_interlace[SIDE_FRONT] = COLOR_INTERLACE_RRGGBB;
+    s->color_interlace[SIDE_BACK] = COLOR_INTERLACE_rRgGbB;
+    s->gray_interlace[SIDE_BACK] = GRAY_INTERLACE_gG;
+    s->duplex_interlace = DUPLEX_INTERLACE_FBFB;
+
+    s->unknown_byte2 = 0x88;
+    s->need_ccal = 1;
+    s->ccal_version = 3;
+    s->need_fcal = 1;
+    s->invert_tly = 1;
+    s->can_color = 1;
+    s->rgb_format = 1;
+    /*s->duplex_offset = 400; now set in config file*/
+
+    /*only in Y direction, so we trash them in X*/
+    s->std_res_x[DPI_100]=0;
+    s->std_res_x[DPI_150]=0;
+    s->std_res_x[DPI_200]=0;
+    s->std_res_x[DPI_240]=0;
+    s->std_res_x[DPI_400]=0;
+
+    /*suspected settings*/
+    s->always_op = 0;
+    s->fixed_width = 1;
+    s->valid_x = 8.5 * 1200;
+  }
+
   DBG (10, "init_model: finish\n");
 
   return SANE_STATUS_GOOD;


More information about the sane-devel mailing list