hiti: Initial support for P320 series. Just detection and tables.
This is where things will stand until I get one in my hands.
This commit is contained in:
parent
7a6c82828c
commit
dd64a8f78f
4
README
4
README
|
@ -88,6 +88,7 @@
|
|||
Fujifilm ASK-500
|
||||
HiTi M610 (not X610!)
|
||||
HiTi P310L / P310W
|
||||
HiTi P322W
|
||||
HiTi P530D
|
||||
HiTi P710L
|
||||
HiTi P720L / P728L
|
||||
|
@ -1274,7 +1275,7 @@ Notes:
|
|||
|
||||
Model IDs recognized:
|
||||
|
||||
hiti-p310l hiti-p310w hiti-p461
|
||||
hiti-p310l hiti-p310w hiti-p320w hiti-p461
|
||||
hiti-p510k hiti-p510l hiti-p510s hiti-p510si
|
||||
hiti-p518a hiti-p518s
|
||||
hiti-p520l hiti-p525l hiti-p52x hiti-p530
|
||||
|
@ -1299,6 +1300,7 @@ Notes:
|
|||
|
||||
HiTi CS2x0 series
|
||||
HiTi P310 series
|
||||
HiTi P32x series
|
||||
HiTi P530D
|
||||
|
||||
This backend supports additional commands:
|
||||
|
|
|
@ -118,6 +118,7 @@ enum {
|
|||
P_FUJI_ASK500,
|
||||
P_HITI_CS2XX,
|
||||
P_HITI_310,
|
||||
P_HITI_320,
|
||||
P_HITI_461,
|
||||
P_HITI_51X,
|
||||
P_HITI_520,
|
||||
|
|
|
@ -323,7 +323,8 @@ struct hiti_heattable_hdr_v2 {
|
|||
|
||||
#define HEATTABLE_V2_MAX_SIZE (1024*128)
|
||||
|
||||
#define HEATTABLE_S_SIZE 4167
|
||||
#define HEATTABLE_S_SIZE 4167 /* P461, P310, and some P32x */
|
||||
#define HEATTABLE_S2_SIZE 4232 /* Some P32x */
|
||||
|
||||
// size
|
||||
#define HEATTABLE_V2_ID_Y 0x01 // 522
|
||||
|
@ -1409,6 +1410,17 @@ static uint8_t *hiti_get_correction_data(struct hiti_ctx *ctx, uint8_t mode)
|
|||
|
||||
}
|
||||
break;
|
||||
case P_HITI_320:
|
||||
if (mediatype == 0x1000) { /* CHC media */
|
||||
if (mode) {
|
||||
fname = "P320_CCQP1sn.bin";
|
||||
break;
|
||||
} else {
|
||||
fname = "P320_CCPP1sn.bin";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case P_HITI_461:
|
||||
if (mediatype == 0x1000) { /* CHC media */
|
||||
if (mode) {
|
||||
|
@ -1836,6 +1848,18 @@ static const char* hiti_get_heat_file(struct hiti_ctx *ctx, uint8_t mode)
|
|||
return "P461_heatthsl.bin";
|
||||
}
|
||||
break;
|
||||
case P_HITI_320:
|
||||
if (mediatype == 0x1000) { /* CHC media */
|
||||
// XXX what aboput heatpcsp.bin
|
||||
if (mode) {
|
||||
return "P320_hea1qcsp.bin";
|
||||
} else {
|
||||
return "P320_hea1tcsp.bin";
|
||||
}
|
||||
} else { /* DNP media */
|
||||
return NULL;
|
||||
}
|
||||
break;
|
||||
case P_HITI_461:
|
||||
if (mediatype == 0x1000) { /* CHC media */
|
||||
if (mode) {
|
||||
|
@ -2725,7 +2749,7 @@ static int hiti_main_loop(void *vctx, const void *vjob, int wait_for_return)
|
|||
} else {
|
||||
const char *fname = hiti_get_heat_file(ctx, job->hdr.quality);
|
||||
if (fname) {
|
||||
if (ctx->conn->type == P_HITI_461) {
|
||||
if (ctx->conn->type == P_HITI_461 || ctx->conn->type == P_HITI_310 || ctx->conn->type == P_HITI_320) {
|
||||
char full[256];
|
||||
snprintf(full, sizeof(full), "%s/%s", corrtable_path, fname);
|
||||
|
||||
|
@ -2744,8 +2768,8 @@ static int hiti_main_loop(void *vctx, const void *vjob, int wait_for_return)
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (len != HEATTABLE_S_SIZE) {
|
||||
ERROR("Unexpected heattable size (%d vs %d)\n", len, HEATTABLE_S_SIZE);
|
||||
if (len != HEATTABLE_S_SIZE && len != HEATTABLE_S2_SIZE) {
|
||||
ERROR("Unexpected heattable size (%d vs %d/%d)\n", len, HEATTABLE_S_SIZE, HEATTABLE_S2_SIZE);
|
||||
return CUPS_BACKEND_FAILED;
|
||||
}
|
||||
|
||||
|
@ -3462,6 +3486,7 @@ const struct dyesub_backend hiti_backend = {
|
|||
{ 0x0d16, 0x0502, P_HITI_520, NULL, "hiti-p520l"},
|
||||
{ 0x0d16, 0x0503, P_HITI_310, NULL, "hiti-p310l"},
|
||||
{ 0x0d16, 0x050a, P_HITI_310, NULL, "hiti-p310w"},
|
||||
{ 0x0d16, 0x050c, P_HITI_320, NULL, "hiti-p320w"},
|
||||
{ 0x0d16, 0x0509, P_HITI_461, NULL, "hiti-p461"},
|
||||
{ 0x0d16, 0x050e, P_HITI_525, NULL, "hiti-p525l"},
|
||||
{ 0x0d16, 0x000f, P_HITI_530, NULL, "hiti-p530d"},
|
||||
|
|
|
@ -306,6 +306,9 @@
|
|||
# HiTi P310W
|
||||
0x0d16 0x050a blacklist
|
||||
|
||||
# HiTi P320W
|
||||
0x0d16 0x050c blacklist
|
||||
|
||||
# HiTi P461 (Prinhome)
|
||||
0x0d16 0x0509 blacklist
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -17,11 +17,11 @@ that are used internally by the printer to fine-tune the output.
|
|||
ca = CS300/CS300i
|
||||
cb = CS31x
|
||||
cc = CS32x/CS36x
|
||||
cd = CS200e
|
||||
cd = CS2xx
|
||||
cg = CIIAT CTC-940
|
||||
ch = Fagoo P550/P560
|
||||
ci = Seaory T11S/T11D
|
||||
cl = CS2xx (sub-model?)
|
||||
cl = CS230 (sub-model?)
|
||||
cm = CS2xx (sub-model?)
|
||||
da = 640DL
|
||||
db = 640DL-Amphi
|
||||
|
@ -47,7 +47,10 @@ that are used internally by the printer to fine-tune the output.
|
|||
ri1 = P525 (?? might be used in certian modes only)
|
||||
rj = P910 (Rebadged Shinko S6245)
|
||||
rk = P530
|
||||
rl = X610
|
||||
rn = X620
|
||||
rm = M610 (Rebadged Shinko S2245)
|
||||
s0 = Pringo P231/P233/P235
|
||||
sb = 630PSV
|
||||
sc = 64xPS (640PS/641PS)
|
||||
sd = 640GOLD
|
||||
|
@ -58,6 +61,7 @@ that are used internally by the printer to fine-tune the output.
|
|||
sj = MiX
|
||||
sk = Unomat P128S
|
||||
sl = P310
|
||||
sm = P115 series
|
||||
sn = P461/Prinhome
|
||||
sp = P320
|
||||
|
||||
|
|
Loading…
Reference in New Issue