Repository navigation
TigerTag: read colors 2 and 3 for multi-color filaments - #36
Open
TigerTag-Project wants to merge 1 commit into
Open
TigerTag-Project wants to merge 1 commit into
TigerTag-Project wants to merge 1 commit into
Conversation
When Aspect 1 or Aspect 2 is Bicolor, Tricolor or Rainbow, also read Color 2 (+36) and Color 3 (+40), as described in section 2.5 of the TigerTag spec. A multi-color aspect can be on either aspect, so both are checked and the highest color count wins. The aspects are matched by id (252, 24, 145), not by label, so renaming a label in id_aspect.json cannot break it. Colors 2 and 3 are stored as RGB and reuse the alpha of color 1. All colors are included in the unique id, so two multi-color spools that only differ by a secondary color get different ids. Single-color ids are unchanged. Tests: copies of the eSun TigerTag+ dump with Bicolor and Tricolor on Aspect 2, Bicolor and Rainbow on Aspect 1, and Bicolor + Tricolor on both aspects. The bytes changed are outside the signed region.
TigerTag-Project
force-pushed
the
tigertag-multicolor
branch
from
October 14, 2026 09:23
d75a234 to
27e4cd9
Compare
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.
TigerTag stores up to three colors: Color 1 (RGBA,
+16), Color 2 (RGB,+36) and Color 3 (RGB,+40). OpenRFID only read Color 1, so bicolor, tricolor and rainbow filaments were reported as a single color. Several other processors (Bambu, Snapmaker, OpenTag3D, SpoolEase) already fillcolorswith multiple entries; this brings TigerTag in line.How the number of colors is chosen
This follows section 2.5 of the TigerTag spec: the multi-color aspect decides how many colors are on the chip. Writers put it on Aspect 1 or Aspect 2 indifferently, so both are checked and the highest color count wins, whatever the order.
The aspects are matched by id (
MULTICOLOR_ASPECT_COLOR_COUNTinconstants.py), not by label, so a label renamed inid_aspect.jsoncannot break it. Colors 2 and 3 are RGB on the chip, so they reuse the alpha of Color 1.Unique id
All colors are now part of the unique id, so two multi-color spools that only differ by a secondary color are told apart. For single-color spools the id is unchanged.
Tests
Five copies of the eSun TigerTag+ dump: Bicolor and Tricolor on Aspect 2, Bicolor and Rainbow on Aspect 1, and Bicolor + Tricolor on both aspects (3 colors). Only the aspect and color bytes change; they are outside the signed region, so the TigerTag+ signature still verifies.
105 passed, 1 skipped.