Skip to content

tx-v2.0.13

Choose a tag to compare

@github-actions github-actions released this 23 May 19:10
· 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.version now reflects what was actually built. Like RX, the TX binary was stamping its version field from a hardcoded literal in firmware/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-published tx_version field — 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, sets PROJECT_VER, and configure_file() generates components/tanksync_version/include/version_gen.h consumed by main/, components/wifi_ota/, and components/lora_tx/.
  • Build provenance fingerprint preserved in main/main.c (the magic constant + the unique typo log string in components/lora_tx/lora_tx.c are 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.x or rx-v2.8.x works (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 column

Paired with

  • rx-v2.8.5 — see for the matching RX-side notes.