Skip to content

Commit f64181e

Browse files
Anzarionclaude
andcommitted
fix: ACE Pro binary write now saves unique NFC tag ID to Spoolman
The ACE Pro binary write path read the physical NFC UID but never recorded it in Spoolman's nfc_id field. This adds UID-to-hex-string conversion and calls updateSpoolTagId() after successful write, matching the JSON write path behavior. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent c285a2f commit f64181e

File tree

4 files changed

+32
-14
lines changed

4 files changed

+32
-14
lines changed

.github/workflows/github-release.yml

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -85,24 +85,21 @@ jobs:
8585
- name: Generate Release Notes
8686
id: release_notes
8787
run: |
88+
VERSION=$(grep '^version = ' platformio.ini | cut -d'"' -f2)
8889
echo "CHANGES<<EOF" >> $GITHUB_OUTPUT
89-
echo "## FilaMan v2.1.0 - Enhanced Fork" >> $GITHUB_OUTPUT
90-
echo "" >> $GITHUB_OUTPUT
91-
echo "This is an enhanced fork of ManuelW77/Filaman with the following key features:" >> $GITHUB_OUTPUT
90+
echo "## FilaMan v${VERSION} - Bugfix Release" >> $GITHUB_OUTPUT
9291
echo "" >> $GITHUB_OUTPUT
93-
echo "### Key Features" >> $GITHUB_OUTPUT
94-
echo "- ✅ **Multi-color filament support** with visual color display" >> $GITHUB_OUTPUT
95-
echo "- ✅ **ACE Pro NFC tag integration** with hybrid format support" >> $GITHUB_OUTPUT
96-
echo "- ✅ **Spoolman API integration** for filament management" >> $GITHUB_OUTPUT
97-
echo "- ✅ **Enhanced NFC tag display** with comprehensive data fields" >> $GITHUB_OUTPUT
98-
echo "- ✅ **Bambu Lab printer integration** with MQTT support" >> $GITHUB_OUTPUT
99-
echo "- ✅ **Weight scale calibration** with auto-tare functionality" >> $GITHUB_OUTPUT
92+
echo "### Fixed" >> $GITHUB_OUTPUT
93+
echo "- Fix ACE Pro binary write not saving unique NFC tag ID to Spoolman" >> $GITHUB_OUTPUT
94+
echo " - Physical NFC UID is now converted to hex string after tag detection" >> $GITHUB_OUTPUT
95+
echo " - \`updateSpoolTagId()\` is called after successful write to store \`nfc_id\` in Spoolman" >> $GITHUB_OUTPUT
96+
echo " - Matches behavior of JSON write path for consistent tag tracking" >> $GITHUB_OUTPUT
10097
echo "" >> $GITHUB_OUTPUT
10198
echo "### Installation" >> $GITHUB_OUTPUT
10299
echo "Download the appropriate binary for your needs:" >> $GITHUB_OUTPUT
103-
echo "- **filaman_full_2.1.0.bin** - Complete firmware (recommended for first-time installation)" >> $GITHUB_OUTPUT
104-
echo "- **upgrade_filaman_firmware_v2.1.0.bin** - Firmware only (for OTA updates)" >> $GITHUB_OUTPUT
105-
echo "- **upgrade_filaman_website_v2.1.0.bin** - Web interface only (for UI updates)" >> $GITHUB_OUTPUT
100+
echo "- **filaman_full_${VERSION}.bin** - Complete firmware (recommended for first-time installation)" >> $GITHUB_OUTPUT
101+
echo "- **upgrade_filaman_firmware_v${VERSION}.bin** - Firmware only (for OTA updates)" >> $GITHUB_OUTPUT
102+
echo "- **upgrade_filaman_website_v${VERSION}.bin** - Web interface only (for UI updates)" >> $GITHUB_OUTPUT
106103
echo "" >> $GITHUB_OUTPUT
107104
echo "### Documentation" >> $GITHUB_OUTPUT
108105
echo "For detailed setup instructions and feature documentation, please visit the [GitHub repository](https://github.com/Anzarion/Filaman)." >> $GITHUB_OUTPUT

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22

3+
## [2.1.1] - 2026-02-10
4+
### Fixed
5+
- Fix ACE Pro binary write not saving unique NFC tag ID to Spoolman
6+
- Physical NFC UID is now converted to hex string after tag detection
7+
- `updateSpoolTagId()` is called after successful write to store `nfc_id` in Spoolman
8+
- Matches behavior of JSON write path for consistent tag tracking
9+
310
## [2.1.0] - 2026-01-01
411
### Added
512
- Pause Bambu MQTT task during ACE Pro binary NFC write

platformio.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
; https://docs.platformio.org/page/projectconf.html
1010

1111
[common]
12-
version = "2.1.0"
12+
version = "2.1.1"
1313
to_old_version = "1.5.10"
1414

1515
##

src/nfc_acepro.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -653,6 +653,16 @@ void writeNfcTagBinaryTask(void* param) {
653653
return;
654654
}
655655

656+
// Convert UID to hex string for Spoolman tracking
657+
String uidString = "";
658+
for (uint8_t i = 0; i < uidLength; i++) {
659+
uidString += String(uid[i], HEX);
660+
if (i < uidLength - 1) {
661+
uidString += ":";
662+
}
663+
}
664+
Serial.printf("[ACEPro] Tag UID: %s\n", uidString.c_str());
665+
656666
Serial.println("[ACEPro] Tag detected, starting write sequence...");
657667

658668
// **CRITICAL**: Detect tag type BEFORE clearing to avoid false detection
@@ -903,6 +913,10 @@ void writeNfcTagBinaryTask(void* param) {
903913
Serial.println("[ACEPro] ✓ NDEF format (Pages 40+): READY");
904914
Serial.println("[ACEPro] ✓ Tag is now DUAL-FORMAT COMPATIBLE!");
905915
nfcReaderState = NFC_WRITE_SUCCESS;
916+
917+
// Update Spoolman with physical NFC tag ID
918+
String smIdPayload = "{\"sm_id\":\"" + String(spoolId) + "\"}";
919+
updateSpoolTagId(uidString, smIdPayload.c_str());
906920
} else {
907921
Serial.println("[ACEPro] ✗ Tag write FAILED");
908922
nfcReaderState = NFC_WRITE_ERROR;

0 commit comments

Comments
 (0)