Commit graph

466 commits

Author SHA1 Message Date
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 3eef2ba475 Update the README, and add an explicitly warranty disclaimer and GPL
reference.
2014-02-11 09:53:34 -05:00
Solomon Peachy 784e26c9b3 updr150: Update the default test job so it's not the windows printer page. 2014-02-11 09:33:30 -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 8578561d38 shinkos2145: Fix return code for button enable/disable cmd.
Not that this seems to do anything.  Strange.
2014-02-10 23:00:00 -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 ce4edeea65 dnpds40: Fix setting the 'P' counter. 2014-02-10 22:21:55 -05:00
Solomon Peachy 024775eaf5 canonselphy: Revamp CP790 media detection and error detection. 2014-02-10 21:50:05 -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 921b946209 Documentation updates.
The main change is the removal of most of the CUPS backend usage text.
Instead, we now reference te Gutenprint README which is considerably
more comprehensive.
2014-02-09 07:49:33 -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 29bfe527de canonselphy: Forgot to bump version. 2014-02-08 15:54:15 -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 a359fa17c4 canonselphy: Split the CP790 and ES40 handling apart.
They share nothing beyond a common spool file format:
  * Different readbacks (though the necessary parts are unique)
  * Different error codes
  * Different media reporting system and identifiers
2014-02-08 14:45:55 -05:00
Solomon Peachy 8856cb2512 canonselphy: Add another error condition on the CP790.
Also disable paper type checking on the CP790 for the moment.
2014-02-08 13:59:24 -05:00
Solomon Peachy 20c662a70f Add DNP DSRX1 to version string. 2014-02-08 13:58:58 -05:00
Solomon Peachy db467cb296 blacklist: Add the DNP DSRX1/Citizen CY 2014-02-05 09:35:59 -05:00
Solomon Peachy 1f56087aaa Rename the UP-DR200 test file. 2014-02-04 19:33:58 -05:00
Solomon Peachy f954a321ba Add a test job for a DNP DS40 (and its kin) 2014-02-04 19:33:11 -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 485300982e canonselphy: Detect 'ribbon depleted' conditition with CP-10.
Also add an "unknown error" for the CP790.
2014-02-04 07:44:19 -05:00
Solomon Peachy edbad88f05 canonselphy: Send the error recovery/reset sequence after an error occurs.
And add error recovery code for the CP-10.

(I wonder if the ES series uses the same reset sequence?)
2014-02-03 20:12:00 -05:00
Solomon Peachy a9cbbbae5e dnpds40: Add more dopplegangers of the DS40/DS80 family. 2014-02-03 19:31:57 -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 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 0916716b6a Sony UP-DR200 confirmed working. 2014-02-01 07:08:36 -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 704d29354d canonselphy: Differentiate between 'out of paper' vs 'wrong paper' and
'out of ribbon' vs 'wrong ribbon' errors on CP_XXX models.

Also disable the error recovery code, as it caused more problems than it
helped.
2014-01-31 13:23:04 -05:00
Solomon Peachy 0d8336a4e7 canonselphy: Attempt to recover from error conditions if we know how.
This is experimental!
2014-01-31 09:38:53 -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 64938b839e canonselphy: Independently report on incorrect paper/ribbon errors for
the CP_XXX family.

Also make the errors more consistent with their language.
2014-01-30 20:00:21 -05:00
Solomon Peachy 4094e9d635 canonselphy: Add 'media feed error' to CP790 error list.
Also add placeholder entries for CP820 and CP910
2014-01-30 08:50:08 -05:00
Solomon Peachy 72c94bee3d Add info about the SELPHY CP820 (not sold in US or Japan) 2014-01-30 08:49:22 -05:00
Solomon Peachy 85284b321f canonselphy: ES1 now detects depleted media. 2014-01-29 22:11:32 -05:00
Solomon Peachy 4d2d9bed87 canonselphy: Improve ES3 error detection -- Incorrect media. 2014-01-29 21:36:17 -05:00
Solomon Peachy 7f8fe44269 canonselphy: Improve ES2 error derection some more. 2014-01-29 21:31:26 -05:00
Solomon Peachy 0b1e2dd6e3 canonselphy: ES1 error handling improved. 2014-01-29 21:26:59 -05:00
Solomon Peachy 1eefa82b64 canonselphy: We need to match the full 8-bit papercode for all models other than the CP790. 2014-01-29 21:05:21 -05:00
Solomon Peachy 882eda8ad1 Canon SELPHY CP790 is now verified as working! 2014-01-29 19:54:10 -05:00
Solomon Peachy d577517a24 canonselphy: Fix init sequence detect for cp790/es40 2014-01-29 12:02:12 -05:00
Solomon Peachy 5e996322e3 canonselphy: Log the types when we fail to match on media. 2014-01-29 10:29:22 -05:00