diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2023-02-12 17:36:29 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2023-02-12 17:36:29 +0100 |
commit | 882fd010527b8d8823f09e19edbed3746265fa08 (patch) | |
tree | be5c7cace6697afc753c152d13ad5145d0884a42 /backend/pixma/pixma_mp730.c | |
parent | 527bedac30eb120915718eb7997e6dacd583512e (diff) | |
parent | e0d94cf4d39395df1e2c6bb4d967200298c13881 (diff) |
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'backend/pixma/pixma_mp730.c')
-rw-r--r-- | backend/pixma/pixma_mp730.c | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/backend/pixma/pixma_mp730.c b/backend/pixma/pixma_mp730.c index 3a436d7..1fc9a74 100644 --- a/backend/pixma/pixma_mp730.c +++ b/backend/pixma/pixma_mp730.c @@ -76,6 +76,8 @@ #define MP740_PID 0x264c /* Untested */ #define MP710_PID 0x264d +#define MF5630_PID 0x264e /* Untested */ +#define MF5650_PID 0x264f #define MF5730_PID 0x265d /* Untested */ #define MF5750_PID 0x265e /* Untested */ #define MF5770_PID 0x265f @@ -318,6 +320,8 @@ handle_interrupt (pixma_t * s, int timeout) case MP370_PID: case MP375R_PID: case MP390_PID: + case MF5630_PID: + case MF5650_PID: case MF5730_PID: case MF5750_PID: case MF5770_PID: @@ -372,6 +376,8 @@ has_ccd_sensor (pixma_t * s) s->cfg->pid == MP370_PID || s->cfg->pid == MP375R_PID || s->cfg->pid == MP390_PID || + s->cfg->pid == MF5630_PID || + s->cfg->pid == MF5650_PID || s->cfg->pid == MF5730_PID || s->cfg->pid == MF5750_PID || s->cfg->pid == MF5770_PID); @@ -415,6 +421,8 @@ step1 (pixma_t * s) { switch (s->cfg->pid) { + case MF5630_PID: + case MF5650_PID: case MF5730_PID: case MF5750_PID: case MF5770_PID: @@ -424,10 +432,10 @@ step1 (pixma_t * s) int tmo = 10; /* like Windows driver, 10 sec CCD calibration ? */ while (--tmo >= 0) { - error = handle_interrupt (s, 1000); \ - if (s->cancel) \ - return PIXMA_ECANCELED; \ - if (error != PIXMA_ECANCELED && error < 0) \ + error = handle_interrupt (s, 1000); + if (s->cancel) + return PIXMA_ECANCELED; + if (error != PIXMA_ECANCELED && error < 0) return error; PDBG (pixma_dbg (2, "CCD Calibration ends in %d sec.\n", tmo)); } @@ -443,6 +451,8 @@ step1 (pixma_t * s) switch (s->cfg->pid) { + case MF5630_PID: + case MF5650_PID: case MF5730_PID: case MF5750_PID: case MF5770_PID: @@ -696,6 +706,8 @@ mp730_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) if (n != 0) { if (s->param->channels != 1 && + s->cfg->pid != MF5630_PID && + s->cfg->pid != MF5650_PID && s->cfg->pid != MF5730_PID && s->cfg->pid != MF5750_PID && s->cfg->pid != MF5770_PID && @@ -751,7 +763,9 @@ mp730_finish_scan (pixma_t * s) (s->param->source == PIXMA_SOURCE_ADF || s->param->source == PIXMA_SOURCE_ADFDUP) && has_paper (s) && - (s->cfg->pid == MF5730_PID || + (s->cfg->pid == MF5630_PID || + s->cfg->pid == MF5650_PID || + s->cfg->pid == MF5730_PID || s->cfg->pid == MF5750_PID || s->cfg->pid == MF5770_PID || s->cfg->pid == IR1020_PID)) @@ -833,6 +847,8 @@ const pixma_config_t pixma_mp730_devices[] = { 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 MF5630", "MF5630", MF5630_PID, 1200, 636, 868, PIXMA_CAP_ADF), + DEVICE ("Canon laserBase MF5650", "MF5650", MF5650_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 MF5770", "MF5770", MF5770_PID, 1200, 636, 868, PIXMA_CAP_ADF), |