• v0.3.0 dd1cc0ccdf

    FreeTRX v0.3.0 Pre-release

    DK1DA released this 2026-07-07 14:29:21 +00:00 | 38 commits to main since this release

    0.3.0

    • Fix a second voice-prompt crash on the Screen Dim menu row: the item label
      ("Screen Dim") is a raw literal, and the shared menu code voices labels via
      voicePromptsAppendLanguageString(), which crashes on any pointer outside the
      language table. That function now ignores non-language pointers, so a stray
      literal is skipped instead of hard-faulting. (The dim value is still announced.)
    Downloads
  • v0.2.0 1c59622a77

    FreeTRX v0.2.0 Pre-release

    DK1DA released this 2026-07-07 13:41:59 +00:00 | 39 commits to main since this release

    0.2.0

    • Fix crash opening Display Options with voice announcements on: the Screen
      Dim value ("100%"/"50%"/…) is a plain literal, but the shared menu code fed it to
      voicePromptsAppendLanguageString(), which derives the prompt index from the
      string's offset within the language table — a foreign pointer produced a garbage
      index and crashed. The value now goes through voicePromptsAppendString(). Also
      moved the dim-level high bit off a low legacy option bit (bit 2 → 29) and clamped
      the level so it can never index past the option arrays.
    • 7-segment frequency font: inactive segments are now off (background) instead
      of faintly lit — no dim "ghosting". "MHz" now matches the frequency colour, and
      there's 1px more space between the RX and TX frequency lines.
    • Screen dimming: added a 15% idle-dim level (Off / 100 / 50 / 30 / 15).
    • DM-1701 build support — the Docker build is now parameterized by platform;
      ./build-firmware.sh DM1701 produces OpenDM1701.bin (Baofeng DM-1701 /
      Retevis RT-84). Not officially tested yet.
    • Release script (scripts/forgejo-release.sh) now builds and attaches a
      single platform or all of them, and reuses an existing release.
    • README: added "What's different from OpenGD77" and a dedicated "Flashing"
      section.
    Downloads
  • v0.1.0 facf5f6a6d

    FreeTRX v0.1.0 Pre-release

    DK1DA released this 2026-07-06 16:34:10 +00:00 | 47 commits to main since this release

    0.1.0

    First versioned release of FreeTRX (fork of OpenGD77 R20260131).

    Features

    • Screen dimming — optional idle dimming of the backlight to a fraction of
      the configured brightness (Off / 100% / 50% / 30%), in Auto backlight mode.
      Any activity (keys, rotary, RX, TX) restores full brightness. New setting in
      Display Options.
    • Mute — one-tap audio mute:
      • SK2 short-tap toggles mute on the VFO/Channel screens (except while a DMR
        QSO is on screen, where SK2 keeps its "set TX TG to incoming" function).
      • Turning the volume knob fully down is also treated as muted.
      • While muted: a bold "M" appears in the status bar (left of the battery)
        and the red LED flashes (0.5 s every 2 s).

    Display / UI

    • S-meter redrawn as discrete blocks — 9 green blocks (S1–S9) plus 6 red
      blocks (S9+10…+60), with gaps and a proportionally-filled leading block, and a
      scale label row beneath (S1 S3 S5 S7 S9 / +20 +40 +60).
    • 7-segment "LED" frequency font for the VFO and SK1-held frequency display,
      with faintly-lit inactive segments; digits are wider than the normal font.
    • Main-menu icons — a small glyph next to each top-level menu entry.
    • Layout spacing adjusted so the contact/TG line, the DMR talkgroup/talker and
      the private-call caller ID clear the new S-meter label row.

    Fixes

    • DMR no longer hard-faults. The AMBE codec is now called through C function
      pointers instead of the old inline assembler (which modern GCC miscompiled),
      fixing the freeze-on-DMR that required a battery pull.
    • Fixed the DMR talkgroup/talker and private-call caller ID overlapping the
      S-meter labels.

    Build / Tooling

    • Dockerized build using the Arm GNU Toolchain 14 (matching the official
      builds); always a clean build. ./flash.sh helper for flashing with model,
      language and DMR donor.
    • Integrated the OpenGD77 screen grabber (gd-77_screen_grabber.py) and the
      GD-77 loader into the repo.
    • TOOLS.md documents building, flashing, screenshots and language files.

    Project

    • Renamed the project to FreeTRX (fork of OpenGD77). New README.md
      documenting the fork and its upstream source; original OpenGD77 README kept as
      README.OpenGD77.md. Added LICENSE.md reproducing the inherited OpenGD77
      license (modified BSD 3-Clause + non-commercial clause; not GPL-compatible).
    • On-screen branding renamed to FreeTRX (splash screen + Firmware Info name).
    • README notes this iteration is developed/tested only on the TYT MD-UV380 and
      Retevis RT-3S
      , with a contact for testing on other supported radios.
    • Firmware-info credits simplified to "Marcus DK1DA" and a reference to
      "The original OpenGD77 authors".

    Misc

    • Added Marcus DK1DA to the firmware-info credits ("Modified Fork by").
    Downloads