Repository navigation
TigerTag: read tag index and tag count - #34
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
TigerTag-Project
force-pushed
the
tigertag-tag-index-count
branch
from
October 13, 2026 22:12
83fc777 to
1d2e837
Compare
Read the tag index / tag count byte (offset +39, TigerTag spec v2.2): the high nibble is the index of the tag that was read, the low nibble is the number of tags on the item (0x12 = tag 1 of 2). 0 means unknown, which is what every tag written before v2.2 contains. - Add tag_index and tag_count to GenericFilament (default 0 = unknown), exposed in to_dict() and shown in pretty_text() when the count is known - Update the official TigerTag+ dumps (eSun, R3D, Rosa3D, Sunlu) to tag 1 of 2, as these spools carry twin tags. Only byte +39 changes, which is not covered by the signature - Add an eSun "Twin 2 of 2" copy to cover the second index - The Elegoo dump, written before v2.2, checks the unknown case
TigerTag-Project
force-pushed
the
tigertag-tag-index-count
branch
from
October 13, 2026 22:26
1d2e837 to
e782cb5
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 spec v2.2 adds a tag index / tag count byte (section 2.11), so a reader knows which tag it just read and how many tags the item carries. For example, a spool with one tag on each side is "tag 1 of 2" and "tag 2 of 2". This PR lets OpenRFID read it.
Format
Offset
+39(page0x0D, byte 3). The high nibble is the tag index, the low nibble is the tag count:0x00: unknown. Every tag written before v2.2 has this value, so existing tags keep working.0x11: single tag0x12/0x22: twin tag, tag 1 of 2 / tag 2 of 2The byte is not covered by the TigerTag+ signature.
Changes
GenericFilament: newtag_indexandtag_countfields. They default to0(unknown), so other processors are unaffected. Both are included into_dict(), so they reach the webhook.pretty_text()shows "Tag: 1 of 2" when the count is known.0x12). Only byte+39changes, and every signature still verifies against the TigerTag+ public key, since this byte is not signed.eSun PLA Basic Refill Cold White TigerTag+ Twin 2 of 2copy covers the second index (0x22). It gives the sameunique_idas tag 1, as expected: twin tags share the same timestamp (section 2.9), so OpenRFID sees them as the same spool.0/0).97 passed, 1 skipped.
Note: #32 also adds fields at the end of
GenericFilamentandto_dict(). Whichever is merged second will need a trivial conflict resolution there; happy to rebase.