mitsu_s5k: More fixes, mostly duplexing related.

This commit is contained in:
Solomon Peachy 2023-07-15 09:01:14 -04:00
parent 51fdf80846
commit 9a591f7eb1

View file

@ -355,10 +355,10 @@ struct mitsuw5k_job_hdr {
uint8_t cuts; // 0-2
uint16_t cut1;
uint16_t cut2;
uint8_t duplex; // 0:none 1:tumble 2:notumble
uint8_t single; // 1:single page, 0:duplex
uint8_t finish; // 0:gloss, 1:semi-gloss 2:matte
uint8_t finishback; // 0:gloss, 1:semi-gloss, 2:matte, ff:none
uint8_t zero[2];
uint8_t unk[2]; // XXX 01 00, 01 01, 01 02 seen on windows driver, latter two with duplex of some sort. 00 00 hardcoded with linux driver.
uint8_t colorconv; // 1: off, 0: internal
uint8_t sharp_H; // 0-8 or 0xff (ie printer)
uint8_t sharp_V; // 0-8 or 0xff (ie printer)
@ -366,7 +366,7 @@ struct mitsuw5k_job_hdr {
} __attribute__((packed));
struct mitsuw5k_plane_hdr {
int8_t hdr[4]; // 1b 5a 54 00 // 54 01 for PRINT
int8_t hdr[4]; // 1b 5a 54 01
uint8_t zero[4];
uint16_t cols;
uint16_t rows;
@ -383,7 +383,9 @@ static const char *mitsud90_mecha_statuses(const uint8_t *code)
return "Idle";
case W5K_MECHA_STATUS_PRINTING:
// codes seen:
// 22 30 31 32 33 34 35 37 38 42 50 51 52 53 55 57 58 60
// 22 30 31 32 33 34 35 37 38 <-- Side A?
// 42 50 51 52 53 55 57 58 <-- Side B?
// 60 <-- Finish?
return "Printing (Unknown)";
case D90_MECHA_STATUS_PRINTING:
switch (code[1]) {
@ -1061,7 +1063,7 @@ static int mitsud90_read_parse(void *vctx, const void **vjob, int data_fd, int c
/* Add in the plane header */
remain += sizeof(struct mitsuw5k_plane_hdr);
if (hdr->duplex)
if (!hdr->single)
job->is_duplex = 1;
/* Note the job has an OPTIONAL start block.
@ -2395,7 +2397,7 @@ static const char *mitsud90_prefixes[] = {
/* Exported */
const struct dyesub_backend mitsud90_backend = {
.name = "Mitsubishi CP-D90/CP-M1/CP-W5000",
.version = "0.43" " (lib " LIBMITSU_VER ")",
.version = "0.44" " (lib " LIBMITSU_VER ")",
.uri_prefixes = mitsud90_prefixes,
.cmdline_arg = mitsud90_cmdline_arg,
.cmdline_usage = mitsud90_cmdline,