GopherTrunk v0.3.2 — social announcement drafts
One-click copy-paste blurbs for posting the v0.3.2 release. Each block below is a fenced code block so the rendered-markdown “copy” button grabs exactly what you’d paste.
Release: https://github.com/MattCheramie/GopherTrunk/releases/tag/v0.3.2
Reddit — title
GopherTrunk v0.3.2 — DMR multi-slot + Tier III band-plan voice + Tier I direct mode, and a new offline signal toolkit (siglab)
Reddit — body
**[GopherTrunk](https://gophertrunk.org) v0.3.2 is out** — pure-Go digital-trunking scanner for RTL-SDR / HackRF / Airspy. P25 (Phase 1+2), DMR (AMBE+2 voice), NXDN, Motorola Type II, EDACS, LTR, MPT 1327, dPMR, D-STAR, YSF, M17, plus APRS, POCSAG + FLEX paging, and AIS / DSC / ADS-B. No CGO, single static binary for Linux / macOS / Windows.
**What's new since v0.3.1:**
* **DMR Tier III is now properly multi-slot** (#510–#517) — a Tier III voice grant references its traffic channel by a 7-bit Logical Channel Number, so a configurable `dmr_band_plan` (linear grid or explicit table) now resolves LCN→frequency and follows the call (#510). The two TDMA timeslots of a carrier are followed as **concurrent, separately-recorded calls** (`…_ts1.wav` / `…_ts2.wav`), with a stride-aware 2-slot voice decoder (#514), embedded Link Control timeslot→talkgroup labelling (#515), opt-in composer wiring behind `dmr_interleaved_voice` (#516), and per-slot metrics + TUI/web active-call views (#517).
* **DMR Tier I (license-free direct mode / PMR446)** (#523) — decodes the simplex direct-mode tier, restricted to the ETSI direct-mode sync words so it won't false-lock on base-station traffic.
* **`siglab` — a new offline signal replay / test / analysis toolkit** (#519–#523) — drives all 14 protocols through the same production decode pipelines the daemon uses. New subcommands: `gen` (synthesise a capture + metadata sidecar with SNR / offset / DC / I-Q impairments), `test` (decode + grade against acceptance criteria, exit 0/1 for CI), `analyze` (structured signal-quality export — json/yaml/csv/jsonl), `replay` (now all protocols, not just P25/DMR), and `identify` (auto-detect the protocol in a capture). Plus a standalone daemon-free TUI, synthesis fixtures for every protocol, and per-protocol FEC-outcome tallies.
* **Offline DMR in `replay`** (#518) — `replay -protocol dmr-tier3` (or `dmr-tier2`) runs a raw IQ file through the production DMR control-channel chain; a new `-conjugate` flag decodes a spectrum-inverted / I-Q-swapped front-end (the RTL-SDR Blog V4 / R828D case) at the source.
* **P25 CQPSK equaliser fix** (#524, issue #492) — pinned the constant-modulus equaliser's centre-tap phase so the taps stop random-walking into a false carrier offset that the Costas loop then integrates.
**Downloads** (Linux / macOS / Windows, x64 + ARM64): https://github.com/MattCheramie/GopherTrunk/releases/tag/v0.3.2
**Docs:** https://gophertrunk.org
Heads-up: the v0.x line is still flagged prerelease — actively developed, feedback / captures / bug reports very welcome.
Discord
**GopherTrunk v0.3.2 is out** — pure-Go trunking scanner for RTL-SDR / HackRF / Airspy. P25, DMR, NXDN, M17, analog trunked, APRS, POCSAG + FLEX paging, AIS / DSC / ADS-B. Single static binary, zero CGO.
**What's new since v0.3.1:**
- **DMR Tier III goes multi-slot** (#510–#517) — `dmr_band_plan` resolves LCN→frequency so T3 voice grants follow (#510), and both TDMA timeslots are followed as concurrent, separately-recorded calls (TS1/TS2) with per-slot decode, labelling, metrics, and TUI/web views.
- **DMR Tier I direct mode (PMR446)** (#523) — license-free simplex tier, restricted to direct-mode syncs.
- **siglab — offline signal toolkit** (#519–#523) — `gen` / `test` / `analyze` / `replay` / `identify` subcommands + a standalone TUI, driving all 14 protocols through the production pipelines, with synthesis fixtures and per-protocol FEC tallies.
- **Offline DMR replay** (#518) — `replay -protocol dmr-tier3` with `-conjugate` for spectrum-inverted front-ends.
- **P25 CQPSK fix** (#524, issue #492) — pinned the CMA equaliser centre-tap phase to kill a false carrier-offset drift.
Download: <https://github.com/MattCheramie/GopherTrunk/releases/tag/v0.3.2>
Docs: <https://gophertrunk.org>