parent
9c8a521de5
commit
4f41aa37da
11
README
11
README
|
@ -78,7 +78,7 @@
|
|||
HiTi P110 series
|
||||
HiTi P510 series
|
||||
HiTi M610 (not X610!)
|
||||
HiTi P720L
|
||||
HiTi P720L / P728L
|
||||
HiTi P750L
|
||||
HiTi P910L
|
||||
HiTi CS-200e
|
||||
|
@ -1236,8 +1236,10 @@ Notes:
|
|||
|
||||
Model IDs recognized:
|
||||
|
||||
hiti-p510k hiti-p510l hiti-p510s hiti-p510si
|
||||
hiti-p518a hiti-p518s
|
||||
hiti-p520l hiti-p525l hiti-p52x
|
||||
hiti-p720l hiti-p750l
|
||||
hiti-p720l hiti-p728l hiti-p750l
|
||||
|
||||
Verified supported printers:
|
||||
|
||||
|
@ -1246,13 +1248,14 @@ Notes:
|
|||
|
||||
Theoretically supported printers (Untested)
|
||||
|
||||
HiTi P720L
|
||||
HiTi P510 series
|
||||
HiTi P518 series
|
||||
HiTi P720L / P728L
|
||||
HiTi P750L
|
||||
|
||||
Work-in-progress printers
|
||||
|
||||
HiTi P110 series
|
||||
HiTi P510 series
|
||||
|
||||
This backend supports additional commands:
|
||||
|
||||
|
|
|
@ -236,9 +236,9 @@ struct hiti_heattable {
|
|||
uint8_t pad1[30];
|
||||
uint8_t c[2050];
|
||||
uint8_t pad2[30];
|
||||
uint8_t o[2050];
|
||||
uint8_t o[2050]; /* Overcoat Glossy */
|
||||
uint8_t pad3[30];
|
||||
uint8_t om[2050];
|
||||
uint8_t om[2050]; /* Overcoat Matte */
|
||||
uint8_t pad4[30];
|
||||
uint8_t cvd[582];
|
||||
uint8_t pad5[26];
|
||||
|
@ -1164,7 +1164,7 @@ static int hiti_send_heat_data(struct hiti_ctx *ctx, uint8_t mode, uint8_t matte
|
|||
switch (ctx->conn->type)
|
||||
{
|
||||
case P_HITI_51X:
|
||||
if (!mediatype) {
|
||||
if (!mediatype) { /* DNP media */
|
||||
if (mode) {
|
||||
fname = "P51x_heatqhra.bin";
|
||||
break;
|
||||
|
@ -1172,37 +1172,37 @@ static int hiti_send_heat_data(struct hiti_ctx *ctx, uint8_t mode, uint8_t matte
|
|||
fname = "P51x_heatthra.bin";
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
} else { /* CHC media */
|
||||
if (mode) {
|
||||
switch(mediaver) {
|
||||
case 0:
|
||||
fname = "P51x_hea0qhra.bin";
|
||||
fname = "P51x_hea0qcra.bin";
|
||||
break;
|
||||
case 1:
|
||||
fname = "P51x_hea1qhra.bin";
|
||||
fname = "P51x_hea1qcra.bin";
|
||||
break;
|
||||
case 2:
|
||||
fname = "P51x_hea2qhra.bin";
|
||||
fname = "P51x_hea2qcra.bin";
|
||||
break;
|
||||
case 3:
|
||||
default:
|
||||
fname = "P51x_hea3qhra.bin";
|
||||
fname = "P51x_hea3qcra.bin";
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch(mediaver) {
|
||||
case 0:
|
||||
fname = "P51x_hea0thra.bin";
|
||||
fname = "P51x_hea0tcra.bin";
|
||||
break;
|
||||
case 1:
|
||||
fname = "P51x_hea1thra.bin";
|
||||
fname = "P51x_hea1tcra.bin";
|
||||
break;
|
||||
case 2:
|
||||
fname = "P51x_hea2thra.bin";
|
||||
fname = "P51x_hea2tcra.bin";
|
||||
break;
|
||||
case 3:
|
||||
default:
|
||||
fname = "P51x_hea3thra.bin";
|
||||
fname = "P51x_hea3tcra.bin";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1493,6 +1493,13 @@ static int hiti_read_parse(void *vctx, const void **vjob, int data_fd, int copie
|
|||
/* Sanity check printer type vs job type */
|
||||
switch(ctx->conn->type)
|
||||
{
|
||||
case P_HITI_51X:
|
||||
if (job->hdr.model != 510) {
|
||||
ERROR("Unrecognized header!\n");
|
||||
hiti_cleanup_job(job);
|
||||
return CUPS_BACKEND_CANCEL;
|
||||
}
|
||||
break;
|
||||
case P_HITI_52X:
|
||||
if (job->hdr.model != 520) {
|
||||
ERROR("Unrecognized header!\n");
|
||||
|
@ -1789,10 +1796,14 @@ static int hiti_main_loop(void *vctx, const void *vjob)
|
|||
|
||||
uint8_t chs[2] = { 0, 1 }; /* Fixed..? */
|
||||
|
||||
resplen = 0;
|
||||
ret = hiti_docmd(ctx, CMD_EFD_CHS, chs, sizeof(chs), &resplen);
|
||||
if (ret)
|
||||
return CUPS_BACKEND_FAILED;
|
||||
if (ctx->conn->type == P_HITI_51X) {
|
||||
ret = hiti_send_heat_data(ctx, job->hdr.quality, job->hdr.overcoat);
|
||||
} else {
|
||||
resplen = 0;
|
||||
ret = hiti_docmd(ctx, CMD_EFD_CHS, chs, sizeof(chs), &resplen);
|
||||
if (ret)
|
||||
return CUPS_BACKEND_FAILED;
|
||||
}
|
||||
|
||||
ret = hiti_docmd(ctx, CMD_EPC_SP, NULL, 0, &resplen);
|
||||
if (ret)
|
||||
|
@ -1801,9 +1812,6 @@ static int hiti_main_loop(void *vctx, const void *vjob)
|
|||
// XXX send ESD_SHTPC w/ heat table. Unknown.
|
||||
// CMD_ESD_SHPTC // Heating Parameters & Tone Curve (~7Kb, seen on windows..)
|
||||
/* Send heat table data */
|
||||
if (ctx->conn->type == P_HITI_51X) {
|
||||
ret = hiti_send_heat_data(ctx, job->hdr.quality, job->hdr.overcoat);
|
||||
}
|
||||
|
||||
resend_y:
|
||||
INFO("Sending yellow plane\n");
|
||||
|
@ -2336,7 +2344,7 @@ static const char *hiti_prefixes[] = {
|
|||
|
||||
const struct dyesub_backend hiti_backend = {
|
||||
.name = "HiTi Photo Printers",
|
||||
.version = "0.22",
|
||||
.version = "0.23",
|
||||
.uri_prefixes = hiti_prefixes,
|
||||
.cmdline_usage = hiti_cmdline,
|
||||
.cmdline_arg = hiti_cmdline_arg,
|
||||
|
@ -2349,9 +2357,16 @@ const struct dyesub_backend hiti_backend = {
|
|||
.query_markers = hiti_query_markers,
|
||||
.query_stats = hiti_query_stats,
|
||||
.devices = {
|
||||
{ USB_VID_HITI, USB_PID_HITI_P510K, P_HITI_51X, NULL, "hiti-p510k"},
|
||||
{ USB_VID_HITI, USB_PID_HITI_P510L, P_HITI_51X, NULL, "hiti-p510l"},
|
||||
{ USB_VID_HITI, USB_PID_HITI_P518A, P_HITI_51X, NULL, "hiti-p518a"},
|
||||
{ USB_VID_HITI, USB_PID_HITI_P510S, P_HITI_51X, NULL, "hiti-p510s"},
|
||||
{ USB_VID_HITI, USB_PID_HITI_P510SI, P_HITI_51X, NULL, "hiti-p510si"},
|
||||
{ USB_VID_HITI, USB_PID_HITI_P518S, P_HITI_51X, NULL, "hiti-p518s"},
|
||||
{ USB_VID_HITI, USB_PID_HITI_P52X, P_HITI_52X, NULL, "hiti-p520l"},
|
||||
{ USB_VID_HITI, USB_PID_HITI_P52X, P_HITI_52X, NULL, "hiti-p525l"}, /* Duplicate */
|
||||
{ USB_VID_HITI, USB_PID_HITI_P720, P_HITI_720, NULL, "hiti-p720l"},
|
||||
{ USB_VID_HITI, USB_PID_HITI_P728, P_HITI_720, NULL, "hiti-p728l"},
|
||||
{ USB_VID_HITI, USB_PID_HITI_P750, P_HITI_750, NULL, "hiti-p750l"},
|
||||
{ 0, 0, 0, NULL, NULL}
|
||||
}
|
||||
|
@ -2382,7 +2397,7 @@ const struct dyesub_backend hiti_backend = {
|
|||
* Use external "Cube LUT" implementation?
|
||||
- Commands 8008, 8011, EST_SEHT, ESD_SHTPC, RDC_ROC, PCC_STP, CMD_EDM_*
|
||||
- Test with P525, P720, P750
|
||||
- Further investigation into P110 & P510 series
|
||||
- Further investigation into P110 series
|
||||
- Start research into P530D, X610
|
||||
- Incorporate changes for CS-series card printers
|
||||
- More "Matrix table" decoding work
|
||||
|
|
21
blacklist
21
blacklist
|
@ -274,12 +274,33 @@
|
|||
# Fujifilm ASK-300
|
||||
0x04cb 0x5006 blacklist
|
||||
|
||||
# HiTi P510K
|
||||
0x0d16 0x0007 blacklist
|
||||
|
||||
# HiTi P510L
|
||||
0x0d16 0x000b blacklist
|
||||
|
||||
# HiTi P518A
|
||||
0x0d16 0x000d blacklist
|
||||
|
||||
# HiTi P510S
|
||||
0x0d16 0x010e blacklist
|
||||
|
||||
# HiTi P510Si
|
||||
0x0d16 0x0111 blacklist
|
||||
|
||||
# HiTi P518S
|
||||
0x0d16 0x0112 blacklist
|
||||
|
||||
# HiTi P520L / P525L
|
||||
0x0d16 0x0502 blacklist
|
||||
|
||||
# HiTi P720L
|
||||
0x0d16 0x0009 blacklist
|
||||
|
||||
# HiTi P728L
|
||||
0x0d16 0x000a blacklist
|
||||
|
||||
# HiTi P750L
|
||||
0x0d16 0x0501 blacklist
|
||||
|
||||
|
|
Loading…
Reference in New Issue