sonyupdneo: VID/PID for UP-DR80MD, and doc fixes.

This commit is contained in:
Solomon Peachy 2019-11-01 22:12:07 -04:00
parent adec7f16e6
commit 46b612e1c4
3 changed files with 51 additions and 21 deletions

8
README
View File

@ -799,13 +799,17 @@
Model IDs recognized: Model IDs recognized:
sony-upcr20l sony-upd898 sony-updr80 dnp-sl20 sony-upcr20l sony-upd898 sony-updr80 sony-updr80md dnp-sl20
Work-in-progress printers
Sony UP-DR80
Sony UP-DR80MD
Work-in-progress printers (Lack USB PIDs) Work-in-progress printers (Lack USB PIDs)
Sony UP-D898 / UP-X898 Sony UP-D898 / UP-X898
Sony UP-CR20L Sony UP-CR20L
Sony UP-DR80MD
DNP DS-SL20 DNP DS-SL20
Notes: Notes:

View File

@ -317,8 +317,8 @@ static const char *sonyupdneo_prefixes[] = {
#define USB_VID_SONY 0x054C #define USB_VID_SONY 0x054C
#define USB_PID_SONY_UPD898MD 0xabcd // 0x589a? #define USB_PID_SONY_UPD898MD 0xabcd // 0x589a?
#define USB_PID_SONY_UPCR20L 0xbcde #define USB_PID_SONY_UPCR20L 0xbcde
#define USB_PID_SONY_UPDR80MD 0xcdef #define USB_PID_SONY_UPDR80MD 0x03c3
#define USB_PID_SONY_UPDR80 0x03c5 // Unknown if it behaves the same way #define USB_PID_SONY_UPDR80 0x03c5
#define USB_PID_SONY_UPCX1 0x02d4 #define USB_PID_SONY_UPCX1 0x02d4
struct dyesub_backend sonyupdneo_backend = { struct dyesub_backend sonyupdneo_backend = {
@ -335,7 +335,9 @@ struct dyesub_backend sonyupdneo_backend = {
.devices = { .devices = {
{ USB_VID_SONY, USB_PID_SONY_UPD898MD, P_SONY_UPD898, NULL, "sony-upd898"}, { USB_VID_SONY, USB_PID_SONY_UPD898MD, P_SONY_UPD898, NULL, "sony-upd898"},
{ USB_VID_SONY, USB_PID_SONY_UPCR20L, P_SONY_UPCR20L, NULL, "sony-upcr20l"}, { USB_VID_SONY, USB_PID_SONY_UPCR20L, P_SONY_UPCR20L, NULL, "sony-upcr20l"},
{ USB_VID_SONY, USB_PID_SONY_UPDR80, P_SONY_UPDR80, NULL, "sony-updr80"},
{ USB_VID_SONY, USB_PID_SONY_UPDR80MD, P_SONY_UPDR80, NULL, "sony-updr80md"}, { USB_VID_SONY, USB_PID_SONY_UPDR80MD, P_SONY_UPDR80, NULL, "sony-updr80md"},
{ 0, 0, 0, NULL, NULL} { 0, 0, 0, NULL, NULL}
} }
}; };
@ -344,25 +346,28 @@ struct dyesub_backend sonyupdneo_backend = {
Covers UP-CR20L, UP-DR80/DR80MD, UP-D898/UP-X898 Covers UP-CR20L, UP-DR80/DR80MD, UP-D898/UP-X898
HP-PJL wrapper around custom Sony PDL. HP-PJL wrapper around custom Sony PDL:
<ESC>%-12345X JOBSIZE=PJL-H,size,arg1,arg2,etc [null terminated, padded to 256 bytes]
@PJL COMMENT free form text here <CR><LF> [ size bytes of PJL header! ]
@PJL JOB NAME="name me" ID="someid"<CR><LF> JOBSIZE=PDL,size,args [null terminated, padded to 256 bytes]
@PJL .... <CR><LF> [ size bytes of PDL data! ]
@PJL ENTER LANGUAGE=SONY-PDL-DS2<CR><LF> JOBSIZE=PJL-T,size,args [null terminated, padded to 256 bytes]
... [ size bytes of PJL trailer! ]
...
... PJL header:
@PJL EOJ<CR><LF>
<ESC>%-12345X <ESC>%-12345X<CR><LF>
@PJL COMMENT free form text here <CR><LF>
@PJL JOB NAME="name me" ID="someid"<CR><LF>
@PJL .... <CR><LF>
@PJL ENTER LANGUAGE=SONY-PDL-DS2<CR><LF>
PJL footer:
@PJL EOJ<CR><LF>
<ESC>%-12345X<CR><LF>
JOBSIZE=PJL-H,size,arg1,arg2,etc [null terminated, padded to 256 bytes]
[ size bytes of data. PJL header! ]
JOBSIZE=PDL,size,args [null terminated, padded to 256 bytes]
[ size bytes of data, PDL data! ]
JOBSIZE=PJL-T,size,args [null terminated, padded to 256 bytes]
[ size bytes of data, PJL trailer! ]
UP-D898MD: 17*16+2 == 274 byte header UP-D898MD: 17*16+2 == 274 byte header
@ -482,6 +487,19 @@ struct dyesub_backend sonyupdneo_backend = {
***************** *****************
PRINTER COMMS:
* Strip out "JOBSIZE=" headers
* Send PJL header
* Send PDL payload
* Send unknown packet (tail end of PDL payload..)
* Send PJL footer
PJL header and footer need to be sent separately.
the PJL wrapper around the PDL block needs to be
stripped. A footer seems to be needed at the end of the PDL block.
Another unknown footer seems to be sent before
No idea about actual printer communications, but it's likely that No idea about actual printer communications, but it's likely that
printers use PJL "alerts" to get updates about active jobs, and printers use PJL "alerts" to get updates about active jobs, and
that other stuff can be queried via standard means. that other stuff can be queried via standard means.
@ -489,4 +507,6 @@ struct dyesub_backend sonyupdneo_backend = {
Further progress will have to wait until I get access to Further progress will have to wait until I get access to
one of these models. one of these models.
*/ */

View File

@ -171,6 +171,12 @@
# Sony UP-D897 # Sony UP-D897
0x054c 0x01e7 blacklist 0x054c 0x01e7 blacklist
# Sony UP-DR80
0x054c 0x03c5 blacklist
# Sony UP-DR80MD
0x054c 0x03c3 blacklist
# Mitsubishi CP-D70DW/CP-D707DW # Mitsubishi CP-D70DW/CP-D707DW
0x06d3 0x3b30 blacklist 0x06d3 0x3b30 blacklist