Skip to content

The Everything Release: SSTV AFC, Special-Event FT8, Parks in Logs, Flex DSP

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Jul 21:33

Work special-event stations, POTA parks in your FT8 logs, an SSTV decoder that hears what MMSSTV can't, and Flex noise filters SmartSDR doesn't even show you.

📻 SSTV: the decoder grew up

We root-caused why some of you stopped decoding SSTV in late June (a Flex speaker-mute change silently killed the DAX audio tap in v1.8.15–1.8.17 — fixed since v1.9.0) and then went after the reasons MMSSTV still felt more reliable. It shouldn't anymore:

  • AFC — POTACAT now decodes stations MMSSTV can't. The decoder retunes itself to off-frequency signals automatically (±300 Hz). Real 14.230 operation routinely has stations 100–200 Hz apart in tuning; the old decoder went silently deaf past ~75 Hz. MMSSTV has no AFC at all — its users tune by eye against spectrum markers.
  • Joins transmissions already in progress. Missed the VIS header (QSB, tuned in late)? The decoder now identifies the mode from the sync-pulse rhythm and starts mid-picture, like MMSSTV's no-VIS start.
  • Weak signals show you something. Borderline decodes used to be silently discarded; now they display with an orange ⚠ WEAK badge (and stay out of your auto-saved gallery). Noise is still rejected — the badge is for real, marginal pictures.
  • ↻ Redecode: the last transmission stays in an audio buffer — adjust the slant slider and redecode it for real (MMSSTV's "replay from RX buffer"), not just a cosmetic shear.
  • ✕ NO RX AUDIO badge: when no audio is reaching the decoder (dead DAX route, wrong input, muted slice), you'll know in seconds instead of wondering why nothing decodes — and if the direct radio stream dies, the soundcard input now takes over automatically within seconds.

🎆 Special-event and compound callsigns work on FT8

Anything with a slash (PJ4/K1ABC) or an unusual shape (GB13COL, TM13COL) travels as a hashed <call> in FT8's 77 bits — and every reply JTCAT sent one silently never transmitted. Fixed end to end: reports hash their call, the final RR73/73 carries it in full, bare no-grid replies from nonstandard stations are understood, and <...> resolves automatically once their full call is heard. (13 Colonies' K2A–K2M were always ordinary calls — it's the GB13COL/TM13COL bonus stations this unlocks.)

🏞️ POTA parks finally land in your FT8 logs

Thanks KB2UXB: working a spotted POTA/SOTA/WWFF activator over JTCAT — desktop or phone — now logs their park reference automatically, exactly like SSB spot-click logging always has. N-fer activators get one entry per park, and if you're activating at the time, it logs as park-to-park.

🎪 Events, connected end to end

  • Working a tracked event station (13 Colonies, America250) stamps the event into the QSO record — comment tag plus ADIF fields — so your log proves your certificate claim.
  • "Stamp N past QSOs": one click backfills the event into matching contacts you made before this release, then a clean per-event ADIF export for your submission. When an event finishes, its board shows the summary ("worked 12 of 13 — 9 FT8").
  • New Event filter in JTCAT shows only stations you still need, and auto-answer now prefers an event station you need over a stronger generic caller.
  • Event banners retire themselves when an event ends — no more restart required (and countdowns flip to LIVE on time). The event catalog now also updates live from potacat.com, so new events appear without an app update.
  • The Contests view and the events system finally know about each other: the 13 Colonies row carries a live "◉ Tracked — 8/13 worked" chip that opens your board.

🎛️ Flex: firmware noise filters SmartSDR-style clients don't expose

For 8000-series/Aurora firmware: NRL (LMS adaptive), NRS (spectral subtraction), RNN (neural-net, voice-trained), and NRF noise reduction — plus WNB wideband noise blanking on all Flex models and RF gain in radio-native dB steps. POTACAT drives these over its own API connection, so they work with SmartSDR open, AetherSDR open, or no GUI client at all. NRL validated on the 8600M.

📱 ECHOCAT FT8 replies fixed

Tapping a station that answered your CQ transmitted your grid instead of their signal report — the phone knew the right message; the desktop dropped it in transit (since April, masked because QSOs still completed with an extra cycle). Every directed-decode tap now opens with the correct message, and the desktop re-checks each tap against the raw decode so a stale phone app can never cause it again.

⚡ JTCAT quality-of-life

  • Skip Grid: answer CQs with your signal report instead of your grid (WSJT-X's "skip Tx1") — one full cycle shorter each way.
  • Hound mode: work FT8 DXpeditions properly — calls above 1000 Hz, auto-QSY to the fox for the report, fox dual-messages understood, logs on RR73 with no wasted 73. (Classic Fox/Hound; SuperFox not yet.)
  • Type your own TX message: click the TX readout and type — validated by the real encoder, so if it's accepted, it transmits.
  • Already-worked warning: double-clicking a station you've worked pops a band/mode-aware notice — and calls anyway.

🛠️ Also in this release

  • Phone-logged QSOs no longer duplicate across devices (cloud sync merge fix).
  • Multi-op profiles with slash callsigns (LZ3AW/P) no longer nest their settings folder; existing ones repair on startup.
  • ARRL Field Day FT8 mode (class + section exchange, bit-exact to WSJT-X) rides along from the June work — ready for winter FD.
  • The events section warns when the catalog hasn't refreshed in over a day, and catalog polls are now nearly free for the server (conditional fetches).

Windows, macOS (Intel + Apple Silicon), and Linux (x64 + arm64) installers are attached below; the app auto-updates from here.