selphy: Document additional error handling in the CP-series.
(from Ake Koomsin) We don't actually do anything with this extra information yet, but we can theoretically detect, and clear error states..
This commit is contained in:
parent
e771f001d3
commit
ed27b59441
|
@ -309,6 +309,8 @@
|
|||
Plane func: 40 01 00 [plane] [length, 32-bit LE] 00 00 00 00
|
||||
End func: 00 00 00 00 # NOTE: CP900 only, and not necessary!
|
||||
|
||||
Error clear: 40 10 00 00 00 00 00 00 00 00 00 00 # CP800. Others?
|
||||
|
||||
plane codes are 0x00, 0x01, 0x02 for Y, M, and C, respectively.
|
||||
|
||||
'P' papers pgcode 0x01 plane length 2227456 bytes.
|
||||
|
@ -332,7 +334,8 @@
|
|||
[rr] is error code:
|
||||
0x00 no error
|
||||
0x01 paper out
|
||||
0x08 when ribbon is depleted
|
||||
0x04 ribbon problem
|
||||
0x08 ribbon depleted
|
||||
|
||||
[ss] is either 0x00 or 0x70. Unsure as to its significance; perhaps it
|
||||
means paper or ribbon is already set to go?
|
||||
|
|
|
@ -105,6 +105,7 @@ struct printer_data {
|
|||
int16_t ready_m_readback[READBACK_LEN];
|
||||
int16_t ready_c_readback[READBACK_LEN];
|
||||
int16_t done_c_readback[READBACK_LEN];
|
||||
int16_t clear_error[READBACK_LEN];
|
||||
int16_t paper_codes[256];
|
||||
int16_t pgcode_offset; /* Offset into printjob for paper type */
|
||||
int16_t paper_code_offset; /* Offset in readback for paper type */
|
||||
|
@ -132,6 +133,7 @@ struct printer_data printers[P_END] = {
|
|||
.ready_m_readback = { 0x04, 0x00, 0x03, 0x00, 0x02, 0x01, -1, 0x01, 0x00, 0x00, 0x00, 0x00 },
|
||||
.ready_c_readback = { 0x04, 0x00, 0x07, 0x00, 0x02, 0x01, -1, 0x01, 0x00, 0x00, 0x00, 0x00 },
|
||||
.done_c_readback = { 0x04, 0x00, 0x00, 0x00, 0x02, 0x01, -1, 0x01, 0x00, 0x00, 0x00, 0x00 },
|
||||
// .clear_error
|
||||
// .paper_codes
|
||||
.pgcode_offset = 3,
|
||||
.paper_code_offset = 6,
|
||||
|
@ -146,6 +148,7 @@ struct printer_data printers[P_END] = {
|
|||
.ready_m_readback = { 0x06, 0x00, 0x03, 0x00, -1, 0x00, -1, -1, 0x00, 0x00, 0x00, 0x00 },
|
||||
.ready_c_readback = { 0x09, 0x00, 0x07, 0x00, -1, 0x00, -1, -1, 0x00, 0x00, 0x00, 0x00 },
|
||||
.done_c_readback = { 0x09, 0x00, 0x00, 0x00, -1, 0x00, -1, -1, 0x00, 0x00, 0x00, 0x00 },
|
||||
// .clear_error
|
||||
// .paper_codes
|
||||
.pgcode_offset = 2,
|
||||
.paper_code_offset = 4,
|
||||
|
@ -160,6 +163,7 @@ struct printer_data printers[P_END] = {
|
|||
.ready_m_readback = { 0x03, 0xff, 0x02, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 },
|
||||
.ready_c_readback = { 0x05, 0xff, 0x03, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 },
|
||||
.done_c_readback = { 0x00, 0xff, 0x10, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 },
|
||||
// .clear_error
|
||||
// .paper_codes
|
||||
.pgcode_offset = 2,
|
||||
.paper_code_offset = -1,
|
||||
|
@ -174,6 +178,7 @@ struct printer_data printers[P_END] = {
|
|||
.ready_m_readback = { 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -1 },
|
||||
.ready_c_readback = { 0x00, 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -1 },
|
||||
.done_c_readback = { 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -1 },
|
||||
// .clear_error
|
||||
// .paper_codes
|
||||
.pgcode_offset = 2,
|
||||
.paper_code_offset = 11,
|
||||
|
@ -188,6 +193,7 @@ struct printer_data printers[P_END] = {
|
|||
.ready_m_readback = { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, -1, 0x00, 0x00, 0x00, 0x00, -1 },
|
||||
.ready_c_readback = { 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, -1, 0x00, 0x00, 0x00, 0x00, -1 },
|
||||
.done_c_readback = { 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, -1, 0x00, 0x00, 0x00, 0x00, -1 },
|
||||
.clear_error = { 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
|
||||
// .paper_codes
|
||||
.pgcode_offset = 3,
|
||||
.paper_code_offset = 6,
|
||||
|
@ -203,6 +209,7 @@ struct printer_data printers[P_END] = {
|
|||
.ready_c_readback = { 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
|
||||
.done_c_readback = { 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
|
||||
// .paper_codes
|
||||
// .clear_error
|
||||
.pgcode_offset = -1,
|
||||
.paper_code_offset = -1,
|
||||
.error_offset = 2,
|
||||
|
|
Loading…
Reference in a new issue