Commit Graph

97 Commits

Author SHA1 Message Date
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
Solomon Peachy bb4958d5a2 dnp_ds40: Many changes:
* Parse printjob properly, read it in chunks
 * Detect 300/600dpi mode based on printer header
 * Be smarter about in-printer copy generation
 * Send printjob to printer in chunks
 * If printer has sufficient buffers for our print, spool it immediately
   even if we're still printing another job
 * Fix some buffer overflows
 * Move media detection and remanining prints into status query page
2013-12-17 00:36:06 -05:00
Solomon Peachy 3ce2346a0d dnp_ds40: Make spooling a little more intelligent, and add status query
for color table information.
2013-12-16 23:01:30 -05:00
Solomon Peachy 6d9ca428c4 dnp_ds40: Have the spooler handle prints. 2013-12-16 22:05:49 -05:00
Solomon Peachy 2cc0ad2842 dnp_ds40: Fix bugs preventing spooler from working.
Also add a sample testjob.
2013-12-16 21:25:59 -05:00
Solomon Peachy fefaaa1e47 dnpds80: Improvements gleamed from playing with the windows driver:
* Query serial number (yay!)
 * Query the 'PQTY' counter, not sure what that is.
 * Query 'Media ID set", not sure what that is.
 * Clear counter command fixed.
2013-12-16 20:15:48 -05:00
Solomon Peachy d2cac28e3a dnp_ds40: Fix counter_clear and set_counter_p commands (I hope) 2013-12-13 15:43:30 -05:00
Solomon Peachy e8514eb5cf dnp_ds40: fix formatting on the matte counter, and an attempt to get the
counter clear commands working.
2013-12-11 20:02:12 -05:00
Solomon Peachy 1ed58be6e3 dnp_ds40: Fix a bug in the new do_cmd() function.
Also move the debug output to be keyed off of DYESUB_DEBUG
2013-12-11 07:50:31 -05:00
Solomon Peachy a8c5ae8a2a dnp_ds40: Add ability to set the 'P' counter. 2013-12-10 22:00:56 -05:00
Solomon Peachy 4a992d9677 dnp_ds40: Add counter clear commands.
Start implementing the spooling/backend code...
2013-12-10 21:53:46 -05:00
Solomon Peachy c6e536ed56 dnp_ds40: Add media info and counter fetches. 2013-12-10 19:42:28 -05:00
Solomon Peachy 362ff51f70 dnp_ds40: Don't bother logging the responses either.
Also fix formatting for resolution output.
2013-12-10 09:36:18 -05:00
Solomon Peachy c48bbebe9f dnp_ds40: Log print resolution and buffer counts.
Also got rid of debug dump of request message contents.
2013-12-10 08:54:07 -05:00
Solomon Peachy 8de9099adf dnp_ds40: Fix termination when printing multiple copies, and some minor
things.
2013-12-08 07:14:27 -05:00
Solomon Peachy ce731aa034 dnp_ds40: We have to read printer responses in two transactions.
first, 8 bytes to give us the length of the payload.
Then, the payload length.
2013-12-04 10:31:41 -05:00
Solomon Peachy af72fab316 dnp_ds40: Add the DS80 USB ID, and a ton of debug output. 2013-12-04 07:37:11 -05:00
Solomon Peachy 555aa9840f dnp_ds40: Document known stuff inthe Windows spool file format. 2013-12-03 23:07:19 -05:00
Solomon Peachy ad6d71afa0 dnp_ds40: Add status query. 2013-12-03 22:32:08 -05:00
Solomon Peachy ccf44058ab dsp_ds40: Initial pass at a backend.
As far as a backend is concerned, it's just a passthrough.  However, it
has command-line options.
2013-12-03 22:21:44 -05:00