Commit Graph

310 Commits (master)

Author SHA1 Message Date
Solomon Peachy cf9154a355 dnpds40: Fix anotehr leak. 2023-11-03 21:50:38 -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 85e29cb80a dnpds40: Add overflow checks to reading in cmd & data chunks 2023-10-06 22:54:31 -04:00
Solomon Peachy 884fb4c314 dnp: Add preliminary support for the Fujifilm ASK-400
Appears to be a rebadged Citizen CX-02 (aka DNP DS620)

Still lack the USB PID, but I was able to pull enough info from the
driver package to make it worth adding this in now.
2023-09-08 09:57:09 -04:00
Solomon Peachy 51fdf80846 DNP: Support for writing the main flash, CWD, gamma tables, and duplexer.
**** THIS HAS THE POTENTIAL TO BRICK YOUR DEVICE ****

 ** Main flash and CWD writing tested on all models except DS80 & DS80DX
 ** Gamma table flashing requires DS820, and is untested.
 ** Duplexer unit flashing requires DS80DX, and is untested.
2023-07-15 11:17:55 -04:00
Solomon Peachy 91350c0a5e dnpds40: Silence a warning with GCC 13 2023-07-09 11:45:50 -04:00
Solomon Peachy fa41b973a0 misc: Update copyright year in a few places I'd missed 2023-03-19 21:33:55 -04:00
Solomon Peachy bfc44dfe16 dnpcitizen: Citizen CX-02 and CX-02W support ribbon rewinding.
(Unlike the DNP, where the -A models don't support rewinding)
2022-11-09 09:03:53 -05:00
Solomon Peachy 642a150101 dnp: Handle the 4x3, 4.5x3, 4x4. and 5,4.5x4 sizes.
These have unique MULTICUT values.   There's a gap in the sequence
that lends me to think there's another size in play, but dunno.

Updates to Gutenprint will follow
2022-10-03 16:07:15 -04:00
Solomon Peachy 68f79125a9 docs: Update copyright year for files modified (so far) in 2022 2022-09-29 14:28:16 -04:00
Solomon Peachy e6293c3a57 DNP: Rework the new sies a little based on what I've learned so far
(They're still mostly just placeholders, but eh)
2022-09-29 10:13:09 -04:00
Solomon Peachy 9420bef7e1 DNP: Placeholder for the QW410 1.10 firmware features
Adds support for 4x4.5, 4.5x3, 4.5x4" prints.  Not sure of the details.
2022-09-28 15:35:11 -04:00
Solomon Peachy 4d77315c5b dnp: Add in a missing printer error code. 2022-07-28 10:52:44 -04:00
Solomon Peachy d84cd5f482 dnp: for out of media/etc situations, error out properly instead of warning and retrying indefinitely 2021-10-12 12:56:11 -04:00
Solomon Peachy 64e73f58a4 DNP: Handle mediaoffset calculations resulting in negative remaining media
...by just capping it to 0.
2021-10-12 12:39:46 -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 87f3f39005 various: We used CUPS_BACKEND_HOLD instead of _STOP for some errors 2021-09-29 22:54:07 -04:00
Solomon Peachy 5866b8b908 DNP: when we run into a fatal printer error, STOP the queue
(Instead of HOLDing the job)
2021-09-27 19:26:12 -04:00
Solomon Peachy d4b9d75d66 dnp_citizen: When we get a media code of 0, check printer status
(This happens when the ribbon is exhausted, causing a parsing failure
rather than the underlying error being reported)

In the process, consolidate the various cut-n-pasted status queries
into a shared function.
2021-08-19 06:36:10 -04:00
Solomon Peachy 04cd0d08f0 Bump copyright year in a few more places 2021-06-25 18:29:29 -04:00
Solomon Peachy 3c51ebaa6f citizen/dnp: Fix compile error that somehow survived multiple commits. 2021-06-17 07:51:13 -04:00
Solomon Peachy 2f2ad1a6a7 DNP/Citizen: Tweak feature flags for CX-02/CX-02W & DS620/DS820
* CX-02 needs FW 1.01 for fine matte
 * Don't bother with version checks for pre-1.0 firmware features
2021-06-15 09:01:27 -04:00
Solomon Peachy 34981179d0 dnp: use MFG_* instead of magic numbers 2021-06-11 07:50:48 -04:00
Solomon Peachy 56d4606022 citizen: Check CX-02 and CX-02W firmware versions differently from DNP 2021-06-09 19:43:06 -04:00
Solomon Peachy bdddf828ac Citizen: Detect and report Sticker media (on Citizen CX02)
Stickers need some special handling though, and possibly
a modified printer.  Don't konw how to detect that yet.
2021-05-16 00:16:50 -04:00
Solomon Peachy 6ab6949279 Fix two USB PID typos. 2021-04-17 07:20:57 -04:00
Solomon Peachy e3ab11a975 misc: Get rid of all USB_VID_*/USB_PID_* definitions
Directly reference the IDs in the lookup tables, like in linux-kernel
2021-04-16 21:12:54 -04:00
Solomon Peachy 8a4fd56c13 Update shaftnet.org URLS from http -> https
Update copyright year as appropriate
2021-01-23 10:47:01 -05:00
Solomon Peachy 92fec5125d dnp: DS820 fix for A4x6" print sizes landed in firmware 1.06, not 1.07 2020-11-19 12:47:08 -05:00
Solomon Peachy 2e06e08f28 dnpds40: Add support for partial matte operation 2020-10-22 09:08:03 -04:00
Solomon Peachy cfe0fd8004 common: the 'dyesub_backend' structure is now const everywhere. 2020-10-05 22:27:08 -04:00
Solomon Peachy 5f4d87fd41 dnpds820: FW 1.07 is needed to print A4x6 sizes
(It could be 1.06 that fixed it, but 1.05 definitely is broken...)
2020-09-09 20:25:32 -04:00
Solomon Peachy f31e06802a ds820: We can't rewind A4x4 either 2020-09-01 23:28:02 -04:00
Solomon Peachy 3c4b54a083 dnpds820: We can't combine A4x6 prints 2020-09-01 23:24:05 -04:00
Solomon Peachy c73a02ada3 dnpds820: Also support combining 2x A5 -> A5-div2 2020-09-01 23:18:50 -04:00
Solomon Peachy fa6f7dae48 dnp820: We can also combine 2x A4x5" -> 1x A4x5*2 2020-09-01 17:17:49 -04:00
Solomon Peachy 322ad8d7b7 common: Introduce a common USB connection object, and use it! 2020-08-12 20:04:54 -04:00
Solomon Peachy 0737fa32a0 DNP: Support the QW410 and Citizen CZ-01 4.5" printers. 2020-04-30 21:24:15 -04:00
Solomon Peachy f79500986f misc: Shut up a large pile of compile warnings with pedantic compilers 2020-03-24 18:23:00 -04:00
Solomon Peachy 12d709fb2c dnpds40: Silence a build warning with GCC10 2020-03-22 20:58:39 -04:00
Solomon Peachy 1ddf81255f dnp: Fix another segfault that only happens in test mode. (ds620/ds820) 2020-03-18 07:32:13 -04:00
Solomon Peachy 2bb1faefb5 dnp: Fix segfault. Bad Solomon. 2020-03-17 22:04:17 -04:00
Solomon Peachy 26acaaf8df dnp_ds820: Set printer attributes at the very beginning of the probe code
Fixes the media subtype query on the DS820
2020-03-17 21:33:38 -04:00
Solomon Peachy 3d5ee56d67 DNP: Split media keep mode into its own feature flag 2020-03-09 19:04:29 -04:00
Solomon Peachy bd7a80540c DNP: DS820 has different CWDs for each media type. 2020-03-09 18:55:52 -04:00
Solomon Peachy 18a05657c5 DNP: Mark the legacy spool headers as packed. 2020-03-09 16:15:02 -04:00
Solomon Peachy a37678f9f8 dnp_citizen: Better sanitization of the iManufacturer string 2020-02-26 21:11:14 -05:00
Solomon Peachy 3d01e35e5e shinkos6145: Support job combining (4x6 *2 -> 8x6-div2)
This code could be genericized, but as the other 6" sinfonia models
automatically combine prints it's not terribly useful.

The 6" printers don't appear to support a 5x7-div2 cut size, so
this remains only useful for 4x6.  Similarly, we can't do a 6x8-div4.

But as all 6" models can rewind, this is only a print speed optimization
rather than a media use optimization!
2020-01-31 11:34:08 -05:00
Solomon Peachy 697486b467 All: Leave the "prefix" list for family or backwards-compatible names only.
...use the name in the DEVICE entry for backend matches!
2020-01-30 22:08:55 -05:00