Commit graph

161 commits

Author SHA1 Message Date
Solomon Peachy 1ec6736633 build: Turn on -Wshadow, and fix the fallout 2025-03-03 16:30:51 -05:00
Solomon Peachy e6202fad97 mitsuw5k: Extend the spool format to specify copy count 2025-01-07 18:03:39 -05:00
Solomon Peachy be55ead6eb mitsu d70/d90: Extend spool format to include a page copy count
These printers don't support hardware copies but we want the backend
to be able to handle this so we can:

 * avoid re-running the heavy image processing steps each time
 * allow for automatic Nup/cut page combining

Requires a change in gutenprint to utilize
2025-01-05 21:33:03 -05:00
Solomon Peachy 61c8726678 mitsud90: Fixes for the D90-SL variant
Got a sniff of it printing.  Apparently the only change looks to be a
single byte in the plane/data header.
2024-12-16 19:59:46 -05:00
Solomon Peachy e82aeb6918 mitsud90: Fix regression on W5000 model 2024-12-11 08:21:51 -05:00
Solomon Peachy a9e702979f mitsud90: CP-D90DW-SL uses a variation of the PAGE START command
(changed offset 0x05 from 0x33 to 0x03)
2024-12-10 19:26:17 -05:00
Solomon Peachy 608fe617a3 mitsud90: bump version 2024-11-22 07:09:21 -05:00
Solomon Peachy f1915ae58e mitsud90: Add the USB ID for the Mitsubishi CP-D90DW-SL variant
No idea if it actually works but this is a start.
2024-11-22 07:04:28 -05:00
Solomon Peachy 60edad34a9 mitsud90: Fix up some pedantic warnings 2024-06-02 19:01:30 -04:00
Solomon Peachy ab81c3e7fc docs: Update URL to current repository and bug tracker 2024-05-29 20:34:43 -04:00
Solomon Peachy 6c0efde77c all: Pull the static device table out of the backend structure definition
...Now it's a separate structure referenced through a const pointer.

Personally I find this a bit uglier but I'm sick of the voliminous noise
that static analyzers generated from the way it was.
2024-04-05 07:50:54 -04:00
Solomon Peachy a047969950 mitsu: Set the 'is_raw' flag after processing 8bpp input into native
...This will prevent double-processing.
2024-01-20 20:55:33 -05:00
Solomon Peachy 008e16ec0a mitsud90: Feature enhancements:
* Report if FW version on the M1 is out of date
 * Report cutter & print count count on the M1
 * Report print count in standard stats on W5000 and M1
 * Check memory status in the "wait for ide" loop to enable pipelining
 * Better handle job-specified wait/delay-to-start time
 * Documentation consolidation/update
2024-01-19 11:27:14 -05:00
Solomon Peachy fa74802dba mitsud90: Bugfixes for panorama mode 2024-01-11 22:27:08 -05:00
Solomon Peachy 123a357a73 mitsud90: Use BACKEND_FLAG_DUMMYPRINT for testing M1 processing
...This way the full pipeline can be used.
2024-01-11 22:11:30 -05:00
Solomon Peachy 1aebde2715 mitsud90: Fix typo in a panorama check 2024-01-11 22:05:30 -05:00
Solomon Peachy 341f48dcaa Revert "mitsud90: Move all image processing to before pano splitting"
This reverts commit 69344f821a.
2024-01-11 22:04:25 -05:00
Solomon Peachy 69344f821a mitsud90: Move all image processing to before pano splitting
...and out of the main_loop() which now only does some final sanity
checks and sets up the job
2024-01-11 21:30:35 -05:00
Solomon Peachy fe230371db mitsud90: Disable in-printer sharpening with pano prints
We don't want it messing with the blended areas

Will have to figure out a way to do the sharpening pre-split, but the
mitsu image algorithms are all set up to sharpen post-gamma.
2024-01-11 20:33:24 -05:00
Solomon Peachy 03ca5ce596 mitsud90: Theoretically we support continuous panoramas now
This required substantial rework of the "common" rgb8 pano split code to
add blending support (modeled after the DNP stuff) along with MANY
bugfixes.

The Sinfonia pano code (used by the EK8810 and EK69xx) also needed
to be tweaked, but that isn't expected to work on real printers yet due to
unknown control protocol bits.
2024-01-07 12:24:10 -05:00
Solomon Peachy 30557772c1 mitsud90: add csv data files for D90 family. 2023-12-21 20:45:27 -05:00
Solomon Peachy c0a9f7499c mitsud90: Add in a LUT for the D90, may be needed in panorama mode
(The LUT needs to be done _before_ the panel split, so it can't be done
 in-printer)
2023-12-20 19:55:52 -05:00
Solomon Peachy 813589543d mitsud90: Fix an inverted test that broke serial number queries.
This had the unfortunate effect of preventing all operation with
these printers.

(This broke in f1c20046 (dated Nov 1) so it was only busted for a month)
2023-11-30 11:50:24 -05:00
Solomon Peachy e2dd3e8217 misc: Another round of CONSTification 2023-11-01 21:17:43 -04:00
Solomon Peachy f1c2004666 misc: misc fixes to make cppcheck & clang-analyze happier
Most of these are CONSTifying arguments, but there are some memory leaks too
2023-11-01 16:16:26 -04:00
Solomon Peachy 9a591f7eb1 mitsu_s5k: More fixes, mostly duplexing related. 2023-07-15 11:17:58 -04:00
Solomon Peachy 2673ae2606 mitsu_w5k: Counter fixes 2023-07-12 15:41:52 -04:00
Solomon Peachy d1c407c4ff mitsu_w5k: Figured out some of the counters (and more)
Thanks to correlation with the test/status print
2023-07-12 14:27:15 -04:00
Solomon Peachy 52724dc9df mitsu_w5k: Documentation update 2023-07-11 15:41:36 -04:00
Solomon Peachy cb0a377deb mitsu_w5k: It prints! Doesn't use the same status codes as the D90/M1 though 2023-07-11 15:19:58 -04:00
Solomon Peachy 4a384b481e mitsu_w5k: Even more fixes. 2023-07-11 14:44:41 -04:00
Solomon Peachy 3014e200f6 mitsu_w5k: More fixes. 2023-07-11 14:39:58 -04:00
Solomon Peachy 64caa831e4 mitsu_w5K: fixes 2023-07-11 14:28:44 -04:00
Solomon Peachy c046fc8f20 mitsu_w5k: Hopefully working info dumps 2023-07-11 14:15:12 -04:00
Solomon Peachy f2e98794fb mitsu_w5k: more fixes 2023-07-11 13:27:13 -04:00
Solomon Peachy 2f908ea89b mitsuw5k: Fix a buffer overflow querying the serial number 2023-07-11 13:26:18 -04:00
Solomon Peachy a4259d7ba0 mitsu_w5k: Fix multiple bugs, document all known attributes 2023-07-11 13:13:26 -04:00
Solomon Peachy 1d7933fa46 mitsu_w5000: Continuing bringup.
* Rework command submission to handle the W5000 differences. (partial)
 * Job parsing and sending

Completely untested, but we're able to successfully parse Windows printjobs.
2023-07-10 10:13:41 -04:00
Solomon Peachy 70d049bdfb mitsuw5k: Minor device identification addition 2023-07-09 15:44:42 -04:00
Solomon Peachy 65826fba6f mitsu: More W5000 bits. 2023-07-08 16:32:39 -04:00
Solomon Peachy 588bcef6cd mitsud90: Add VID/PID for Mitsubishi CP-W5000DW
The W5000 uses the same base protocol as the D90/M1 family.

Further analysis is in the works.
2023-07-07 09:47:28 -04:00
Solomon Peachy 6a6730d3ca mitsud90: Tweak an error message slightly 2023-05-19 18:24:37 -04:00
Solomon Peachy b5c7b5e53e all: Move to using 'struct dyesub_job_common' in all backends
Should have done this a while ago.  Now I can finally modify the
common job structure in just one place
2021-09-30 14:52:11 -04:00
Solomon Peachy a396200bce all: make "fast_return" only affect the final print in a job.
That way we can take advantage of printer pipelining within a job
even when fast_return is turned off.

This refactoring was also necessary for further changes in how
fast_return will work.
2021-09-30 13:55:27 -04:00
Solomon Peachy bd5e58205b mitsu_m1: We weren't allocating sufficient memory for "raw" prints 2021-07-12 20:24:05 -04:00
Solomon Peachy ae7806a827 mitsud90: Major bugfixes for panorama support. 2021-07-12 14:40:28 -04:00
Solomon Peachy a0c6b7bf8a mitsud90: Dimensional fixes for panorama split 2021-07-12 11:08:27 -04:00
Solomon Peachy 42806398b3 mitsud90: Rework panorama handling code.
* Expect single-image job from gutenprint
 * Split job into separate overlapping panels
 * Create a job for each panel
 * Nuke original parsed job

Still (major) TODO:  processing overlapping regions!
2021-07-11 22:19:57 -04:00
Solomon Peachy 1006f6927c Some panorama work on the EK8810 and Mitsu D90.
Detect the pano flags set by Gutenprint, and error out.
2021-07-11 21:16:55 -04:00
Solomon Peachy f7970ea003 kodak1400: Add error message parsing. Purely informative. 2021-07-06 19:37:42 -04:00