summaryrefslogtreecommitdiff
path: root/backend/canon_dr.c
diff options
context:
space:
mode:
Diffstat (limited to 'backend/canon_dr.c')
-rw-r--r--backend/canon_dr.c36
1 files changed, 35 insertions, 1 deletions
diff --git a/backend/canon_dr.c b/backend/canon_dr.c
index 15dcc59..0b120fa 100644
--- a/backend/canon_dr.c
+++ b/backend/canon_dr.c
@@ -309,6 +309,8 @@
- set another unknown byte in buffermode for ssm2
- add another gettimeofday call at end of do_usb_cmd
- don't print 0 length line in hexdump
+ v49 2015-03-18, MAN
+ - initial support for DR-C125
SANE FLOW DIAGRAM
@@ -358,7 +360,7 @@
#include "canon_dr.h"
#define DEBUG 1
-#define BUILD 48
+#define BUILD 49
/* values for SANE_DEBUG_CANON_DR env var:
- errors 5
@@ -1542,6 +1544,38 @@ init_model (struct scanner *s)
s->can_monochrome=0;
}
+ else if (strstr (s->model_name,"DR-C125")
+ || strstr (s->model_name,"DR-C225")
+ ){
+
+ /*confirmed settings*/
+ s->gray_interlace[SIDE_FRONT] = GRAY_INTERLACE_2510;
+ s->gray_interlace[SIDE_BACK] = GRAY_INTERLACE_2510;
+ s->color_interlace[SIDE_FRONT] = COLOR_INTERLACE_2510;
+ s->color_interlace[SIDE_BACK] = COLOR_INTERLACE_2510;
+ s->duplex_interlace = DUPLEX_INTERLACE_2510;
+ 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;