Commit graph

94 commits

Author SHA1 Message Date
Solomon Peachy 12d05eccba common: Replicate CUPS return codes.
General philosophy:

 OK      (self explanatory)
 FAILED   general failures (eg unexpected printer response)
 HOLD     wrong-media-loaded and other job-specific failures
 STOP     printer out of media, or other non-job-specific failures
 CANCEL   job failed to load or parse
 RETRY    temporary failure, retry later
 RETRY_CURRENT temp failure, retry immediately
2014-04-20 11:05:27 -04:00
Solomon Peachy 51a567e543 common: Fix crash when libusb_init() fails. 2014-03-26 09:20:09 -04:00
Solomon Peachy 18308e21c6 common: Fix bugs from last commit. 2014-03-13 19:50:48 -04:00
Solomon Peachy 7e2b3cc7aa common: Major overhaul of manuf/product strings to key off of the IEEE1284 data.
This mostly matches what the CUPS libusb backend generates.
2014-03-13 10:58:33 -04:00
Solomon Peachy 45f41a2f7d debug output fixes. 2014-03-12 13:45:36 -04:00
Solomon Peachy cf6517afc2 Fix some typos. 2014-03-12 10:55:35 -04:00
Solomon Peachy b8ee4cea94 Require use of '-DD' to enable raw data dumps. 2014-03-12 10:53:26 -04:00
Solomon Peachy b517d2ab72 Update version, and update blacklist. 2014-03-11 10:39:52 -04:00
Solomon Peachy 70dff0caca build: libusb < 1.0.10 doesn't support libusb_get_version() 2014-03-11 10:31:59 -04:00
Solomon Peachy e4d70d679f common: Add an argument to specify the number of copies. [ -d ]
It's annoying, this lack of letters.  :)
2014-02-12 09:30:43 -05:00
Solomon Peachy b8242fe847 common: if backend_cmd fails, abort cleanly instead of possibly trying
to print.
2014-02-11 22:33:10 -05:00
Solomon Peachy db099ec35b common: Disable backend args when running in CUPS backend mode.
it'll only confuse the hell out of things.
2014-02-11 22:32:17 -05:00
Solomon Peachy 43b3e68bb2 common: Support passing args to backend even when printing.
Should even work for CUPS print invocations, though it's not really a
good idea.
2014-02-11 22:30:57 -05:00
Solomon Peachy 7d4f19377b common: Trying to clean up the control flow when cmdline args are used.
In theory CUPS operation now respects global options.

But not backend options.  No print mode handles backend options just yet.
2014-02-11 22:16:46 -05:00
Solomon Peachy 12358843c7 common: Don't print '-B backendname' in help when called as a specific backend. 2014-02-11 20:13:39 -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 5a4ff83750 common: Log the libusb release when running with debugging output. 2014-02-11 16:40:11 -05:00
Solomon Peachy 59917b8d35 Fix a small pile of bugs introduced recently.
Patch from:  Geoff Youngs <g.youngs@livelinktechnology.net>
2014-02-11 16:33:53 -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 dae7ad28e6 core: Make the banner include a reference to the license and a warranty
disclaimer.  And add a GPL license reference to the cmdline ( -G )
2014-02-11 00:22:37 -05:00
Solomon Peachy c60b07e958 common: Consistent cmdline help indentation. 2014-02-10 23:22:01 -05:00
Solomon Peachy 49e58f59ef common: Increase the read timeout to 10 seconds.
(The shinko printer has a long wait time on some commands)
2014-02-10 22:45:50 -05:00
Solomon Peachy 5c42e2baaa common: Fix glitch in command line parsing. 2014-02-10 22:25:20 -05:00
Solomon Peachy cd99cb534d common: Fix serial number matching. 2014-02-10 22:23:26 -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 3a5abe1bf8 common: Clean up CUPS URI generation a bit:
* Use proper URLEncoding for all URI components.  The old code only
   handled spaces.
 * URLEncode the serial number too.

Don't URLEncode the product strings returned in the CUPS search results.
2014-02-09 23:46:02 -05:00
Solomon Peachy b53448859c common: More graceful error detction and handling for the
backend-specific get_serno() call.  If we fail to attach to the printer
(it is probably busy), then don't try anything else with this device and
ignore it.
2014-02-09 23:21:16 -05:00
Solomon Peachy 9820807542 common: Eliminate the libusb bus/device fake serial number entirely.
Upon discussions with the Gutenprint folks, it seems to cause more
problems for the common cases than it solves for the specific cases.
2014-02-09 10:23:57 -05:00
Solomon Peachy 57e0024197 common: When using old libusb, report fake serial numbers of
'Bxxx_UNKDEV' instead of 'Bxxx_P255'.
2014-02-09 07:26:07 -05:00
Solomon Peachy 2e3cf70dba common: Re-add the libusb < 1.0.13 workarounds.
It comes with a GIANT WARNING if you are affected by the workaround.
2014-02-08 18:41:29 -05:00
Solomon Peachy 36069a88b6 common: the re-unification of libusb/libusbx means we need to
change our traps a little.

Also, since we just require libusb 1.0.13+, get rid of the workaround.
2014-02-08 15:49:26 -05:00
Solomon Peachy 2b867a323a common: Require libusb/libusbx >= 1.0.13
We technically need 1.0.12 or newer, but there's no way to detect that
at compile time since there was no VERSION definition in the libusb
headers until 1.0.13
2014-02-03 11:29:19 -05:00
Solomon Peachy 54d6f1a4ee get rid of obsolete debug code. 2014-01-26 14:45:12 -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 312c210c2a common: We can't detect EOF situations in global code.
And fix enumeration in the presence of multiple printer types.
2014-01-20 19:48:36 -05:00
Solomon Peachy 75de99c103 common: Add core support for multi-page print jobs.
If the backend supports it, restart the backend if we detect additional
data waiting.  Hopefully that detection is sane.
2014-01-17 22:58:03 -05:00
Solomon Peachy 82c72fcd99 Add a 'C' size test print for the Canon SELPHY ES1. 2014-01-13 05:41:48 -05:00
Solomon Peachy 766ca01f0d whitespace fixes. 2014-01-12 17:26:29 -05:00
Solomon Peachy db65d25feb common: Add a generic read_data() call. 2013-12-21 22:39:15 -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 138d10551b common: Fix incorrect help text.
To use a specific device, use 'DEVICE=...' rather than 'SERIAL=...'

The documentation (readme) was correct.
2013-12-20 11:14:20 -05:00
Solomon Peachy 13e25a4c95 common: Ensure we properly define URI_PREFIX as part of the build. 2013-12-18 18:28:13 -05:00
Solomon Peachy 64dda99d30 common: We need to URLify the manufacturer string too! 2013-12-18 07:48:30 -05:00
Solomon Peachy 4715a088e3 common: unify the debug messages, set DYESUB_DEBUG before invoking. 2013-12-11 07:49:57 -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
Solomon Peachy 9201105c66 all: Fixed all compiler warnings. 2013-11-23 19:51:55 -05:00
Solomon Peachy e79080796d mitsu70x: Actually add it to the backend list. 2013-11-23 14:57:06 -05:00
Solomon Peachy 97ce8262b7 common: It helps to include the kodak605 backend. 2013-11-21 22:04:48 -05:00
Solomon Peachy be8eec4f2d common: Return better CUPS error codes, and document them. 2013-09-30 15:15:28 +01:00