Files
sdrangel/plugins/samplesource/fobos
Jon BenistonandClaude Opus 5 ddedd59568 Add MessageDialog and use it in place of the QMessageBox static functions
QMessageBox::information() and friends build the box on the stack, parent
it to the calling widget and run a nested event loop in exec(). If the
parent is closed while the box is open, which the Web API can do at any
time, the parent deletes the box and its children and the heap is
corrupted.

MessageDialog offers the same calls, but the box is heap allocated, given
Qt::WA_DeleteOnClose and shown rather than exec'd, so nothing runs a
nested event loop and the box owns its own lifetime. A box with the same
text as one already up is raised instead of a second being created.

The trade off is that information(), warning() and critical() return
immediately and cannot report which button was pressed. question() takes
a callback for the cases that need the answer.

Converts the call sites in the device, channel and feature GUIs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 17:16:49 +01:00
..
2026-07-04 09:55:26 +02:00

Fobos SDR input plugin

This plugin adds native SDRangel sample source support for RigExpert Fobos SDR devices.

It supports automatic backend selection:

  • Agile firmware/API through fobos_sdr.dll
  • regular/classic firmware/API through fobos.dll

Initial scope:

  • Fobos SDR backend loaded at runtime: Agile fobos_sdr.dll first, regular fobos.dll fallback
  • Device enumeration and open/close
  • Center frequency control
  • Sample rate selection
  • Relative bandwidth control for Agile backend (shown but ignored by Regular backend)
  • LNA gain control, 0..2
  • VGA gain control, 0..31
  • GPO control
  • Internal/external clock selection
  • Synchronous streaming into the SDRangel sample FIFO

Runtime notes:

  • On Windows, place fobos_sdr.dll and its runtime dependencies next to the SDRangel executable or make them available through PATH.
  • The plugin intentionally does not use developer-machine paths such as C:\dev\....
  • File logging is disabled by default. Configure with -DFOBOS_DEBUG_FILE_LOG=ON to write sdrangel_fobos_source.log for local diagnostics.

The plugin is intended as a native SDRangel sample source. It does not include analog video decoding or SDR# compatibility code.

Initial integration and hardware testing: Alex Antonov UT2UM Kyiv 2026.

Windows runtime packaging

On Windows, official SDRangel builds are expected to provide the Fobos SDR runtime packages through the SDRangel Windows dependency repository:

  • external/windows/fobos-sdr for Agile firmware/API
  • external/windows/fobos-regular for regular/classic firmware/API

The plugin build copies fobos_sdr.dll, fobos.dll, and the required libusb-1.0.dll runtime to the SDRangel binary directory so users do not need to copy runtime DLLs manually.

The companion dependency repository updates are tracked separately as:

  • sdrangel-windows-libraries PR #32 for Agile runtime
  • sdrangel-windows-libraries PR #33 for regular/classic runtime