From af8533e057291a9a5b98b0d3ed3081b011bf4e06 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Wed, 7 Mar 2018 09:51:39 -0500 Subject: dnpds40: The OP900ii is closer to the CY/RX1 than DS40. --- backend_common.h | 1 + backend_dnpds40.c | 36 ++++++++++++++++++++++++++++++++++-- 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} -- cgit v1.2.1