summaryrefslogtreecommitdiff
path: root/backend/pixma
diff options
context:
space:
mode:
Diffstat (limited to 'backend/pixma')
-rw-r--r--backend/pixma/pixma_common.h2
-rw-r--r--backend/pixma/pixma_imageclass.c1
-rw-r--r--backend/pixma/pixma_io_sanei.c4
-rw-r--r--backend/pixma/pixma_mp150.c24
4 files changed, 28 insertions, 3 deletions
diff --git a/backend/pixma/pixma_common.h b/backend/pixma/pixma_common.h
index 5b393dc..68d10ff 100644
--- a/backend/pixma/pixma_common.h
+++ b/backend/pixma/pixma_common.h
@@ -70,7 +70,7 @@
#define PIXMA_STATUS_FAILED 0x1515
#define PIXMA_STATUS_BUSY 0x1414
-#define PIXMA_MAX_ID_LEN 30
+#define PIXMA_MAX_ID_LEN 40
/* These may have been defined elsewhere */
#ifndef MIN
diff --git a/backend/pixma/pixma_imageclass.c b/backend/pixma/pixma_imageclass.c
index 83b19bd..c750b20 100644
--- a/backend/pixma/pixma_imageclass.c
+++ b/backend/pixma/pixma_imageclass.c
@@ -953,6 +953,7 @@ const pixma_config_t pixma_iclass_devices[] = {
DEV ("Canon i-SENSYS MF4700 Series", "MF4700", MF4700_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF),
DEV ("Canon i-SENSYS MF4800 Series", "MF4800", MF4800_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF),
DEV ("Canon imageCLASS MF4570dw", "MF4570dw", MF4570_PID, 600, 0, 640, 877, 0),
+ DEV ("Canon imageClass MF4500w Series", "MF4500w", MF4570_PID, 600, 0, 640, 877, 0),
DEV ("Canon i-SENSYS MF8200C Series", "MF8200C", MF8200_PID, 600, 300, 640, 1050, PIXMA_CAP_ADF),
DEV ("Canon i-SENSYS MF8300 Series", "MF8300", MF8300_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF),
DEV ("Canon imageCLASS D530", "D530", D530_PID, 600, 0, 640, 877, 0),
diff --git a/backend/pixma/pixma_io_sanei.c b/backend/pixma/pixma_io_sanei.c
index 394523e..756e0de 100644
--- a/backend/pixma/pixma_io_sanei.c
+++ b/backend/pixma/pixma_io_sanei.c
@@ -132,7 +132,7 @@ attach_bjnp (SANE_String_Const devname,
return SANE_STATUS_NO_MEM;
si->cfg = cfg;
- sprintf(si->serial, "%s_%s", cfg->model, serial);
+ snprintf(si->serial, sizeof(si->serial), "%s_%s", cfg->model, serial);
si -> interface = INT_BJNP;
si->next = first_scanner;
first_scanner = si;
@@ -188,7 +188,7 @@ u16tohex (uint16_t x, char *str)
static void
read_serial_number (scanner_info_t * si)
{
- uint8_t unicode[2 * (PIXMA_MAX_ID_LEN - 9) + 2];
+ uint8_t unicode[2 * (PIXMA_MAX_ID_LEN - 9) + 2]; // 9 = size of VID + PID + "_"
uint8_t ddesc[18];
int iSerialNumber;
SANE_Int usb;
diff --git a/backend/pixma/pixma_mp150.c b/backend/pixma/pixma_mp150.c
index 99024ca..b582c48 100644
--- a/backend/pixma/pixma_mp150.c
+++ b/backend/pixma/pixma_mp150.c
@@ -363,6 +363,18 @@
#define TS7700A_PID 0x1111
#define GX6500_PID 0x1148
+/* 2024 new device (untested) */
+#define TS3600_PID 0x1156
+#define TS3700_PID 0x1158
+#define E3600_PID 0x1157
+
+#define G4090_PID 0x114A
+#define G4080_PID 0x114B
+#define G3090_PID 0x114C
+#define G3080_PID 0x114D
+#define TS8800_PID 0x1159
+#define XK130_PID 0x115A
+
/* Generation 4 XML messages that encapsulates the Pixma protocol messages */
#define XML_START_1 \
"<?xml version=\"1.0\" encoding=\"utf-8\" ?>\
@@ -2017,5 +2029,17 @@ const pixma_config_t pixma_mp150_devices[] = {
DEVICE ("Canon PIXMA TS7700A series", "TS7700A", TS7700A_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS),
DEVICE ("Canon PIXMA GX6500 series", "GX6500", GX6500_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF),
+ DEVICE ("Canon PIXMA TS3600 Series", "TS3600", TS3600_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS),
+ DEVICE ("Canon PIXMA TS3700 Series", "TS3700", TS3700_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS),
+ DEVICE ("Canon PIXMA E3600 Series", "E3600", E3600_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF),
+
+ DEVICE ("Canon PIXMA G4090", "G4090", G4090_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS),
+ DEVICE ("Canon PIXMA G4080", "G4080", G4080_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS),
+ DEVICE ("Canon PIXMA G3090", "G3090", G3090_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS),
+ DEVICE ("Canon PIXMA G3080", "G3080", G3080_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS),
+ DEVICE ("Canon PIXMA TS8800 series", "TS8800", TS8800_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS),
+ DEVICE ("Canon PIXMA XK130 series", "XK130", XK130_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS),
+
+
END_OF_DEVICE_LIST
};