Releases: sv1eia/Thetis-RADE
Release list
Thetis-RADE v2.10.3.21
Thetis-RADE v2.10.3.21
This release adds experimental RADE V2 digital-voice support to Thetis-RADE,
selectable per receiver alongside the existing V1.
I could'nt resist so I added the not-yet merged V2 algo that exists in dr-radev2
branch of David's https://github.com/drowe67/radae repository so to get a glipse.
For this a new radae_c library created that contains both V1 and V2 in pure C.
Also Hermes-Lite 2 hardware support for all option boards, the N2ADR Filter Board,
the HL2 I/O Board and AK4951 Companion Board (HL2+), is now fixed and confirmed
working thanks to Luca EA8DJR and Mike WA3O for testing and pointing out issues
and fixes.
Additional did some FreeDV Reporter local time and other minor fixes.
What's changed since v2.10.3.20
- RADE V2 protocol, selectable per receiver. New "RADE Version" V1/V2
dropdowns in Setup -> DSP -> RADE (one per RX), mirrored on the console
digital panels. RX1 and RX2 can run V1 or V2 independently, and the change is
applied live. - Transmit follows the transmitting receiver. Keying on a receiver set to
V2 transmits V2; on a V1 receiver, V1; on a non-RADE receiver, normal voice --
matching whichever VFO/RX the transmit is on. - FreeDV Reporter now reports the per-receiver protocol (RADEV1 / RADEV2) to
qso.freedv.org, updated immediately when you change the version. - Hermes-Lite 2 support added, with FreeDV Reporter time/zone fixes.
- Loopback test is now RX1-only (no cross-protocol loopback), with a
Loopback/MOX interlock. - Per-protocol transmit level so V1 and V2 sit at the same average on-air power.
- RADE RX-level clip indicator threshold adjusted.
- Setup RADE tab tidy-ups (shorter enable labels, the RX2 loopback control
removed) and console RADE control layout refinements.
Library / structural notes
- The RADE modem builds from the in-repo pure-C
radae_c
(Project Files/lib/radae_c/), now refreshed to carry both the V1 and V2
protocols (the older vendoredradae_nopywas removed in the prior release).
The new radae_c library is brand new pure-C implementation of the David's radae
algorithms in python repo.
Documentation
Added Documentation/Radio/RADE_Additions_Description_v1.4.pdf user guide.
New guide is detailing the initial setup required and all the RADE setup
controls. Also gives details for the new/reworked Meters/Gadgets
measurements.
Installation
Download Thetis-RADE-v2.10.3.21-x64.msi and double-click to install. Requires
Windows 10 / 11 x64 and the .NET Framework 4.8 runtime (included on all current
Windows installs by default).
If upgrading from a previous Thetis-RADE: uninstall the old version via
Add or Remove Programs before running the new MSI.
Known issues
- RADE V2 carries voice only: there is no callsign / EOO text channel on V2, so
the "Last Callsign" display and the reporter's RX-call column stay empty while
receiving V2. The EOO is still pending in the original RADE V2 in radae python
repo, when original algorith authors provide a method for EOO in V2 it will
also be implemented in radae_c.
Credits
See NOTICE.md in the source tree.
73,
Christos SV1EIA
Thetis-RADE v2.10.3.20
Thetis-RADE v2.10.3.20
A major RADE (Radio AutoEncoder) release for Thetis. The biggest change is
under the hood: the RADE V1 modem now runs on a new in-repo, pure-C
radae_c library that is fully re-entrant, so RX1 and RX2 can decode at
the same time without interfering. On top of that the release adds dual-RX
RADE operation with independent per-RX controls, meters and FreeDV
Reporter connections, a reworked TX path, panadapter overlays, and a long
list of fixes. This build is for HF digital-voice operators running RADE
on HPSDR / Hermes / Hermes Lite 2 hardware.
What's changed since v2.10.3.19
RADE modem core
- New pure-C
radae_clibrary replaces the previous vendoredradae_nopy.
It is re-entrant and runs without Python at runtime, enabling true
concurrent RX1/RX2 decoding with per-RX end-of-over (EOO) buffers and a
lock-free decode path.
Dual-RX RADE
- Full dual-receiver RADE decode: RX1 and RX2 each have their own enable
controls, meters, and a separateqso.freedv.orgReporter connection. - RX1/RX2 Control master switches with proper dependency handling.
- On VFO B with RX2 enabled, the encoder is bypassed and plain-voice TX is
used; the RADE TX profile is loaded appropriately for the active VFO.
Transmit path
- TX and RX pipelines are now gated by MOX state, with an EOO drain window
and a loopback exception. - EOO-safe PTT via MOX: deferred un-key, callsign sent in the EOO frame,
TUN / 2-TONE excluded, and a flush margin so the over isn't clipped. - TX resampling moved from the r8brain CDSPResampler pair to WDSP's
xresampleFV, and the encoder output now drains through an outrate FIFO
into the mic path.
Meters and panadapter
- RADE meters: SNR ruler (−10…+40 dB, red/green), ADC-style RX/TX level
scales, and a last-decoded-callsign display. - Panadapter overlay showing per-RX SNR / Sync / Level / Clip / Callsign
(and Level / Clip on TX), with green/red cell backgrounds and EMA
smoothing to remove flicker. Per-RX Measure checkboxes in Setup. - Meter containers honour a "Hide if RADE not enabled" gate.
FreeDV Reporter
- Request-QSY button (FreeDV-GUI-compatible) with an inbound-QSY popup and
a Setup "Ignore QSY request" option; QSY send/receive is logged. - Tracks RX1/RX2 split, seeds VFO-B state, and debounces TX reports;
tx_reportis suppressed during VFO-B-bypass (plain-voice) overs.
Diagnostics and DSP interaction
- Optional WDSP diagnostics logging (Setup → General → Log) with log
rotation and opt-in, off by default. - Enabling RADE now forces NR / NB2 / ANF off on that receiver so they
can't degrade the decoder; SNB and other controls remain under user
control. - DIGL/DIGU handling across the 10 MHz boundary, and a reworked Setup RADE
layout.
Documentation
- ReadMe notes the RADE TX mic-conditioning DSP and Hermes Lite 2 support.
- Added
Documentation/Radio/RADE_Additions_Description_v1.2.pdfuser guide.
New guide is detailing the initial setup required andall the RADE setup
controls. Also gives details for the new/reworked Meters/Gadgets
measurements.
Installation
Download Thetis-RADE-v2.10.3.20-x64.msi and double-click to install.
Requires Windows 10 / 11 x64 and the .NET Framework 4.8 runtime (included
on all current Windows installs by default).
Known issues
- RADE callsign (EOO) decode is reliable only above roughly 5 dB SNR.
Source code and checksums
GitHub's auto-attached Source code (zip) / Source code (tar.gz)
reproduce the exact tagged tree built into the MSI. The MSI checksum is in
Thetis-RADE-v2.10.3.20-SHA256SUMS.txt.
Credits
See NOTICE.md in the source tree.
73,
Christos SV1EIA
Thetis-RADE v2.10.3.19
Thetis-RADE v2.10.3.19
Focus of this release: Hermes Lite 2 (HL2) hardware support,
Proper/Full use of VAC1 or TCI fix untangled from RADE,
and a new Reporter logging subsystem inside the existing
NetErrorLog framework.
What's changed since v2.10.3.18
Hermes Lite 2 hardware support
- P1 (Protocol 1) read/write dispatchers, native I2C exports.
- Discovery / radio model: board-id 6, new
HERMES LITEradio
entry. - New HL2 Options Setup tab with 39 hardware controls.
- IO Board worker: LM75 temperature, INA260 PA-amps telemetry,
16-step TX power, attenuator inversion, HL2 CWX / PTT,
CAT / MIDI handlers. - Conditional Setup label / tooltip overrides where the upstream
Thetis text didn't match HL2 semantics. - HERMESLITE branches added to console.cs paths that previously
left the radio silent:UpdateDDCs(nddc=4), P1 4/5-DDC
audio-mix init, bothSetupForHPSDRModelswitches,
UpdateRX1/RX2DDSFreq, and the two TX-power compute paths.
nativeInitMetisP/Invoke grown to the 7-arg signature. removeHL2Options()restores Designer defaults for every
HL2-touched control mainline doesn't reset per-arm (Apollo /
HL2 I/O Board visibility, attenuator / TX tune ranges).
VAC1 / RADE separation
chkRADAEno longer mutates VAC1 enable state or VAC1 gain
values — RADE and VAC1 ownership are now fully independent.udAudioVACGainRXno longer pushes into the RADE RX scale.CMSetTXAPanelGain1short-circuits the RADE-TX path so the TX
panel gain doesn't double-apply through RADE encoder output.- Defensive
SetRadaeRxScale(1.0)on the RADE-enable edge so a
stale VAC1-era scale value can't leak in. - RX1 AF in RADE RX mode is now applied post-decode via a
newg_radae_rx1_af_gainmultiplier inradae.c, so the AF
slider scales decoded speech without changing the modem input
level. The "RADE Rx level (dB)" spinner continues to drive the
decoder input trim.
FreeDV Reporter
- RADE loopback now auto-suppresses reporting:
chkRADAELoopbackauto-uncheckschkRADAEReportingso
qso.freedv.orgnever sees loopback test traffic. - New Reporter logging subsystem inside NetErrorLog:
Common.LogReporterhelper, gated by the masterLogEnabled
AND a newReporterLogEnabledsub-flag.- Setup → General → Log gets a new "Reporter log enabled"
checkbox that togglesReporterLogEnabled. - Five instrumentation points in
FreeDVReporterClient:
login attempt, login success, server reject, communication
lost, Reporter exit.
- The mini log viewer (Setup → General → Log) now has a
horizontal scrollbar for long lines.
Credits
- NOTICE.md now credits Reid Campbell (MI0BOT) for HL2
contributions upstream.
Installation
Download Thetis-RADE-v2.10.3.19-x64.msi and double-click to install.
Requires Windows 10 / 11 x64 and the .NET Framework 4.8 runtime
(present on all current Windows installs by default).
If upgrading from a previous Thetis-RADE: the installer performs a
major-upgrade (afterInstallValidate), so any previously installed
Thetis is removed automatically before the new version installs.
Read the released Thetis_RADE_Instructions.pdf — includes initial
setup and usage for all new additions including the HL2 Options tab.
Source code and checksum
The MSI's checksum is in Thetis-RADE-v2.10.3.19-SHA256SUMS.txt.
GitHub auto-attaches Source code (zip) and Source code (tar.gz)
to the release page from the tagged commit.
Credits
See NOTICE.md in the source tree.
73,
Christos SV1EIA
Thetis-RADE v2.10.3.18
Thetis-RADE v2.10.3.18
Focus of this release: Major microphone-TX path fixes
with glitch-free Tx audio.
A new dedicated Log tab under Setup → General with
file-backed event logging and a live mini viewer.
What's changed since v2.10.3.17
Microphone TX path
- Microphone TX path fixes on the RADE encoder input chain.
radae_micdspAGC stage hard-reset replaced with an exact
freedv-guiAgcStep::reset()equivalent: zero the smoothed-gain
accumulators and the bridging FIFOs at the MOX RX→TX edge, but
leave thelibebur128loudness window andWebRTC AGClimiter
envelope allocated so their histories persist across overs (same
semantics as upstream).- AGC LUFS target default reverted to −23 LUFS to match the
freedv-gui constant exactly.
Real-time scheduling
syncb_main(WDSP cross-channel buffer pump in
wdsp/syncbuffs.c) now registers with the Windows Multimedia
Class Scheduler Service under the "Pro Audio" task class at
priority CRITICAL, matching the rest of the long-running audio
threads (wdspmain,mix_main,cm_main,ob_main,
MetisReadThreadMain,sendProtocol1Samples,ReadThreadMain).
Closes a single mixed-priority discontinuity between upstream
buffer plumbing and downstream DSP.
NetErrorLog: dedicated Log tab + new status events
- New Setup → General → Log tab consolidates the network-event
log controls in one place:- Log enable / disable checkbox gates every write to
%APPDATA%\OpenHPSDR\Thetis\NetErrorLog.txt. - Clear log button truncates the file.
- Max lines numeric (default 10 000, 0 = no cap). When the
file already holds this many lines, further writes are dropped
and a yellow "Log overflow" appears on the panadapter info
bar (same path as "Lost Radio Sync" / "Sequence error"). - Live mini viewer — read-only, monospace TextBox showing the
most-recent lines (auto-sized to fit the visible area, currently
~22 lines). Mouse-wheel and side scrollbar both work; the user
can drag-select / Ctrl+A / Ctrl+C / right-click → Copy to
copy any portion including lines scrolled out of view. Scroll
position and selection are preserved across refreshes so reading
older entries isn't interrupted by new arrivals.
- Log enable / disable checkbox gates every write to
- Four status events are now written to the log:
- Thetis Boot — earliest moment the log path is initialised
(application startup). - Thetis PowerOn — after
Audio.Start()returns success
(renamed from "Thetis started"). - Thetis PowerOff — first line of the power-off branch in
chkPower_CheckedChanged. - Thetis shutdown — first-time entry of
Console_Closing.
- Thetis Boot — earliest moment the log path is initialised
Installation
Download Thetis-RADE-v2.10.3.18-x64.msi and double-click to install.
Requires Windows 10 / 11 x64 and the .NET Framework 4.8 runtime
(present on all current Windows installs by default).
If upgrading from a previous Thetis-RADE: the installer performs a
major-upgrade (afterInstallValidate), so any previously installed
Thetis is removed automatically before the new version installs.
Read the new released Thetis_RADE_Instructions.pdf , it includes
instructions for initial setup and all new additions usage
Credits
See NOTICE.md in the source tree.
73,
Christos SV1EIA
Thetis-RADE v2.10.3.17
Thetis-RADE v2.10.3.17
New release of the Thetis-RADE community fork. Focus of this
release: microphone-conditioning DSP chain on the
RADE transmit path, a dedicated Setup → DSP → RADE tab that
consolidates all RADE controls, and several
improvements in the FreeDV Reporter window and network-error logging.
What's changed since v2.10.3.16
- New TX mic-conditioning DSP on the RADE transmit path:
- RNNoise denoiser.
- AGC .
- 3-band biquad equaliser .
- New Setup → DSP → RADE tab consolidates all RADE controls
in one place :
master enable, loopback test, Mic level and Rx level dials,
RNNoise toggle, AGC enable + LUFS target spinner, EQ enable +
Bass / Mid / Treble / Vol, FreeDV Reporter toggle and identity
fields (Call / Grid / Msg), reporting on/off toggle. - VAC1 dual-role bug fixed: while RADE is enabled the VAC1
RXGain / TXGain sliders (Setup-side and console-face mirrors) are
forced to 0 dB and greyed out, so the new RADE Mic level and Rx
level dials carry the entire gain path with no double application. - RADE Mic level (−40 … +40 dB) is applied upstream of the
mic-conditioning chain; Vol is applied downstream and does
not affect AGC measurement. See the user manual for the
recommended interaction. - FreeDV Reporter window:
- Track radio mode now has two sub-toggles: Frequency
(within ±100 Hz of VFO-A) and Band. - Frequency column changed from kHz to MHz with 4-decimal
formatting (zero-padded). - Right-click → Copy Message on any Msg cell copies the
text to the clipboard.
- Track radio mode now has two sub-toggles: Frequency
- 60 m band auto-mode rule: VFO-A in 5.0 – 5.5 MHz now snaps to
DIGU (regulatory upper-sideband convention). - NetErrorLog: a new
%APPDATA%\OpenHPSDR\Thetis\NetErrorLog.txt
receives timestamped entries for Lost Radio Sync (edge-triggered),
Sequence error, and PING Time Out events.
Vendored libraries (new in this release)
xiph/rnnoise— neural-net denoiser.libebur128 v1.2.6fromgithub.com/jiixyj/libebur128.WebRTC_AGC— post-AGC limiter.
Installation
Download Thetis-RADE-v2.10.3.17-x64.msi and double-click to install.
Requires Windows 10 / 11 x64 and the .NET Framework 4.8 runtime
(present on all current Windows installs by default).
If upgrading from a previous Thetis-RADE: the installer performs a
major-upgrade (afterInstallValidate), so any previously installed
Thetis is removed automatically before the new version installs.
Read the new released Thetis_RADE_Instructions.pdf , it includes
instructions for initial setup and all new additions usage
Source code and checksums
Source archives Thetis-RADE-v2.10.3.17-src.tar.gz and .zip
attached to this release reproduce the exact tree built into the MSI.
Checksums are in Thetis-RADE-v2.10.3.17-SHA256SUMS.txt.
Credits
See NOTICE.md in the source tree.
73,
Christos SV1EIA
Thetis-RADE v2.10.3.16
Thetis-RADE v2.10.3.16
First public release of Thetis-RADE — a fork of ramdor/Thetis that adds RADE V1 (Radio AutoEncoder) digital-voice support and a native FreeDV Reporter client to the existing Thetis SDR application for the OpenHPSDR / ANAN family of radios.
Forked from upstream Thetis v2.10.3.15-g2e (3759d096). All RADE V1 work is layered on top; nothing in upstream Thetis is removed.
What's new
- RADE V1 digital-voice integration — full TX/RX pipeline using:
- The RADE modem (radae_nopy),
- LPCNet feature extractor + FARGAN vocoder (Opus DNN),
- r8brain rate-conversion on the encoder I/O,
- FreeDV-GUI's
rade_textLDPC-encoded EOO callsign codec.
- Native FreeDV Reporter client — Socket.IO v4 client talking to
qso.freedv.org:- Sortable / filterable station-list dialog (Callsign, Locator, km, Hdg, Version, kHz, Mode, Status, Msg, Last TX, RX Call, RX Mode, SNR, Updated columns).
- Row shading: green for RX-sync, red for TX, plum for Msg change (each with 5 s tail).
- Persistent window geometry across sessions, double-click row to tune VFOA.
- RADE meters in the Meters/Gadgets system: Sync, SNR, RX level (dBFS), Clip, EOO Decodes (text meter showing the last decoded callsign), TX Mic Level, TX Mic Clip.
- Setup-page controls — RADE / RADE Loopback / Reporter / Reporting / Callsign / Locator / Msg, with side-effects (auto-snap to DIGL <12 MHz / DIGU ≥12 MHz; disable VAC1 on RADE-enable).
- Console mirrors — RADE / REPR / VIS checkboxes on the digital-mode panel so the modem and the reporter are reachable without opening Setup.
Installation
Download Thetis-RADE-v2.10.3.16-x64.msi and double-click to install. Requires Windows 10 / 11 x64 and the .NET Framework 4.8 runtime (included by default on all current Windows installs).
Instructions
Read the Thetis_RADE_Instructions.pdf , it contains usage instructions for operating the RADE additions and the included Reporter.
73, Christos SV1EIA