Commit graph

69 commits

Author SHA1 Message Date
Solomon Peachy 000f6aa1cc dnpds40: Query firmware version, and sanity-check print job against it.
Error out if the firmware doesn't support requested job -- eg matte
printing, or 2x6 printing.  Also, only allow 2x6 cuts on 6x4 or 6x8
prints.
2015-06-13 17:20:19 -04:00
Solomon Peachy a53eb4c09d dnpds40: Validate horizontal size to determine if job is for DS80 or everything else. 2015-06-13 12:25:45 -04:00
Solomon Peachy c661edaff0 dnpds40: Don't perform job sanity checks if there is no job! 2015-06-13 12:06:33 -04:00
Solomon Peachy d7e2685a0f dnpds40: Be more flexible with the multicut validation.
It's primarily used for media/buffer validation and optimization, so if
it's missing use the most conservative settings and warn the user.

Newer gutenprint (5.2.11-pre) won't trigger this.
2015-06-13 12:01:08 -04:00
Solomon Peachy b6d6351bbd dnpds40: Improve error message WRT multicut. 2015-06-11 08:42:52 -04:00
Solomon Peachy 95651e7685 dnpds40: Handle the presence (or lack thereof) of the BUFFCNTRL
and QTY commands in the data stream.
2015-06-11 08:41:25 -04:00
Solomon Peachy 4e3282377f dnpds40: Start trying to tokenize the sensor data.
Also add placeholders for the DS80DX and DS620.
2015-06-10 23:37:27 -04:00
Solomon Peachy 8c4be91f64 dnpds40: Move the MULTICUT detection to earlier in the process.
Basically, we abort as soon as we know it's missing.
2015-06-09 08:33:13 -04:00
Solomon Peachy 338da49377 dnpds40: Media lot code is ASCII. 2015-06-08 23:45:06 -04:00
Solomon Peachy 5d376819d2 dnpds40: Update Media Lot Code query to reflect full data width. 2015-06-08 23:40:04 -04:00
Solomon Peachy 460cce639a dnpds40: Turn on resumption of print job when a soft error is resolved.
(ie when we run out of media, resume printing when we continue)

Also implement a couple of minor cleanups.

Still to come:  Query printer version, and sanity-check features.  Also
perhaps query the remaining media before a print?
2015-06-08 23:17:12 -04:00
Solomon Peachy 0edced1c9f dnpds40: Sanity-check printjob type against loaded media.
Also cleanly abort the job if the printer kicks back a data/mediatype
error.
2015-06-08 08:06:18 -04:00
Solomon Peachy fbb4cdf441 dnpds40: Fix errors in the free buffer detection code.
Some other code rearrangements too.
2015-05-31 18:00:39 -04:00
Solomon Peachy b731dc04f8 Update copyright notice. 2015-01-05 21:39:22 -05:00
Solomon Peachy e84afdb816 dnpds40: Mitsubishi CP3800 uses the same VID/PID as the DNP DS80 2014-12-03 00:10:53 -05:00
Solomon Peachy 60540baf0e dnpds40: Get rid of the CW01/OP900 entries, it's not handled in this backend. 2014-10-29 22:11:46 -04:00
Solomon Peachy f77357977d dnpds40: Only error out if we get a non-idle/printing/cooling status. 2014-10-29 22:07:58 -04:00
Solomon Peachy aa236d1ae6 dnpds40: Log the status in raw form too, when we fail. 2014-10-29 22:02:11 -04:00
Solomon Peachy 325cf58e0d dnpds40: Fix a use-after-free. 2014-10-07 07:58:39 -04:00
Solomon Peachy 1f26903ffa dnpds40: Fix citizen cw-01 definition.
It almost certianly will *NOT* work with this backend.
2014-10-05 21:18:03 -04:00
Solomon Peachy d92bb77ced dnpds40: Add USB ID for Citizen CW-01. Experimental. 2014-10-05 18:57:26 -04:00
Solomon Peachy 0244c757db Udpate documentation, plus another shoutout to LiveLink for their
support in making this stuff possible.
2014-06-03 20:43:31 -04:00
Solomon Peachy 812c26a29c dnpds40: use CUPS_BACKEND_* return codes. 2014-04-20 11:51:06 -04:00
Solomon Peachy 3bb29676ea dnpds40: Fix spurious printout. 2014-04-20 10:16:28 -04:00
Solomon Peachy 85d613bcad dnpds40: Fix an endian bug (unncessary byte swap) 2014-02-26 08:46:43 -05:00
Solomon Peachy 1faa032ea6 backends: Revamp cmdline args so you can specify multiple backend args at once. 2014-02-11 22:45:14 -05:00
Solomon Peachy a7eff10ed6 dnpds40: Properly trim trailing spaces on strings that come from the printer. 2014-02-11 20:49:08 -05:00
Solomon Peachy 5f8780cc3c More cppcheck-driven fixes. Mainly a bunch of memory leaks. 2014-02-11 20:11:33 -05:00
Solomon Peachy 1e8c0ae99a Silence a pile of 'cppcheck' warnings.
...And fix a legitimate bug in the process!
2014-02-11 13:41:55 -05:00
Solomon Peachy ce4edeea65 dnpds40: Fix setting the 'P' counter. 2014-02-10 22:21:55 -05:00
Solomon Peachy d7db0bbdbe Massive overhaul of command line handling.
Completely untested with real printers.

That happens tonight!  :)
2014-02-10 20:10:36 -05:00
Solomon Peachy 20c662a70f Add DNP DSRX1 to version string. 2014-02-08 13:58:58 -05:00
Solomon Peachy 58f32eb7a2 dnpds40: Apparently the Citizen CX/CY use the same USB IDs as the DNP
models.
2014-02-04 19:24:20 -05:00
Solomon Peachy a9cbbbae5e dnpds40: Add more dopplegangers of the DS40/DS80 family. 2014-02-03 19:31:57 -05:00
Solomon Peachy 11cd411855 dnpds40: When switching between matte and glossy prints, we always need
both buffers free.
2014-02-02 14:17:12 -05:00
Solomon Peachy 7914f95d9c dnpds40: More granular detection of the number of buffers needed to
print a given job.

300dpi, only 1 buffer needed.
600dpi w/ DS80: if matte and >8x11 length, 2 needed
600dpi w/ DS40: if matte and 5x7, 2 needed.
                if >=6x8 length, 2 needed
2014-02-02 14:11:17 -05:00
Solomon Peachy 2886b6ecd7 The Citizen CW-01 and OP900 are similar to their later models.
Also, the OP900 was rebadged by several manufacturers.  All of these are
theoretically supportable if we get the appropriate USB IDs here.
2014-02-01 13:33:37 -05:00
Solomon Peachy 9bd825cf60 dnpds40: This backend will support the Citizen CX/CX-W/CY/CW-02/OP900II
Just need the USB IDs!
2014-01-31 19:56:35 -05:00
Solomon Peachy 34e3b64fc4 all: Get rid of the now-obsolete 'multipage_capable' flag. 2014-01-30 21:37:07 -05:00
Solomon Peachy 6c335ea1e4 Update copyright notice; it's 2014 now! 2014-01-23 16:07:25 -05:00
Solomon Peachy 6acc8b553c backends: say "## copies remaining" to differentiate between pages. 2014-01-22 09:10:34 -05:00
Solomon Peachy 4aa050f695 backends: Fix a double-free error in all backends.
Since we always call read_parse() we always free the data buffers.  Make
sure we set them to NULL or we will try to double-free them when we
terminate normally.
2014-01-21 20:34:00 -05:00
Solomon Peachy 2eb20f90f4 backends: A 0-length read when doing our inital header load is
and EOF, so treat it as such and don't error out.
2014-01-20 19:41:52 -05:00
Solomon Peachy cf59af280c dnpds40/80: Make backend multipage-capable. 2014-01-19 19:23:24 -05:00
Solomon Peachy 1888254860 all: Move to using the common read_data() instead of direct libusb functions. 2013-12-21 22:55:33 -05:00
Solomon Peachy 875ebd2d76 all: Silence nearly all DEBUG outputs unless DYESUB_DEBUG is set in the
environment.
2013-12-21 22:15:18 -05:00
Solomon Peachy b872a63533 dnp_ds40: Handle reading in the plane data as smaller chunks.
Fixes use when data is piped in.
2013-12-19 07:56:16 -05:00
Solomon Peachy 886833b0a8 dnp_ds40: Increase max printjob len due to 300x600 DPI mode. 2013-12-17 20:43:30 -05:00
Solomon Peachy 812fba5927 dnp_ds40: Add a thank you for Marco Di Antonio and
ilgruppodigitale.com who made this backend possible!
2013-12-17 08:31:45 -05:00
Solomon Peachy d9cae63a36 dnp_ds40: Documentation updates. 2013-12-17 00:41:22 -05:00