Commit Graph

291 Commits

Author SHA1 Message Date
Solomon Peachy 9abe62b115 build: MinGW now compiles selphy_print cleanly.
Need to test it out. Especially the dynamic DLL loading.
2020-01-26 00:41:48 -05:00
Solomon Peachy d4b8ec0bc3 common: Move dynamic libary loading definitions into common header. 2020-01-26 00:24:33 -05:00
Solomon Peachy d0d6ef32b4 misc: Clean up endian macros, eliminate use of ntohs and friends. 2020-01-25 07:33:52 -05:00
Solomon Peachy a30fa619f1 misc: Correct a small pile of cppcheck/scan-build warnings.
No actual bugs, thankfully.
2020-01-22 11:25:06 -05:00
Solomon Peachy dcb76902fb mitsu70x: Only the ASK300 and D70/D707 can't rewind. 2020-01-22 08:04:57 -05:00
Solomon Peachy a111a2559d Common: Major rejiggering of print job combining
* Decision logic for combining jobs is global, with a per-backend
   combine_job() call for the nitty-gritty
 * Job combining code now handles multipage jobs as well as
   multiple copies of a given page
 * Will attempt to batch multipage jobs
 * Automatically invoked every time a job is appended to a joblist
 * Only used by DNP and Mitsu D70 backends (so far)
2020-01-21 21:48:57 -05:00
Solomon Peachy 288f06a634 mitsu70x: Report YMCO vs YMC format spool files correctly. 2020-01-20 10:34:28 -05:00
Solomon Peachy 626a49f05d Misc: Update address for FSF.
Also fix the copyright year for a few files.
2020-01-17 16:50:56 -05:00
Solomon Peachy e41a96c500 mitsu: Documentation updates, mostly for the CP9xxx series. 2019-12-25 23:41:31 -05:00
Solomon Peachy bdfb386246 mitsu: More notes on the 9000 and 3020 series.
...I really have to question my own sanity in this...
2019-12-20 23:06:09 -05:00
Solomon Peachy a5b2892476 mitsud90: Update docs and take a guess at a serial number query. 2019-12-20 11:37:26 -05:00
Solomon Peachy 77b7b12202 misc: version bumps 2019-12-13 19:07:13 -05:00
Solomon Peachy 388a25ab74 mitsu70x: Add generic common query support. 2019-12-13 19:02:42 -05:00
Solomon Peachy 1d331f940d misc: use CUPS_BACKEND_OK instead of 0 as a return value. 2019-12-12 07:15:25 -05:00
Solomon Peachy 2687133fe7 mitsu70x: Log the error when failing to open the LUT. 2019-11-27 08:17:16 -05:00
Solomon Peachy b41803ef9e common: Pass bInterfaceNo into backend->query_serno() call
Also allow the USB iSerialNumber value to be ignored.
2019-11-06 14:18:49 -05:00
Solomon Peachy 1fe3a6066b all: Pass the USB bInterfaceNum into the backend attach() function. 2019-11-02 09:12:30 -04:00
Solomon Peachy 551666a50e misc: Documentation/comment updates and some dead code removed. 2019-10-28 20:32:09 -04:00
Solomon Peachy 5f34b1070f misc: Fix missing newlines in multiple error messages. 2019-10-03 20:30:35 -04:00
Solomon Peachy c1b15c1fbb all: Clean up unnecessary #include 2019-09-28 11:05:42 -04:00
Solomon Peachy 9b3ae0ed5b all: Report up the low-level media ID as a PPD attribute.
(Needs changes to Gutenprint in order to be useful...)
2019-09-28 10:54:10 -04:00
Solomon Peachy 5c2f56cc31 Missed some files modified in 2019. 2019-06-03 19:40:45 -04:00
Solomon Peachy 70b10a55dd misc: It's 'Fujifilm', not 'Fuji' 2019-05-26 22:35:44 -04:00
Solomon Peachy 473aa2bbc4 misc: More static analysis fixes. 2019-05-12 11:11:51 -04:00
Solomon Peachy d9b8ccf740 mitsu70x: minor tweak to memory output 2019-05-11 18:01:38 -04:00
Solomon Peachy c38be94d99 mitsu70x: Further enhance memory query. 2019-05-11 18:00:35 -04:00
Solomon Peachy 0acd4ff5ea mitsu70x: Display memory bank status 2019-05-11 17:53:12 -04:00
Solomon Peachy 9ae4330a66 mitsu98xx: Start using lib70x -- 3D LUT only for now. 2019-02-26 07:23:14 -05:00
Solomon Peachy 11b5746884 kodak305: Update version test. 2018-10-24 21:42:56 -04:00
Solomon Peachy d37bae36e7 kodak305: Firmware 3.0 supports 5" media! 2018-10-21 22:35:19 -04:00
Solomon Peachy 5c566926d5 mitsu707: On the D707, retry on the other deck if we error out. 2018-10-18 22:17:49 -04:00
Solomon Peachy 5930981eaf mitsu707: Don't forget requested deck when iterating through pages/copies 2018-10-18 22:04:39 -04:00
Solomon Peachy da0517fa82 mitsu70x: Don't trigger fast return until job has started printing.
Longer latency until we return (and can submit another print) but will
catch many more errors.
2018-10-18 16:29:51 -04:00
Solomon Peachy a5c243717d misc: don't duplicate fast return in backend help. 2018-10-18 13:37:11 -04:00
Solomon Peachy 7ee92fbeb0 mitsu707: Handle corner case where only requested deck is offline
We have to distinguish between "deck offline, bail" vs "deck busy, retry"
2018-10-18 11:26:47 -04:00
Solomon Peachy 1eae48e761 mitsu70x: two bugfixes:
* Report -1 prints remaining when the deck is offline.
 * Check the correct deck's error status when printing.
2018-10-18 10:57:57 -04:00
Solomon Peachy e82f7cee7f mitsu70x: fix definitions for ask300 and mitsu d707 2018-09-28 16:17:31 -04:00
Solomon Peachy 2e70eca4e1 all: Revamp "backend names" to align with gutenprint model names.
Should have done this to begin with, whoops.

(All old names are retained for backwards compatibility)
2018-09-22 09:11:14 -04:00
Solomon Peachy 4f510078ca mitsu70x: Support passing media code into test mode. 2018-09-21 15:17:48 -04:00
Solomon Peachy 3b4338988f misc: Fix some minor issues reported by scan-analyze
(All remaining issues are false positives, from what I can tell)
2018-09-20 08:42:30 -04:00
Solomon Peachy ccdfcf5b07 mitsu70x: Figured out how to detect the D707's dual deck. 2018-09-19 14:40:06 -04:00
Solomon Peachy 706ff71502 mitsu70x: Do a proper BCD-to-int conversion on the unknown field
That way we won't get caught by integer overflow, making dual deck
detection more reliable.
2018-09-19 10:32:05 -04:00
Solomon Peachy 67f67d9b29 mitsu70x: Try a smarter test for the presence of the upper D70x deck. 2018-09-18 19:57:18 -04:00
Solomon Peachy c0e02d0a7c mitsu70x: Fix upper deck status reporting on D707 2018-09-18 13:49:40 -04:00
Solomon Peachy 23346080ee mitsu70x: Fix inverted test in deck selection.
And if both decks are okay to use, pick one at random.
2018-09-18 11:16:35 -04:00
Solomon Peachy 652942281c mitsu70x: Greatly enhance support for the dual-deck CP-D707DW
* Intelligent deck selection based on loaded media
 * Load-balancing between decks when printing multiple copies
 * Sane error detection and handling.
2018-09-18 10:41:24 -04:00
Solomon Peachy fd5a488924 mitsu70x: Move firmware sanity tests into attachment code. 2018-09-18 09:50:43 -04:00
Solomon Peachy ed6e734ac3 Fix a typo that accidently got committed. 2018-08-28 11:03:44 -04:00
Solomon Peachy 4b13d56d9d mitsu70x: Better support for the CP-D707DW
We can now determine job status of upper vs lower deck.

Need better smarts for determinig if we can print.

(Testing provided by a contributor who wishes to remain anonymous!)
2018-08-27 12:16:43 -04:00
Solomon Peachy c5a8283a80 common: Support a multi-page "joblist"
Port the DNP and mitsu70x job combining code to use it.

Basically, this ensures we won't spit out any extra page copies, and is
an important stepping stone towards decoupling parsing from printing.
2018-06-20 21:50:10 -04:00
Solomon Peachy de41c311db mitsu70x: fix. 2018-06-20 11:54:44 -04:00
Solomon Peachy 2a1163d155 mitsu70x: support 4x6 combining on all models, and 3.5x5 on EK305/K60. 2018-06-19 20:11:58 -04:00
Solomon Peachy b4dc6c7f25 mitsu: 70x and 98xx families perform the image processing in test modes.
This fixes a functional regression.
2018-06-19 09:04:17 -04:00
Solomon Peachy 0203308a1a mitsu70x: Move the bulk of the image processing into the main loop
Now we can finally muck with job combining on the D70 family.
2018-06-17 22:08:19 -04:00
Solomon Peachy d554030a3b mitsu70x: Simply parsing logic a little.
Fix a bug with multiple pages with the LUT enabled.
2018-06-17 21:34:14 -04:00
Solomon Peachy 43d4812856 many: Fix more memory leaks and outright bugs. 2018-06-17 21:08:17 -04:00
Solomon Peachy fd9b38202e common: better split between parsing and printing.
parsing returns a self-contained job, which is then passed to printing
code.  No global state is modified.

mitsu 70x:
  Still need to move the image processing code to the print side.
2018-06-17 12:14:46 -04:00
Solomon Peachy 28ddec9d02 mitsu 70x & d90: Documentation updates.
Continuing to learn new stuff about these models, based on RE efforts.
2018-05-20 11:31:36 -04:00
Solomon Peachy 1a8d41dad8 mitsu70x: constify a few things. 2018-05-17 20:19:16 -04:00
Solomon Peachy caaaaa63bf whitespace cleanup. 2018-05-17 20:11:30 -04:00
Solomon Peachy 359aff088a mitsud90: Lots of updates and additional decoding.
Main change is that we now hopefully wait for idle properly.
2018-05-17 20:11:27 -04:00
Solomon Peachy f048617bf1 mitsu70x: support TEST_MODE_NOATTACH. 2018-05-12 18:41:13 -04:00
Solomon Peachy 7ebfa12b96 mitsud90: Add WIP backend for the Mitsubishi CP-D90DW 2018-05-12 12:15:13 -04:00
Solomon Peachy 33699d70ba mitsu70x: Fix bad test for job header sanity. 2018-05-11 16:23:43 -04:00
Solomon Peachy 390c5e2bf6 all: push printer type lookup into common code. 2018-05-09 23:09:01 -04:00
Solomon Peachy 5669fb3552 all: add new marker query support to backends and rejigger as needed. 2018-04-29 11:03:46 -04:00
Solomon Peachy 06dbf0fa91 common: Change backend->attach API to allow status returns 2018-04-28 19:22:05 -04:00
Solomon Peachy c3d9a9b151 misc: Fix up a pile of cppcheck warnings.
* memory leaks in error paths
 * not checking return values in a couple of places
 * logic errors in s1245
2018-04-26 14:45:32 -04:00
Solomon Peachy 7939d501d7 all: Move all backend names into aliases tables.
Update all printer entries to have unique names.  As long as the USB
VID/PID is unique, each "backend" appears unique!
2018-03-16 15:35:00 -04:00
Solomon Peachy ad3409b600 It's 2018, update appropriately. 2018-02-22 06:02:49 -05:00
Solomon Peachy c824c549fb all: use BACKEND_CUPS_RETRY_CURRENT for memory allocation failures. 2018-02-16 10:49:21 -05:00
Solomon Peachy 670f0373f5 mitsu70x: Close the lamination file when we're done with it. 2018-01-21 21:36:12 -05:00
Solomon Peachy 8d74305b7e mitsu70x: Fix 4x6*2 multicut on 6x8" media with D70x and ASK300.
**note:  It is unclear if this workaround is necessary if using 6x9" media!
2018-01-02 20:39:16 -05:00
Solomon Peachy 4207121447 mitsu70x: More details about current ASK300 firmware. 2018-01-02 13:48:56 -05:00
Solomon Peachy 93c8fe8d50 mitsu70x: Revamp how firmware version checking is done
Instead of doing an exact match on the checksum, do a strcmp on the
version string itself, and complain if it's less than the ideal one.
This way we won't complain if we have a version newer than expected.
2017-12-31 13:20:38 -05:00
Solomon Peachy 961a0a1057 mitsu70x: Minor output tweaks. 2017-12-22 19:26:05 -05:00
Solomon Peachy 99f34bf024 mitsu70x: Fix logic error that prevented printer wakeups via a job. 2017-12-16 08:30:42 -05:00
Solomon Peachy 4f339776a4 mitsu70x: Add a blocking wakeup command too. 2017-12-09 09:27:36 -05:00
Solomon Peachy 96e4ef4ed5 multiple: Fast return should not be used when backend generates copies 2017-12-07 14:09:26 -05:00
Solomon Peachy 282906daf6 mitsu70x: Fix some typos. 2017-12-07 13:57:03 -05:00
Solomon Peachy afeebcdb72 mitsu70x: Log temperature too. 2017-12-07 13:54:30 -05:00
Solomon Peachy 712f31b8a7 mitsu70x: Fix oops in the getopt code. 2017-12-07 13:44:17 -05:00
Solomon Peachy 09e6c12f37 mitsu70x: Move job status query into its own command.
And add a wakeup command too.
2017-12-07 11:53:01 -05:00
Solomon Peachy b9d948e861 mitsu70x: improve deck detection and power status detection. 2017-12-07 10:26:55 -05:00
Solomon Peachy 5b40d2e216 All: Add 'SPDX-License-Identifier' headers to all source files.
(GPL-3.0+ for everything but the S6145 backend, which is GPL-3.0+
   with an additional permission)
2017-11-17 13:34:26 -05:00
Solomon Peachy 56cd04bd2a all: Clean up the manufacturer override field in the devices. 2017-11-08 19:19:00 -05:00
Solomon Peachy 15f5406fb8 mitsu70x: Fix up some spurious whitespace. 2017-11-06 14:36:32 -05:00
Solomon Peachy 8eab77ac2e mitsu70x: Fix 3.5x5" media detection on the ASK-300 2017-09-22 20:25:29 -04:00
Solomon Peachy b9366167e6 mitsu70x: Fix ASK300 submodel ID in header. 2017-09-19 22:35:32 -04:00
Solomon Peachy d6291319d7 typofix. 2017-09-19 06:51:48 -04:00
Solomon Peachy 6fe768fb16 mitsu70x: Fill in ASK-300 media types (6x8 is known, rest are guesses) 2017-09-19 06:28:58 -04:00
Solomon Peachy b74587e72f mitsu70x: The ASK-300 shouldn't use the D70's LUT.
(Revisit this later.  Might also need to update gutenprint)
2017-09-09 08:05:01 -04:00
Solomon Peachy 7ac5cbbf39 mitsu70x: Properly handle "header error" codes. 2017-09-09 08:01:01 -04:00
Solomon Peachy 6764635674 mitsu70x: Add USB VID/PID for Fujifilm ASK-300 2017-09-09 08:00:14 -04:00
Solomon Peachy 62f75e8dc6 mitsu70x: Properly quote the marker-message messages. 2017-07-21 10:30:55 -04:00
Solomon Peachy 6ccb90c5a3 mitsu70x: Include textual marker-message for D70 family. 2017-07-21 10:14:07 -04:00
Solomon Peachy 1a61649d01 mitsu70x: Add in K60 firmware version checking.
Turns out there's a v1.05 drop to be had, via Mistu/JP.

Still don't have a download link for the D70/D707 v1.12 though.
2017-07-11 19:57:53 -04:00
Solomon Peachy 487ccc9f71 Fix up bad whitespacing. 2017-07-10 20:15:56 -04:00
Solomon Peachy 564cd4aee2 mitsu70x: Detect CK-D868 media, and standby timeout is 60min max. 2017-05-22 23:54:09 -04:00
Solomon Peachy 11829f2f45 Merge a pile spelling fixes from Ville Skyttä <scop@sf> 2017-05-05 08:11:04 -04:00