summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--backend_common.h1
-rw-r--r--backend_dnpds40.c36
2 files changed, 35 insertions, 2 deletions
diff --git a/backend_common.h b/backend_common.h
index 1579d85..7fdecad 100644
--- a/backend_common.h
+++ b/backend_common.h
@@ -125,6 +125,7 @@ enum {
P_DNP_DS80,
P_DNP_DS80D,
P_CITIZEN_CW01,
+ P_CITIZEN_OP900II,
P_DNP_DSRX1,
P_DNP_DS620,
P_DNP_DS820,
diff --git a/backend_dnpds40.c b/backend_dnpds40.c
index 5cbbec4..ccfeb30 100644
--- a/backend_dnpds40.c
+++ b/backend_dnpds40.c
@@ -243,6 +243,7 @@ static char *dnpds40_printer_type(int type)
case P_DNP_DSRX1: return "DSRX1";
case P_DNP_DS620: return "DS620";
case P_DNP_DS820: return "DS820";
+ case P_CITIZEN_OP900II: return "OP900ii";
default: break;
}
return "Unknown";
@@ -687,6 +688,15 @@ static void dnpds40_attach(void *vctx, struct libusb_device_handle *dev,
ctx->supports_5x5 = ctx->supports_6x6 = 1;
}
break;
+ case P_CITIZEN_OP900II:
+ ctx->native_width = 1920;
+ ctx->supports_counterp = 1;
+ ctx->supports_matte = 1;
+ ctx->supports_mqty_default = 1;
+ ctx->supports_6x9 = 1;
+ if (FW_VER_CHECK(1,11))
+ ctx->supports_2x6 = 1;
+ break;
case P_DNP_DS620:
ctx->native_width = 1920;
ctx->correct_count = 1;
@@ -818,6 +828,9 @@ static void dnpds40_attach(void *vctx, struct libusb_device_handle *dev,
break;
case P_DNP_DSRX1:
switch (ctx->media) {
+ case 210: // 2L
+ ctx->media_count_new = 350;
+ break;
case 300: // PC
ctx->media_count_new = 700;
break;
@@ -829,6 +842,25 @@ static void dnpds40_attach(void *vctx, struct libusb_device_handle *dev,
break;
}
break;
+ case P_CITIZEN_OP900II:
+ switch (ctx->media) {
+ case 210: // 2L
+ ctx->media_count_new = 350;
+ break;
+ case 300: // PC
+ ctx->media_count_new = 600;
+ break;
+ case 310: // A5
+ ctx->media_count_new = 300;
+ break;
+ case 400: // A5W
+ ctx->media_count_new = 280;
+ break;
+ default:
+ ctx->media_count_new = 999; // non-zero
+ break;
+ }
+ break;
case P_DNP_DS80:
case P_DNP_DS80D:
switch (ctx->media) {
@@ -2519,7 +2551,7 @@ static int dnpds40_cmdline_arg(void *vctx, int argc, char **argv)
/* Exported */
struct dyesub_backend dnpds40_backend = {
.name = "DNP DS40/DS80/DSRX1/DS620/DS820",
- .version = "0.96",
+ .version = "0.97",
.uri_prefix = "dnpds40",
.cmdline_usage = dnpds40_cmdline,
.cmdline_arg = dnpds40_cmdline_arg,
@@ -2536,7 +2568,7 @@ struct dyesub_backend dnpds40_backend = {
{ USB_VID_CITIZEN, USB_PID_DNP_DS620_OLD, P_DNP_DS620, NULL},
{ USB_VID_DNP, USB_PID_DNP_DS620, P_DNP_DS620, NULL},
{ USB_VID_DNP, USB_PID_DNP_DS80D, P_DNP_DS80D, NULL},
- { USB_VID_CITIZEN, USB_PID_CITIZEN_CW02, P_DNP_DS40, NULL},
+ { USB_VID_CITIZEN, USB_PID_CITIZEN_CW02, P_CITIZEN_OP900II, NULL},
{ USB_VID_CITIZEN, USB_PID_CITIZEN_CX02, P_DNP_DS620, NULL},
{ USB_VID_DNP, USB_PID_DNP_DS820, P_DNP_DS820, NULL},
{ 0, 0, 0, NULL}