Repository navigation
Support up to 5 colors on OpenSpool tags - #7
Open
RrrrobertB1992 wants to merge 3 commits into
Open
RrrrobertB1992 wants to merge 3 commits into
RrrrobertB1992 wants to merge 3 commits into
Conversation
OpenSpool Extended tags can now carry up to 4 extra colors alongside the primary one, written as `additional_color_hexes` (the array OpenRFID reads for multi-color spools). Reading a tag loads them back into colors 2-5. Each extra color now has its own checkbox and must be enabled before it can be set; only enabled colors are written. The next color's checkbox appears once the previous one is enabled, and disabling a color also disables the ones after it, so colors stay in order. The extra colors moved from the Advanced section to sit under Color 1. OpenPrintTag keeps colors 2-4 with the same per-color checkboxes. Made with help from Claude
This was referenced Oct 16, 2026
Once a second color is added, a "Multi-color Style" choice appears with Gradient and Segments (Segments by default). It's written as "color_type" next to additional_color_hexes, using OrcaSlicer's filament_colour_type values: 0 = gradient, 1 = solid/segments. Single color tags don't get the field, and tags without it read as Segments. OpenSpool Compat doesn't show or write it. Printers and OpenRFID ignore the field for now; it's there so they (and OrcaSlicer's filament color sync) can tell the two apart later. Made with help from Claude
RrrrobertB1992
added a commit
to RrrrobertB1992/PrintTag-Web-Rrrrobert
that referenced
this pull request
Oct 23, 2026
Where the form has a Gradient/Segments choice for multi-color spools (paxx12#7), saved colors keep it: the same colors as a gradient and as segments are saved as two entries, a gradient entry's color bar is drawn as a blend, and picking an entry (or deselecting it) sets the choice to match. Reading a tag selects the entry with the same colors and style. Entries saved before this count as segments. Made with help from Claude
To match the documented field (color_type: 0 = gradient, 1 = default, which is assumed when it's missing), "color_type": 0 is written for gradient multi-color spools and the field is left out otherwise. Reading is unchanged: 0 is Gradient, anything else or missing is Segments. Made with help from Claude
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
OpenSpool Extended tags can now carry up to 4 extra colors alongside the primary color, written as
additional_color_hexes. When a tag is read, its extra colors load back into colors 2-5.Related PRs
Together these let multi-color OpenSpool tags made here show all their colors on a Snapmaker U1 running the paxx12 Extended Firmware:
additional_color_hexesfrom OpenSpool tags.filament_detect.Testing
additional_color_hexesarray, tags with more than 4 extra colors being cut to 4, OpenSpool Compat leaving extras off, and OpenPrintTag colors 2-4 writing and reading back. No console errors.Made with help from Claude