Roadmap - N8SDR1/Lyra-SDR-cpp GitHub Wiki

Roadmap

Where Lyra is headed. This is a direction, not a dated schedule β€” items land when they're solid. Everything shipped today is on the Feature Status page.

Now (v0.25.21 Sheliak): HL2 / HL2+ P1, BrickSDR2 / Brick3SDR P2, SUB + SPLIT, PureSignal, TX rack. Brick3 / ANAN-100D get a second SUB panadapter. Diversity (two ADCs, same frequency) is in and confirmed on Brick3SDR. Next: confirm Orion MkII testers (Anvelina / 7000 / 8000), G2 on-air validation, then Linux then macOS.

Legend: βœ… done Β· 🚧 in progress Β· πŸ—ΊοΈ planned Β· πŸ’‘ exploring (early idea, not scheduled)

Major features

βœ… SUB / RX2 + SPLIT (HL2, BrickSDR2, Brick3SDR, P2 ANAN)

Same operator model everywhere: second DDC and independent SPLIT TX on VFO B. One ADC (HL2 / Brick2 / ANAN-10 / 100): overlay on the main pane; N2ADR / analog filter follows RX1 (cross-band SUB is much weaker). Two ADC (Brick3SDR / ANAN-100D / 200D): SUB opens a second panadapter (own waterfall, band-plan, click-tune, Visuals floor/ceiling). RX2 jack isolate on TX (default on) for those two-converter boxes. Cues: orange TUNE A / lime TUNE B, cyan vs green passbands, red vs green band chips, off-span β—€ RX2 / RX2 β–Ά, lime TX marker (red on key). TCI: channel_count:2; vfo:0,1 is SPLIT VFO B; vfo:1,0 / dds:1 is SUB. Logger Combo RST still uses RX1.

βœ… Diversity (two ADCs, same frequency)

Phase/gain combine of the two converters on one frequency β€” not a second VFO (that is SUB). Confirmed on Brick3SDR. The same two-converter path is ANAN-100D / 200D. HL2 and BrickSDR2 have one ADC and do not show the chip.

The DIV chip opens the dock (size and position are remembered). ON inside the dock arms the mix; opening the dock does not. Turning Diversity on turns SUB off. Second RF is the RX2 jack (Ext1), not ANT2. Gain βˆ’27…+27 dB, phase βˆ’180…+180Β°, on the polar dot or the steppers. Each band keeps its own pair; a band you have not set starts at 0 dB / 0Β°. The master on/off is global. While you transmit, or while PureSignal is live, the mix drops and comes back when you unkey. RX2 jack isolate on TX still grounds that jack for the key.

βœ… PureSignal β€” adaptive predistortion

Live on HL2 / HL2+ (coupler hardware mod), BrickSDR2 (Protocol-2 ADC0 pad), and Brick3SDR (rear PS jack). Compact PureSignal dock plus Amp View plot (Snap / Hold). Feedback glance chip (teal below 129, green 129–181, red above). Auto-att persists across PTT so SSB does not re-hunt every keyup. Attestation in Settings β†’ TX (default off). 2-tone on the TX panel is the usual tune-up carrier. Operator detail: User Guide β†’ PureSignal.

βœ… Protocol 2 on BrickSDR2 / Brick3SDR Β· 🚧 Classic ANAN P2 on-air (G2 dummy-load Β· Orion MkII being tested)

HPSDR Protocol 2 is live on BrickSDR2 and Brick3SDR (RX + TX, including radio mic β†’ modulator, analog drive, watts-cap, ATT-on-TX). Brick3 is beta testing (v0.25.20) β€” TX like BrickSDR2 (no dummy-load arm); first RF dummy load. SUB opens a second panadapter. A Brick that still answers Protocol 1 is discovered but not opened β€” P1 TX in Lyra is HL2-only. Flash P2 (Anton / linoobs for Brick images). ANAN-10 / 10E = BrickSDR2 TX; ANAN-100 / 100B / 100D / 200D = Brick3SDR TX. G2 / G2-1K still dummy-load arm. 7000DLE / 8000DLE / Anvelina-Pro3 (Orion MkII) are in tester hands β€” BPF follow reported on Anvelina PROIII; TX stays dummy-load + drive ceiling until RF is confirmed. Boxes that shipped as Protocol 1 should run the P2 FPGA when they can.

Platforms

πŸ—ΊοΈ Linux, then macOS

Lyra is Windows-only today. Linux support is planned as a future version, with macOS to follow. The codebase is C++23 / Qt 6, so the ground is prepared β€” these are real roadmap items, not "maybe someday."

Smaller items on the list

  • βœ… WDSP 2.10 β€” Windows engine + NNR (v0.25.8; factory model Standard from v0.25.9). Mac/Linux binaries later.
  • βœ… NR-C rectangular panadapter β€” display on uncleaned IQ; Floor βˆ’24 (v0.25.10).
  • βœ… Session recorder β€” RX WAV on P1 and P2; Vulkan snapshots (v0.25.10).
  • βœ… First-run FFTW vs companion launch β€” Hardware Startup waits until FFTW and the radio layer are up (v0.25.11).
  • βœ… TCI STOP does not close the radio (v0.25.11) and does not drop MOX (v0.25.13). TUNE / TRX / CHRONO key like the host panel (v0.25.14).
  • βœ… Brick3 Beta Testing β€” Protocol 2 RX+TX, MAP, Auto Step, per-band PS pad, Reset wipe (v0.25.16); dual-ADC SUB pane, on-air TX, ANAN mapping (v0.25.17); RX2 jack isolate on TX (v0.25.18).
  • βœ… Diversity β€” two-ADC phase/gain combine (v0.25.20; Brick3SDR confirmed; 100D / 200D same path). Not SUB. See above.
  • βœ… HL2 filter-board follow β€” voltage follows the band you selected, including a return to a band already on the dial (v0.25.20, Issue #17).
  • βœ… 11 m / CB chips on the SUB pane β€” click-tune mode follows Hardware Region (v0.25.18).
  • βœ… Windows per-app mixer volume remembered across Stop / Start (v0.25.17).
  • βœ… PureSignal Voice on the compact dock; engine chips on Amp View (v0.25.17).
  • βœ… RIT / XIT on the Tuning panel.
  • βœ… Protocol 2 TX follows the VFO after retune (v0.25.15; BrickSDR2).
  • βœ… Keyboard VFO Left/Right 1 kHz, Up/Down 10 Hz (v0.25.15).
  • βœ… Startup profile uses mode binding then last-used, not always Default (v0.25.15).
  • βœ… Tuning Mem left-click after idle (v0.25.15).
  • βœ… Rec default folder is %USERPROFILE%\Lyra\Recordings, never Program Files (v0.25.12).
  • βœ… VAC2 β€” second independent virtual-audio cable (RX2 / SUB); enable, auto-digital, gains, and latency store in TX profiles (schema 6). Audio device names stay global.
  • βœ… 2-tone test generator β€” on the TX panel (linearity / dummy-load tune-up); PureSignal uses it as the usual tune-up carrier
  • βœ… Band stack β€” each band chip stores three frequencies (corner digit 1 / 2 / 3). A click from another band returns the slot you last used; a second click on the band you are already on steps to the next. SUB has its own three (v0.25.20).
  • βœ… Separate RX and TX filter lows β€” Filters dock, under the bandwidths (RX lo / TX lo, 0–500 Hz). The lock keeps them together; unlock and they stay apart. Older profiles copy the old shared low onto both sides (v0.25.20).
  • πŸ—ΊοΈ Continued polish across the DSP, UI, and metering as testers report back
  • βœ… Companion Apps β€” third-party digital / SSTV / logger programs launched from Lyra (native RTTY modem will not return; CW stays in-radio)

Exploring β€” further out πŸ’‘

Ideas we're interested in but haven't scheduled. They sit behind the major features above and may change shape or timing.

πŸ’‘ Remote operation

Run a radio at one location from a Lyra somewhere else, over the internet β€” a purpose-built Lyra-to-Lyra link that carries the DSP, compressed audio, and spectrum, with the operating position's controls driving the remote radio. This is an early idea, not a dated feature: it sits behind the remaining platform work (Linux / macOS, 7000/8000), and would only ship with mandatory authentication, encryption, and fail-safe transmit β€” a dropped or degraded link must never leave the transmitter keyed.

πŸ’‘ TX rack setup without RF (looped speech + bandwidth)

Dial in EQ / speech / Combinator / Plate without keying β€” no MOX, no TX I/Q, PA stays off. Optional 20–30 s recorded speech, looped into the same pre-rack mic funnel so rack knobs and TX bandwidth (3 / 4 / 6 kHz and ESSB) can be A/B'd on identical words.

Today: β–Ά Review is raw WAV (no rack); MON TX is post-rack before ALC and TX bandpass, and only while keyed. Hearing 3 kHz vs 6 kHz needs a post-bandpass listen tap, not the current MON tap. Parked β€” later add-in.

Want to influence it?

Feature requests and bug reports genuinely steer the order of work β€” open an issue or join the community on Discord. Tester hardware for non-HL2 radios is especially welcome.


See also: Feature Status Β· Supported Radios Β· Home