mitsud80: We may need to slow print speed for some SuperFine prints

We can always rewind, but we might need to slow down to do so safely.

Requires an updated lib70x.
This commit is contained in:
Solomon Peachy 2024-06-03 21:59:16 -04:00
parent e44fbc2d0c
commit a604625ed5
2 changed files with 11 additions and 7 deletions

View file

@ -94,7 +94,7 @@ typedef int (*CPD30_DoConvertFN)(const struct mitsu_cpd30_data *table,
#warning "No dynamic loading support!"
#endif
#define REQUIRED_LIB_APIVERSION 9
#define REQUIRED_LIB_APIVERSION 10
#define LIBMITSU_VER "0.12"

View file

@ -1788,7 +1788,7 @@ static int mitsu70x_main_loop(void *vctx, const void *vjob, int wait_for_return)
goto bypass;
struct BandImage input;
uint8_t rew[2] = { 1, 1 }; /* 1 for rewind ok (default!) */
uint8_t rew[3] = { 1, 1, 1 }; /* 1 for rewind ok (default!) */
// XXX only allow rewinds for appropriate sizes?
/* Load in the CPC file, if needed */
@ -1847,12 +1847,16 @@ static int mitsu70x_main_loop(void *vctx, const void *vjob, int wait_for_return)
return CUPS_BACKEND_CANCEL;
}
/* We can't rewind when printing matte or on fine (fastest) speed */
if (job->matte || hdr->speed == 0)
rew[0] = 0;
/* Twiddle rewind stuff if needed */
if (ctx->conn->type != P_MITSU_D70X) {
/* We can't rewind when printing matte or on fine (fastest) speed */
if (job->matte || hdr->speed == 0)
rew[0] = 0;
/* We may need to lower the printspeed... */
if (rew[2] == 0 && hdr->speed == 3)
hdr->speed = 4;
hdr->rewind[0] = !rew[0];
hdr->rewind[1] = !rew[1];
DEBUG("Rewind Inhibit? %02x %02x\n", hdr->rewind[0], hdr->rewind[1]);
@ -2635,7 +2639,7 @@ static const struct device_id mitsu70x_devices[] = {
/* Exported */
const struct dyesub_backend mitsu70x_backend = {
.name = "Mitsubishi CP-D70 family",
.version = "0.113" " (lib " LIBMITSU_VER ")",
.version = "0.114" " (lib " LIBMITSU_VER ")",
.flags = BACKEND_FLAG_DUMMYPRINT,
.uri_prefixes = mitsu70x_prefixes,
.devices = mitsu70x_devices,