DNP: DNP/EU has released firmware (1.34) with lustre support.

This commit is contained in:
Solomon Peachy 2016-06-26 07:18:45 -04:00
parent a84d7c40ad
commit 829570e2be
1 changed files with 13 additions and 1 deletions

View File

@ -94,6 +94,7 @@ struct dnpds40_ctx {
int supports_2x6;
int supports_3x5x2;
int supports_matte;
int supports_luster;
int supports_fullcut;
int supports_rewind;
int supports_standby;
@ -608,6 +609,8 @@ static void dnpds40_attach(void *vctx, struct libusb_device_handle *dev,
ctx->supports_6x9 = ctx->supports_6x4_5 = 1;
if (FW_VER_CHECK(1,20))
ctx->supports_adv_fullcut = 1;
if (FW_VER_CHECK(1,30))
ctx->supports_luster = 1;
break;
default:
ERROR("Unknown vid/pid %04x/%04x (%d)\n", desc.idVendor, desc.idProduct, ctx->type);
@ -832,6 +835,15 @@ static int dnpds40_read_parse(void *vctx, int data_fd) {
if (!ctx->datalen)
return CUPS_BACKEND_CANCEL;
/* Sanity check matte mode */
if (ctx->matte == 22 && !ctx->supports_luster) {
WARNING("Printer FW does not support Luster mode, downgrading to normal matte\n");
ctx->matte -= 21;
} else if (ctx->matte > 1) {
WARNING("Unknown matte mode selected, downgrading to normal matte\n");
ctx->matte -= 21;
}
/* Make sure MULTICUT is sane, most validation needs this */
if (!ctx->multicut) {
WARNING("Missing or illegal MULTICUT command!\n");
@ -2073,7 +2085,7 @@ static int dnpds40_cmdline_arg(void *vctx, int argc, char **argv)
/* Exported */
struct dyesub_backend dnpds40_backend = {
.name = "DNP DS40/DS80/DSRX1/DS620",
.version = "0.77",
.version = "0.78",
.uri_prefix = "dnpds40",
.cmdline_usage = dnpds40_cmdline,
.cmdline_arg = dnpds40_cmdline_arg,