Commit Graph

281 Commits (master)

Author SHA1 Message Date
Solomon Peachy f33f220a54 mitsu70x: Add in another status code, seen on the EK305. 2017-03-17 21:48:28 -04:00
Solomon Peachy bdab92b028 mitsu70x: Move some stuff from INFO to DEBUG. 2017-03-17 00:05:15 -04:00
Solomon Peachy 3cbcb3bbc6 mitsu70x: Update a comment regarding the D80's extra data table. 2017-03-16 18:35:53 -04:00
Solomon Peachy 6c277ef206 mitsu70x: Synchronize with new library.
The backend now checks the library API version and kicks back an error
if there's a mismatch.
2017-03-14 23:21:08 -04:00
Solomon Peachy 9049274d74 Doc updates. 2017-03-01 15:40:26 -05:00
Solomon Peachy 3d586c0823 Update copyright year. 2017-02-25 12:03:23 -05:00
Solomon Peachy 8733f2f989 mitsu70x: Allow the chunk size to globally be reduced from 256K. 2017-02-16 08:07:20 -05:00
Solomon Peachy 182754c549 Get rid of some extra semicolons. 2016-12-15 09:37:31 -05:00
Solomon Peachy f1d39aafc5 mitsu70x: Partially back out the reformatting of the component checksums
Mitsubishi is confusing sometimes..
2016-12-02 18:57:54 -05:00
Solomon Peachy d8b3b600db mitsu70x: Add some FW version sanity checks for EK305 and D70/D707
This is particularly important for the EK305.
2016-12-02 08:51:51 -05:00
Solomon Peachy c1b8f6397c mitsu70x: Display FW components like the printer self-test page. 2016-12-02 08:20:48 -05:00
Solomon Peachy e813b5120b mitsu70x: Cleanups for the disabled jobs code. 2016-11-16 22:32:06 -05:00
Solomon Peachy ff67befb68 mitsu70x: Disable jobs query altogether.
...It doesn't behave as expected.
2016-11-16 22:05:03 -05:00
Solomon Peachy 966b12827c mitsu70x: Turns out the jobstatus query has more than 2 jobs. 2016-11-16 19:53:42 -05:00
Solomon Peachy 4df2bc964b Add USB PIDs for several Mitsubishi models:
* CP-D80DW
 * CP-9800DW
 * CP-9810DW
 * CP-3020D/DE
 * CP-3020DA/DAE
2016-11-04 16:03:40 -04:00
Solomon Peachy 73785ccfca mitsu70x: Decode all known paper sizes for the D70/D80 series. 2016-11-03 09:54:28 -04:00
Solomon Peachy 8ade2d3a16 mitsu70x: Figured out lifetime print count!
At least on the EK305 (and presumably, K60)
2016-10-31 19:32:38 -04:00
Solomon Peachy 4395389ef7 mitsu70x: Don't break when we're using a raw spool file
...and the library is loaded.
2016-10-27 16:46:44 +09:00
Solomon Peachy fa3bacd780 mitsu70x: Fix incorrect error message. 2016-10-27 13:59:31 +09:00
Solomon Peachy a194c01f32 mitsu70x: the K60 subid is 0x00, not 0x02.
WTF did I get 0x02?  It's not in any of my old captures!
2016-10-26 03:50:18 -04:00
Solomon Peachy 9c7249f9e5 mitsu70x: Add sanity-checking for the model sub-id in the headers. 2016-10-26 03:12:31 -04:00
Solomon Peachy a27d381048 mitsu70x: Default to allowing rewind. Oops. 2016-10-26 03:01:04 -04:00
Solomon Peachy 59efa99f06 mitsu70x: Added a few command codes I discovered. 2016-10-23 19:47:18 -04:00
Solomon Peachy 7ec9a8234e mitsu70x: Properly handle lamination plane with 5" media. 2016-10-19 23:20:09 -04:00
Solomon Peachy fd22189a40 lib70x: Implement rewind detection support. Disabled for the moment. 2016-10-19 21:21:34 -04:00
Solomon Peachy 7a89e958c5 mitsu70x: Documentation updates. 2016-10-09 08:59:21 -04:00
Solomon Peachy b79cadc874 mitsu70x: allow PACKAGE_DATA_DIR too. 2016-10-06 08:25:30 -04:00
Solomon Peachy 741718b445 mitsu70x: default data path should be /usr/local instead. 2016-10-06 08:20:52 -04:00
Solomon Peachy 1e7d888c18 mitsu70x: Update help text a little. 2016-10-05 10:43:53 -04:00
Solomon Peachy 183e43f7d2 mitsu70x: Use dlopen() and friends for the library.
No fallback code is yet written.
2016-10-05 10:40:10 -04:00
Solomon Peachy 8b99dda63d mitsu70x: Fix build when corrtables isn't enabled. 2016-10-04 22:56:00 -04:00
Solomon Peachy 2c4dc662d0 mitsu70x: Rename the library. 2016-10-04 22:43:48 -04:00
Solomon Peachy c53a1c1c4f mitsu70x: More work moving to a proper library interface.
The eventual goal is to use dlopen().
2016-10-04 22:34:35 -04:00
Solomon Peachy 71166ba8e7 mitsu70x: The reimplemented library now generates sane output!
The backend is no longer WIP.

The Kodak 305 is now fully supported, and the other members of the
family are now considered expected to work (pending testing and

Next up will be to whip the library into distributable shape.  Once
that's set, I'll push the new rendering code into Gutenprint.
2016-10-04 21:29:50 -04:00
Solomon Peachy f9ac4f7646 mitsu70x: Fix incorrect bytes_per_row calculation. 2016-10-04 17:08:46 -04:00
Solomon Peachy 0840ba0ec0 mitsu70x: In theory the driver is set up for the library now. 2016-10-04 09:58:25 -04:00
Solomon Peachy 6e99200729 mitsu70x: Don't blindly force speed when matte is on. 2016-09-29 21:41:12 +03:00
Solomon Peachy 1cf5793669 mitsu70x: On k60/305, only override header multicut when it's 0. 2016-09-29 21:06:20 +03:00
Solomon Peachy 8563496729 mitsu70x: Force the correct speeds on most models. 2016-09-26 07:14:31 -04:00
Solomon Peachy a313dc8689 mitsu70x: Wake up the printer before querying the status! 2016-09-21 20:22:48 -04:00
Solomon Peachy 7b236a0098 mitsu70x: Make the job query runtime optional.
Marked as unsupported by the EK305 and K60, presumably supported on the
2016-09-21 07:02:09 -04:00
Solomon Peachy f8ae72472c mitsu70x: Parse the CPC data files at runtime! 2016-09-13 23:16:58 -04:00
Solomon Peachy d980999c9e mitsu70x: Major steps towards supoprting 8bpp spool data.
* Support old 16bpp YMC data and 8bpp BGR data.
 * Tweak spool format to flag the difference
 * Load up LUT and transform contents if enabled
 * Load up Matte lamination data and use it if enabled
 * Use the data tables to perform 8bppBGR->16bppYMC mapping.

Confirmed to work, and quality is much improved over old status quo

 (Note this requires code not yet committed to gutenprint)
2016-09-10 19:44:26 -04:00
Solomon Peachy 46e795ebe1 mitsu70x: Corrected a couple more error messages. 2016-09-01 03:18:18 -04:00
Solomon Peachy ca1c8ee5ba mitsu70x: Many bugfixes based on lessons learned from the EK305 2016-09-01 02:59:45 -04:00
Solomon Peachy dc86141091 mitsud70: Support reading matte data from the proper pattern file. 2016-08-25 20:07:15 -04:00
Solomon Peachy cff03d1083 mitsu70x: Include the color lookup table in the data.
Interestingly, the LUT conversion expects the data to be in BGR
packed, not YMC planar!  So the output to the backend needs to be
2016-08-25 15:55:07 -04:00
Solomon Peachy ea8e0b1f35 all: Fix up a a large pile of cppcheck warnings. 2016-08-21 10:23:00 -04:00
Solomon Peachy b210c5a5c0 all: Major updates to CUPS marker reporting
* use 'ribbonWax' instead of 'ink-ribbon'  (as per RFC)
 * return media type as the 'marker' name, if known or inferrable
 * Selphy CP series gained support
 * Mitsu D70 family gained support for uppper and lower decks
2016-08-19 17:40:12 -04:00
Solomon Peachy 41f5f688f7 All: Use 'ink-ribbon' instead of 'ribbon' for the supply type. 2016-08-17 23:54:08 -04:00
Solomon Peachy bdafbfaf87 mitsu70x: Preliminary (disabled) work for CUPS attributes. 2016-08-17 21:53:58 -04:00
Solomon Peachy b51b242907 mitsu70x: Make the "init/wakeup" header optional in the data stream.
The Mitsubishi 'CP70Filter' driver does not include it.
2016-04-28 09:29:45 -04:00
Solomon Peachy 8e35e5608b all: It's 2016 now, update the copyright text.
Also, correct the initial dates for a few of the backends.
2016-01-24 09:44:19 -05:00
Solomon Peachy 139aa6e355 mitsu70x: doc update 2016-01-20 20:14:05 -05:00
Solomon Peachy 1c3cfc996a all: Ensure all jobid-aware printers log the ID properly. 2016-01-20 13:40:11 -05:00
Solomon Peachy f97b139549 d70x: K60 and EK306 need a workaround. 2016-01-19 17:45:35 -05:00
Solomon Peachy f578422aa7 mitsu70x: Add support for the printers' data tables
Nothing is done with them yet, but I hope to change that.
2016-01-19 17:40:22 -05:00
Solomon Peachy 298d7a5d6d all: Make sure the requested jobid isn't already in use! 2016-01-15 08:24:23 -05:00
Solomon Peachy 5621aaec5b mitsu70x: Mark entire backend as WIP, and update README. 2015-12-29 08:37:01 -05:00
Solomon Peachy 4ce5914bd6 mitsu70x: automatically turn on super/ultrafine whne using matte. 2015-12-28 16:46:26 -05:00
Solomon Peachy 0afeb71ab5 mitsu70x: Minor updates. 2015-12-28 11:29:31 -05:00
Solomon Peachy 7cac814134 mitsu70x: More info in the printer deck status dump 2015-12-25 23:27:35 -05:00
Solomon Peachy a9ba8db004 mitsu70x: Add support for setting the sleep timer. 2015-12-25 23:02:18 -05:00
Solomon Peachy 5e54d729d7 mitsu70x: Dump job history and dispositions. 2015-12-25 17:48:55 -05:00
Solomon Peachy ae06087f03 nitsu70x: Add ability to abort a job in progress. 2015-12-25 17:40:27 -05:00
Solomon Peachy b8bbd32c5f mitsu70x: Decode all errors, classes, and dispositions. 2015-12-25 17:23:48 -05:00
Solomon Peachy 67c75b6a6a mitsu70x: Major internal reworking to improve robustness.
This might fix the problems printing on the K60 models.
2015-12-25 16:21:06 -05:00
Solomon Peachy 5dac77ce76 mitsu70x: The unkown field in the status message version chunks is a checksum. 2015-09-13 11:34:22 -04:00
Solomon Peachy 5dda0018d2 all: Get rid of a little more getopt detritus. 2015-08-25 22:47:26 -04:00
Solomon Peachy b343d56f1e all: Get rid of the remainder of the old two-stage cmdline parsing
All backend->cmdline_arg() invocations are done with intent to execute!
2015-08-24 18:49:51 -04:00
Solomon Peachy db0c7d8b99 all: Eliminate the multi-stage cmdline parsing.
Unfortunately this means we lose the '-B backend' method, but the
overall control flow is much, much simpler now.
2015-08-13 21:09:56 -04:00
Solomon Peachy de8a32424c all: Unified approach to extra_vid/pid/type
This required a modification to all attach() methods.

Also, fix canonselphy's parsing/attachment code.
2015-08-12 22:56:29 -04:00
Solomon Peachy 5ffc5f3f8e mitsu70x: Fix up some compile warnings on some compilers. 2015-07-24 23:36:50 -04:00
Solomon Peachy 2181ae04b9 all: Clean up a small pile of warnings that clang-analyzer found. 2015-07-04 11:03:52 -04:00
Solomon Peachy 4489c1c0a5 misc: Clean up buffer overflows identified by cppcheck 2015-07-04 09:45:48 -04:00
Solomon Peachy 24c3550feb all: Ensure all malloc() failures are caught and logged. 2015-06-23 20:48:52 -04:00
Solomon Peachy 57c76ac2ab Get rid of some debug code. 2015-01-10 17:42:34 -05:00
Solomon Peachy b731dc04f8 Update copyright notice. 2015-01-05 21:39:22 -05:00
Solomon Peachy 778d014708 Add a few more deck status examples. 2014-12-30 18:03:39 -05:00
Solomon Peachy 1ac8584ff4 mitsu70x: Fix endian goof in the serno parsing code. 2014-12-30 09:51:58 -05:00
Solomon Peachy e1d2d8ccfb mitsu70x: Further deductions from status message analysis.
We don't know the media type yet, but we know the media capacity, and
possibly the total print counts too.
2014-12-29 18:57:40 -05:00
Solomon Peachy 4747a4b5e3 mitsu70x: Dump component versions too 2014-12-29 16:04:08 -05:00
Solomon Peachy 18fd12377c mitsu70x: Clean up the k60 workarounds to use proper headers. 2014-12-29 15:52:55 -05:00
Solomon Peachy c759fda455 mitsu70x: All models should use the 256K data chunk writes. 2014-12-29 15:38:34 -05:00
Solomon Peachy be32e335d3 mitsu70x: Implement a first cut at a serial number query for The D70
family.  The value is unique, at least, but not necessarily the same as
the the sticker on the printer (at least in the case of the Kodak 305)
2014-12-29 14:21:39 -05:00
Solomon Peachy 3fd50eaa41 mitsu70x: Fix swapped rows/columns in the print setup header.
Also use the ctx->rows/cols when checking to see if we need to fixup things.
2014-12-29 08:54:14 -05:00
Solomon Peachy 507906e951 mitsu70x: Send data to the K60/Kodak305 in 256K chunks, including a
special first chunk.
2014-12-29 08:42:35 -05:00
Solomon Peachy 7b698253a5 mitsu70x: The kodak305 needs to be treated like a K60. 2014-12-29 08:39:05 -05:00
Solomon Peachy 8ae0c18a6f mitsud70x: Add USB VID/PID for Kodak 305. 2014-12-25 09:20:50 -05:00
Solomon Peachy 75bbec99ad mitsu70x: Initial appearances show the D80 is teh same as the D70. 2014-12-02 23:45:32 -05:00
Solomon Peachy 1775df394a mitsu70x: Add initial support for the Kodak 305, which appears to be a
rebadged Mitsu D70
2014-10-17 21:14:45 -04:00
Solomon Peachy 5bb48ed47e mitsu70x: more fixes. 2014-10-03 21:32:40 -04:00
Solomon Peachy 69781991c5 mitsu70x: Another fix. 2014-10-03 20:54:23 -04:00
Solomon Peachy 1cdc2cac22 mitsu70x: More work. 2014-10-03 20:52:47 -04:00
Solomon Peachy e1519a59a1 mitsu70x: Fix dump_status debug. 2014-10-03 20:39:13 -04:00
Solomon Peachy 96cf9a96da mitsu70x: pack all structures. 2014-10-03 20:35:05 -04:00
Solomon Peachy a89e4e5016 mitsu70x: More rearrangement of the command sequence. 2014-10-03 20:30:09 -04:00
Solomon Peachy 7bfde9ed4e mitsu70x: Add a missing field to the payload header. 2014-10-03 17:22:14 -04:00
Solomon Peachy 5d1432433f Mitsu70x: Add correciton code to the k60 support to force 4x6 multicut
on when making 4x6 prints.
2014-10-02 19:29:47 -04:00
Solomon Peachy 82512dd238 Mitsu70x: Try to make this closer to to the real printer. 2014-09-19 20:39:04 -04:00
Solomon Peachy 5d083c27aa mitsu70x: Theoretically fix the spooler with a K60DW. 2014-09-17 20:18:21 -04:00
Solomon Peachy 4e5ee51d04 mitsu70x: Rework a bit from new sniff data. 2014-07-30 20:40:31 -04:00
Solomon Peachy 6fff71f2eb mitsu70x: Convert to CUPS_BACKEND_* return codes. 2014-04-25 11:38:01 -04:00
Solomon Peachy ba5dd540d9 mitsu70x: Remove a now-obsolete definition. 2014-04-12 16:36:01 -04:00
Solomon Peachy 45f41a2f7d debug output fixes. 2014-03-12 13:45:36 -04:00
Solomon Peachy b8ee4cea94 Require use of '-DD' to enable raw data dumps. 2014-03-12 10:53:26 -04:00
Solomon Peachy 95483590de mitsu70x: Better decode print remaining, plus lots of doc updates. 2014-03-11 18:44:58 -04:00
Solomon Peachy ed8fce8c81 mitsu70x: Update print job, fix parsing bugs in backend. 2014-03-11 15:07:48 -04:00
Solomon Peachy c9c71cbe0d mitsu70x: Better decoding of status 2014-03-11 14:34:07 -04:00
Solomon Peachy 7b80c3b226 Mitsu70x: Add USB PID for CP-K60DW-S 2014-03-10 14:08:30 -04: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 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 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 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 a7316668ff mitsu70x: Rework printjob parsing so that it can figure out job length
from the headers.
2014-01-17 22:50:29 -05:00
Solomon Peachy 817b6b04fc all: Handle short reads when loading in initial printjob header. 2014-01-13 18:30:30 -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
2013-12-21 22:15:18 -05:00
Solomon Peachy f4d8e31033 Document the known differences between the CP-D70x and the CP-K60. 2013-11-24 10:17:08 -05:00
Solomon Peachy 9201105c66 all: Fixed all compiler warnings. 2013-11-23 19:51:55 -05:00
Solomon Peachy 7712b69124 mitsu70x: Fix formatting on status dumps. 2013-11-21 09:18:19 -05:00
Solomon Peachy ce500edf2a mitsu70x: Documetation and bump the max job size. 2013-10-07 15:15:23 -04:00
Solomon Peachy 24cb407b70 mitsu70x: More decoding of the structures. 2013-10-05 12:35:56 -04:00
Solomon Peachy b65cdfc30c Beginning to decode the structure. 2013-10-05 11:59:32 -04:00
Solomon Peachy f1008e38f8 mitsu70x: Add a status query command. Doesn't decode just yet. 2013-10-05 11:52:37 -04:00
Solomon Peachy 97bf6ad995 mitsu_70x: Another update. 2013-10-05 09:58:27 -04:00
Solomon Peachy 3d6021d59a mitsu70x: Add an experimental backend for the Mitsubishi CP-D70x series.
This as of yet untested, but guinea pigs welcome.
2013-10-05 09:55:29 -04:00