tx-v2.0.13
·
10 commits
to main
since this release
tx-v2.0.13 — version stamping fixed (paired with rx-v2.8.5)
Companion release to rx-v2.8.5. Same single-VERSION-file pattern applied on the transmitter side.
What's fixed
esp_app_desc.versionnow reflects what was actually built. Like RX, the TX binary was stamping its version field from a hardcoded literal infirmware/Transmitter-IDF/CMakeLists.txt. Released TX binaries since tx-v2.0.11 all carried a stale version string in the binary (offset 0x30), even though the code itself was current. The PWA's Devices page, hub's web UI Firmware tab, MQTT-publishedtx_versionfield — all read the wrong value.- After this build the TX correctly self-reports
2.0.13.
Internal
- Single source of truth: edit
firmware/Transmitter-IDF/VERSION(one file). CMake reads it, setsPROJECT_VER, andconfigure_file()generatescomponents/tanksync_version/include/version_gen.hconsumed bymain/,components/wifi_ota/, andcomponents/lora_tx/. - Build provenance fingerprint preserved in
main/main.c(the magic constant + the unique typo log string incomponents/lora_tx/lora_tx.care unchanged). - No protocol changes — packet format identical to tx-v2.0.12.
Upgrade
- PWA: Settings → Firmware → expand each TX → "Update available · v2.0.13" → tap. Hub orchestrates the over-Wi-Fi OTA; TX wakes up and pulls the new binary.
- Browser flasher: tanksync.smartghar.org/firmware → Transmitter card → Install.
- Manual:
esptool.py --chip esp32c3 -b 460800 \ write_flash 0x10000 tanksync-transmitter-tx-v2.0.13.bin
Compatibility
- Hub firmware: any
rx-v2.7.xorrx-v2.8.xworks (no protocol bump). - PWA: any version (no UI dependency).
- HACS: any version (no entity-shape change).
Verification
After flashing, confirm the TX self-reports 2.0.13:
# Direct inspection of the .bin
xxd -s 0x30 -l 32 tanksync-transmitter-tx-v2.0.13.bin
# Should print: 2.0.13 followed by null padding
# Or check at runtime: hub web UI → Devices → TX row → version columnPaired with
- rx-v2.8.5 — see for the matching RX-side notes.