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.
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
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.
...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.
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.
* 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
* 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.
* 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