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

(Affects: P51x, P52x, P72x, P75x)
master
Solomon Peachy 10 months ago
parent 05e628e693
commit 1d8f534ffc

@ -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,

@ -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}
}
};

@ -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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -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)

Loading…
Cancel
Save