material-tags v0.1.4 and rfid-anycubic v0.2.0 - #7
Open
Mauker1 wants to merge 6 commits into
Open
Conversation
|
b3-packages preview (build only, not published). Download the packed |
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.
What this changes
rfid-anycubic's decoder went from decoding only the fields the public reverse engineeringagreed on (brand, material, nozzle/bed max temp) to decoding nearly everything a real
Anycubic ACE tag carries: SKU, color, diameter, length, weight, bed minimum temperature, and
print speed (when the tag carries it). Along the way, two things turned out to be wrong in
the original assumptions and are corrected here:
smaller page count, so the magic-scan and block-length logic needed a version-tolerant scan
(
7B 00 <version> 00, accepting0x64and0x65) instead of a single fixed magic value.sample tested (black) couldn't distinguish the two orders, since its red and blue channels
are identical; a second, non-symmetric sample (peach pink) broke the tie, and this was
independently reinforced by that same tag's own SKU, which names the same color.
Every newly decoded field is confirmed against three independently sourced real tag dumps
spanning three product lines (PLA+, PLA Spezial, ASA), not synthetic data alone. Test
coverage now includes both field-by-field synthetic tests and three regression tests that
replay those exact real dumps byte for byte, so a future change that silently alters a
confirmed decode fails loudly.
Ships as
rfid-anycubic0.2.0, promoted from the experiment channel to the release candidatechannel, and bumps the
all-the-tagscollection to 0.1.4 to pick it up.User story
As a printer owner with an Anycubic ACE-tagged spool, I want the plugin to report the
spool's real color, weight, diameter, length, and SKU, not just its brand, material, and
temperatures, so the printer and Spoolman show accurate spool information instead of a
partial record.
Checklist
rfid-anycubic's own decoderfiles (
anycubic_fields.py,rfid_tag_anycubic.py,test_anycubic_fields.py), its owndocs (
doc/README.md,doc/CHANGELOG.md, rootREADME.md,ATTRIBUTIONS.md) andmanifest.json(description, tagline, and embedded attributions brought in line withcurrent decoder scope), plus the
all-the-tagscollection'smanifest.json(versionand member-version bump),
doc/README.md(member-list bullet), anddoc/CHANGELOG.md(new entry), since the collection surfaces this plugin's status directly.
real-dump regression tests pin the exact confirmed output for each of the three
independently sourced tags.
Notes for the reviewer
Two things still genuinely open, not blockers, flagged for anyone reading the diff who
wonders why they aren't decoded:
well short of either boundary; only a PLA+ Refill-line tag (
AHPLP<color>-A108, exactly 12characters, no slack) would settle it.
three happen to be a standard 1kg/1.75mm/330m spool, so the scale factors are unproven on
anything else. A differently sized spool is the one sample that would confirm they
generalize.
A fixed marker byte immediately after the decoded fields sits at a different page depending
on product line (page 41 for the PLA+ sample tested directly, page 40 for the other two).
Still undecoded, doesn't affect anything shipped here, noted in the source comments for
whoever picks it up next.