Commit graph

172 commits

Author SHA1 Message Date
Solomon Peachy 718c505ba5 hiti: Add the Swiftfoto KSF-10R in parallel to the Joyspace U826
It's not clear if this the KSF-10R will supplant the U826 branding,
but initial indications are that they share the same USB IDs.

...So treat them the same for now.
2024-10-24 21:48:48 -04:00
Solomon Peachy c0bf6052c3 hiti: Fix print combining for 5x3.5" prints 2024-08-21 14:41:19 -04:00
Solomon Peachy 80fbc39703 hiti: fix dual 2x6*2 job combining into a single 2x6*4 job 2024-08-21 13:43:09 -04:00
Solomon Peachy 9190a17433 hiti: Theoretically support job combining with 2x6 strips 2024-08-21 13:20:26 -04:00
Solomon Peachy 95607d4cf8 hiti: Fix failure to print on P52x models. 2024-08-21 12:05:13 -04:00
Solomon Peachy d5d54749ef hiti: fix 6x5/6x6" prints on 6x9" media 2024-08-20 21:05:28 -04:00
Solomon Peachy 0b472418e4 hiti: Fix the incorrect template for the 3D LUT files. 2024-08-20 20:14:22 -04:00
Solomon Peachy dbdb8f12a0 hiti: Send the unknown 8011 command on the P52x family. 2024-08-19 08:24:17 -04:00
Solomon Peachy b0b5ab117e hiti: Implement support for additional media types 2024-08-15 19:38:32 -04:00
Solomon Peachy cb772493f4 hiti: Support for 6x6 and 6x5 print sizes 2024-08-14 18:28:35 -04:00
Solomon Peachy 3b5e406bc6 hiti: Support for the Joyspace U826
This is apparently a rebadged P525L, but with a couple of new features:

 * Addtitional media types (Sticker, Transparent, Metallic)
 * Ribbon rewinding support
 * Identifies itself as 'ro' type (instead of 'ri')

Still todo:

 * figure out how to support additional media types
 * Figure out rewind feature ("delayed availability" WTF?)
 * Add new LUT and heat file types to the decoder ring
2024-08-13 14:18:36 -04:00
Solomon Peachy ba059ee4ac hiti: New firmware versions for the P52x series 2024-08-10 20:12:24 -04:00
Solomon Peachy ac20870aec hiti: Fix a naming error in the ERDC_RS definition 2024-06-10 20:24:57 -04:00
Solomon Peachy d0204fe9a7 hiti: Bugfixes relating to the P320 and P461 sheet printers 2024-06-08 19:17:51 -04:00
Solomon Peachy cf1d9da634 hiti: No need to hardcode head width; the printer supplies this already 2024-06-06 18:58:30 -04:00
Solomon Peachy ed543fd752 hiti: Properly handle 5" prints
Turns out the printer actually needs the full 6" of data per row
so when we do the RGB->YMC conversion, pad either side of the
printed area.
2024-06-01 22:59:19 -04:00
Solomon Peachy bf103a9461 hiti: Multiple enhancements
* Moved MATRIX dump into a separate command line argument
 * Report 5x7 and 6x9 counters
 * Refactoring in preparation for P310 and P320 series
2024-06-01 14:45:14 -04:00
Solomon Peachy ab81c3e7fc docs: Update URL to current repository and bug tracker 2024-05-29 20:34:43 -04:00
Solomon Peachy f26602fe00 hiti_p51x: Fix another error in parsing data files. 2024-04-29 18:11:28 -04:00
Solomon Peachy 992cd44b05 hiti_51x: Rework how heattable v1 entries are parsed and loaded.
There was a boneheaed error in the old code, but instead of fixing that
typo (and some incorrect fixed offsets) properly parse out the table
structure to find the elements we want.
2024-04-26 20:43:20 -04:00
Solomon Peachy ee9cce70ec hiti: Add media capacity for the P510 series 2024-04-23 15:48:04 -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 b6f7513d52 all: MEDIA_CODE argument is in _hex_ not decimal, so use strtol instead of atoi 2024-01-20 17:59:48 -05:00
Solomon Peachy 340d8f690f minor doc updates 2024-01-05 20:47:08 -05:00
Solomon Peachy 0e726e7855 hiti: Implement job combining
On 5x7 media, will combine 2* 3.5x5" prints into a single 5x7", cut in half
 On 6x8/6x9, will combine 2* 4x6" prints into a single 6x8", cut in half

As these printers don't support ribbon rewinding, this will waste less
media.  It also has the benefit of speeding up printing.
2023-12-23 14:16:23 -05:00
Solomon Peachy 8891ce2c19 hiti: Fix an uninitalized operation that defeated an optimization attempt 2023-12-23 14:11:38 -05:00
Solomon Peachy 6b6c9ced51 misc: Fix two (harmless) compiler warnings 2023-12-23 09:22:51 -05:00
Solomon Peachy 80f770d511 hiti: Clean up the APPEND_ENTRY_* macros a bit.
(Make them more uniform in control flow)
2023-12-12 20:34:56 -05:00
Solomon Peachy c9ec30a563 hiti: Fix bad enumeration breaking matte printing with SHPTC 2023-12-12 20:33:49 -05:00
Solomon Peachy 873c32a461 hiti: More fixes for SHPTC generation and transmission
* Include major/minor fields
 * Reversed memcpy src/dest resulting in a null data table
 * APPEND_ENTRY_FAIL2 was inserting a zero-length entry
 * Nuke some dead code

On the P520L (1.28.0.V), the SHPTC now succeeds but results in:

   Printer reported alert: 000301fe (Command sequence error)

Not sure why yet, currently investigating
2023-12-12 19:43:09 -05:00
Solomon Peachy 2de9fc321b hiti: Fix typo in the heat table fallback code 2023-12-12 16:10:00 -05:00
Solomon Peachy 7b05e12f68 hiti: Another doc update 2023-12-08 12:06:02 -05:00
Solomon Peachy 66a3297ae3 hiti: misc TODO updates 2023-12-08 11:56:55 -05:00
Solomon Peachy aa88efd0a7 hiti: Update data files for the P461, P520/525, P720, and P750.
Taken from Windows drivers as of 2023-12-08
2023-12-08 11:25:03 -05:00
Solomon Peachy c438ffa615 hiti: Add firmware version check for the P530D, P720L, and P750L. 2023-12-08 11:20:29 -05:00
Solomon Peachy 4df4b44224 hiti: Revamp heat table loading & parsing
* Get rid of modelname prefix on filenames
 * Move from table-based to algorithmic-based filename derivation
 * Load and parse heat tables at job load time
 * Construct final SHPTC at job load time

NOTE:  the 'p' quality/mode tables are not handled.
2023-11-29 20:57:08 -05:00
Solomon Peachy e03bb3b8ae hiti: Move heattable structure from ctx into job structure.
First step in pushing heattable loading into job parsing
2023-11-29 20:57:00 -05:00
Solomon Peachy b55d721630 hiti: Revamp the color correction table handling
* Remove static list of allowed filenames in favor of an
   algorithmic approach, assembling filename based on
   model, media type+version, print mode, color mode, etc.
 * Lose the printer name prefix on correciton table files
 * Add in the CL and I correction tables
2023-11-29 20:57:00 -05:00
Solomon Peachy 68adbc63d8 hiti: Properly assemble SHPTC from the contents of heattable_v2 files!
Currently it's treated as a soft failure.

Additionally, only send EFD_CHS if we fail to send a SHPTC over!

*** Note: Completely untested! ***
2023-11-29 20:57:00 -05:00
Solomon Peachy 55577028b3 hiti: Specify a default ribbon type for test modes 2023-11-29 20:55:46 -05:00
Solomon Peachy ff2a237d2f hiti: More updates. 2023-11-27 22:13:07 -05:00
Solomon Peachy 7d8a8d428b hiti: P520/P525 now uses the correct RI/RI1 data tables.
Also learned how to decode the rest of ERDC_RS

Coming in the near future:

 * Proper assembling of SHPTC!
 * Revamp of how we select the data files
2023-11-27 21:58:55 -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 aada0892b0 mistu9820: Initial support for the CP9820DW-AG model.
_Probably_ won't print yet.
2023-10-02 09:31:35 -04:00
Solomon Peachy 1a099eff42 hiti: properly byteswap hettable_v2 version strings 2023-06-20 20:09:38 -04:00
Solomon Peachy c3dbf63115 hiti: Fix a typo in the P525L firmware check 2023-06-17 10:06:41 -04:00
Solomon Peachy a30c8dbec1 hiti: Send the correct command ID in the cmd_8010 code path 2023-06-17 09:56:07 -04:00
Solomon Peachy c9ccf11cc1 hiti: Figured out matte mode on the P461. 2023-06-11 16:03:19 -04:00
Solomon Peachy dd64a8f78f hiti: Initial support for P320 series. Just detection and tables.
This is where things will stand until I get one in my hands.
2023-06-05 22:26:09 -04:00