hiti: Add in a bunch of updated LUTs, and doc updates

(Affects: P51x, P52x, P72x, P75x)
This commit is contained in:
Solomon Peachy 2022-05-26 12:52:05 -04:00
parent 05e628e693
commit 1d8f534ffc
28 changed files with 124 additions and 28 deletions

View File

@ -236,7 +236,7 @@ struct hiti_jc_qjc {
#define PRINT_TYPE_5x7_2UP 11
struct hiti_heattable {
uint8_t y[2050];
uint8_t y[2050]; /* 256 doubles, plus 2 byte checksum? */
uint8_t pad0[30];
uint8_t m[2050];
uint8_t pad1[30];
@ -970,11 +970,11 @@ static int hiti_attach(void *vctx, struct dyesub_connection *conn, uint8_t jobid
switch (ctx->conn->type) {
case P_HITI_52X:
if (strncmp(ctx->version, "1.23", 4) < 0)
WARNING("Printer firmware %s out of date (vs %s), please update.\n", ctx->version, "v1.23");
else if (strncmp(ctx->version, "1.22", 4) < 0 &&
strncmp(ctx->version, "1.17", 4) > 0) /* V1.18 -> v1.21 have a known USB CLEAR_ENDPOINT_HALT issue */
if (strncmp(ctx->version, "1.22", 4) < 0 &&
strncmp(ctx->version, "1.17", 4) > 0) /* V1.18 -> v1.21 have a known USB CLEAR_ENDPOINT_HALT issue */
WARNING("Printer firmware %s has a known USB bug, please update to at least v1.22\n", ctx->version);
else if (strncmp(ctx->version, "1.27", 4) < 0)
WARNING("Printer firmware %s out of date (vs %s), please update.\n", ctx->version, "v1.27");
break;
default:
break;
@ -1048,9 +1048,12 @@ static uint8_t *hiti_get_correction_data(struct hiti_ctx *ctx, uint8_t mode)
fname = "P51x_CCQP2ra.bin";
break;
case 3:
default:
fname = "P51x_CCQP3ra.bin";
break;
case 4:
default:
fname = "P51x_CCQP4ra.bin";
break;
}
} else {
switch(mediaver) {
@ -1064,15 +1067,44 @@ static uint8_t *hiti_get_correction_data(struct hiti_ctx *ctx, uint8_t mode)
fname = "P51x_CCPP2ra.bin";
break;
case 3:
default:
fname = "P51x_CCPP3ra.bin";
break;
case 4:
fname = "P51x_CCPP4ra.bin";
break;
case 5:
default:
fname = "P51x_CCPP5ra.bin";
break;
}
}
}
break;
case P_HITI_52X:
fname = "P52x_CCPPri.bin";
switch(mediaver) {
case 0:
fname = "P52x_CCPPri.bin";
break;
case 1:
fname = "P52x_CCPP1ri.bin";
break;
case 2:
fname = "P52x_CCPP2ri.bin";
break;
case 3:
fname = "P52x_CCPP3ri.bin";
break;
case 4:
fname = "P52x_CCPP4ri.bin";
break;
case 5:
fname = "P52x_CCPP5ri.bin";
break;
case 6:
default:
fname = "P52x_CCPP6ri.bin";
break;
}
break;
case P_HITI_720:
if (!mediatype) {
@ -1099,9 +1131,21 @@ static uint8_t *hiti_get_correction_data(struct hiti_ctx *ctx, uint8_t mode)
fname = "P72x_CCQP3rd.bin";
break;
case 4:
default:
fname = "P72x_CCQP4rd.bin";
break;
break;
case 5:
fname = "P72x_CCQP5rd.bin";
break;
case 7:
fname = "P72x_CCQP7rd.bin";
break;
case 8:
fname = "P72x_CCQP8rd.bin";
break;
case 9:
default:
fname = "P72x_CCQP9rd.bin";
break;
}
} else {
switch(mediaver) {
@ -1126,7 +1170,37 @@ static uint8_t *hiti_get_correction_data(struct hiti_ctx *ctx, uint8_t mode)
}
break;
case P_HITI_750:
fname = "P75x_CCQPrh.bin";
if (mode) {
switch(mediaver) {
case 0:
fname = "P75x_CCQPrh.bin";
break;
case 1:
fname = "P75x_CCQP1rh.bin";
break;
case 2:
fname = "P75x_CCQP2rh.bin";
break;
case 3:
fname = "P75x_CCQP3rh.bin";
break;
case 4:
fname = "P75x_CCQP4rh.bin";
break;
case 5:
fname = "P75x_CCQP5rh.bin";
break;
case 6:
fname = "P75x_CCQP6rh.bin";
break;
case 7:
default:
fname = "P75x_CCQP7rh.bin";
break;
}
} else {
fname = "P75x_CCPPrh.bin";
}
break;
default:
fname = NULL;
@ -2406,7 +2480,7 @@ static const char *hiti_prefixes[] = {
const struct dyesub_backend hiti_backend = {
.name = "HiTi Photo Printers",
.version = "0.33",
.version = "0.34",
.uri_prefixes = hiti_prefixes,
.cmdline_usage = hiti_cmdline,
.cmdline_arg = hiti_cmdline_arg,

View File

@ -1982,7 +1982,7 @@ const struct dyesub_backend shinkos6145_backend = {
{ 0x10ce, 0x0039, P_SHINKO_S2245, NULL, "sinfonia-chcs2245"},
{ 0x29cc, 0x0003, P_KODAK_6900, NULL, "kodak-6900"}, /* aka CHC-S2245-6A */
{ 0x29cc, 0x0004, P_KODAK_6900, NULL, "kodak-6950"}, /* aka CHC-S2245-6C */
{ 0x0d16, 0x0010, P_SHINKO_S2245, NULL, "hiti-m610"},
{ 0x0d16, 0x0010, P_SHINKO_S2245, NULL, "hiti-m610"}, /* aka CHC-S2245-5F */
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -1482,7 +1482,7 @@ const struct dyesub_backend shinkos6245_backend = {
.devices = {
{ 0x10ce, 0x001d, P_SHINKO_S6245, NULL, "sinfonia-chcs6245"},
{ 0x10ce, 0x001d, P_SHINKO_S6245, NULL, "shinko-chcs6245"}, /* Duplicate */
{ 0x0d16, 0x000e, P_HITI_910, NULL, "hiti-p910l"},
{ 0x0d16, 0x000e, P_HITI_910, NULL, "hiti-p910l"}, /* aka CHC-S6245-5B */
{ 0x040a, 0x404d, P_KODAK_8810, NULL, "kodak-8810"},
{ 0, 0, 0, NULL, NULL}
}

Binary file not shown.

BIN
hiti_data/P51x_CCPP4ra.bin Normal file

Binary file not shown.

BIN
hiti_data/P51x_CCPP5ra.bin Normal file

Binary file not shown.

Binary file not shown.

BIN
hiti_data/P51x_CCQP4ra.bin Normal file

Binary file not shown.

BIN
hiti_data/P52x_CCPP1ri.bin Normal file

Binary file not shown.

BIN
hiti_data/P52x_CCPP2ri.bin Normal file

Binary file not shown.

BIN
hiti_data/P52x_CCPP3ri.bin Normal file

Binary file not shown.

BIN
hiti_data/P52x_CCPP4ri.bin Normal file

Binary file not shown.

BIN
hiti_data/P52x_CCPP5ri.bin Normal file

Binary file not shown.

BIN
hiti_data/P52x_CCPP6ri.bin Normal file

Binary file not shown.

Binary file not shown.

BIN
hiti_data/P72x_CCQP5rd.bin Normal file

Binary file not shown.

BIN
hiti_data/P72x_CCQP7rd.bin Normal file

Binary file not shown.

BIN
hiti_data/P72x_CCQP8rd.bin Normal file

Binary file not shown.

BIN
hiti_data/P72x_CCQP9rd.bin Normal file

Binary file not shown.

BIN
hiti_data/P75x_CCPPrh.bin Normal file

Binary file not shown.

BIN
hiti_data/P75x_CCQP1rh.bin Normal file

Binary file not shown.

BIN
hiti_data/P75x_CCQP2rh.bin Normal file

Binary file not shown.

BIN
hiti_data/P75x_CCQP3rh.bin Normal file

Binary file not shown.

BIN
hiti_data/P75x_CCQP4rh.bin Normal file

Binary file not shown.

BIN
hiti_data/P75x_CCQP5rh.bin Normal file

Binary file not shown.

BIN
hiti_data/P75x_CCQP6rh.bin Normal file

Binary file not shown.

BIN
hiti_data/P75x_CCQP7rh.bin Normal file

Binary file not shown.

View File

@ -7,27 +7,30 @@ LUT filename Codes:
C M Q P ? ra [ .bin ]
-- model code, see below
- media version, 0..n (if not present, interpret as 0)
- always P (or 'CL', or 'B')
- ?? (usually P, but also seen B, C, CL, I)
- print quality, Q == fine, P == normal
- media type, M == DNP, C == CHC (?)
- Always C
- ?? (usually C, also seen RC)
model codes:
cb = CS2xx
ra = P51x
rd = P72x
rh = P75x
ri = P52x (or 'ri1')
rk = P530
si = P11x
cd = CS2xx
cl = CS2xx (sub-model?)
cm = CS2xx (sub-model?)
ra = P51x
rd = P72x
rh = P75x
ri = P52x (520/525?)
ri1 = P52x (528?)
rk = P530
si = P11x
Heat table codes:
hea 0 q c ra [.bin]
-- model code, see above
- media type, h == DNP, c == CHC (?)
- print quality, q == fine, t == normal, (or p == ?)
- print quality, q == fine, t == normal, (also seen p/r/o == ?)
- media version, 0..n (or 't')
--- always 'hea'
@ -35,7 +38,26 @@ Heat table types:
size
11108 (SEHT2 * 5 + CVD (Y + M + C + Gloss + Matte + CVD)
12568 ??
12603 ??
15732 ??
11108 ra (older)
SEHT2 * 5 (Y + M + C + Gloss + Matte)
256 doubles
2 byte checksum
30 bytes pad
CVD
582 bytes
26 bytes pad
12568 ?? rd(qc/qh/pc/ph) / rh(qc) /rk/ri/ri1
12603 ?? rd(qc)
12753 ?? cd(ph) / cm cm(ph)
12917 ra (newer)
?? * 5 (Y M C OG OM, presumably)
256 doubles
8 bytes pad (?)
?? Tone curve (SHPTC, maybe?)
256 doubles
7 bytes pad
CVD
582 bytes
15732 ?? rd(th) / rh(pc/tc)
58170 ?? cd(oh/th)
77996 ?? cl / cm(oh/th)