mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
feat: Pluto/AD936x SDR backend (discovery, RX, VHF band plan)
Add ADALM-Pluto / AD9361 support as a second hardware backend alongside openHPSDR, sharing the WDSP DSP pipeline and the existing controller API (UI stays decoupled from logic). - RadioBackend.pas: abstract TRadioBackend + TBackendCaps + TRadioDevice (Kind/URI/Serial). THPSDRNetwork now derives from it (state via virtual getters); TRadioController.FNetwork is the base type. - IIOBindings.pas: dynamic libiio loader (runs without libiio present). - PlutoBackend.pas: scan/probe-by-URI, connect, LO/rate/bandwidth/gain control, RX streaming thread (int16->24bit BE -> OnDDCIQ), Q conjugated to match WDSP IQ convention. Verified on LibreSDR (AD9361) over network. - Unified discovery: TDiscoverThread scans both backends; network Plutos found via direct ProbeURI (no mDNS needed). ConnectDevice dispatches by Dev.Kind (EnsureBackend swaps backend, preserving callbacks). - DeviceStore/DeviceForm: persist Kind/URI/Serial; save Pluto via AddSavedPluto so saved/autostart devices reconnect across restarts. - VHF/UHF band plan (BoardUtils, kind-aware): 6m..ADS-B for Pluto; fixes HF clamps (band detect, mouse-wheel 60 MHz cap, freq-display max). - SampleRateOverlay: configurable presets (Pluto 576k..5760k, >520 ksps), auto-width to fit. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -17,36 +17,23 @@
|
||||
<UseVersionInfo Value="True"/>
|
||||
<AutoIncrementBuild Value="True"/>
|
||||
<MinorVersionNr Value="9"/>
|
||||
<BuildNr Value="192"/>
|
||||
<BuildNr Value="202"/>
|
||||
</VersionInfo>
|
||||
<MacroValues Count="27">
|
||||
<Macro1 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro2 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro3 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro4 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro5 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro6 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro7 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro8 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro9 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro10 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro11 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro12 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro13 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro14 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro15 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro16 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro17 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro18 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro19 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro20 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro21 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro22 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro23 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro24 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro25 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro26 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<Macro27 Name="LCLWidgetType" Value="cocoa"/>
|
||||
<MacroValues Count="14">
|
||||
<Macro1 Name="LCLWidgetType" Value="qt6"/>
|
||||
<Macro2 Name="LCLWidgetType" Value="qt6"/>
|
||||
<Macro3 Name="LCLWidgetType" Value="qt6"/>
|
||||
<Macro4 Name="LCLWidgetType" Value="qt6"/>
|
||||
<Macro5 Name="LCLWidgetType" Value="qt6"/>
|
||||
<Macro6 Name="LCLWidgetType" Value="qt6"/>
|
||||
<Macro7 Name="LCLWidgetType" Value="qt6"/>
|
||||
<Macro8 Name="LCLWidgetType" Value="qt6"/>
|
||||
<Macro9 Name="LCLWidgetType" Value="qt6"/>
|
||||
<Macro10 Name="LCLWidgetType" Value="qt6"/>
|
||||
<Macro11 Name="LCLWidgetType" Value="qt6"/>
|
||||
<Macro12 Name="LCLWidgetType" Value="qt6"/>
|
||||
<Macro13 Name="LCLWidgetType" Value="qt6"/>
|
||||
<Macro14 Name="LCLWidgetType" Value="qt6"/>
|
||||
</MacroValues>
|
||||
<BuildModes>
|
||||
<Item Name="Debug" Default="True"/>
|
||||
|
||||
Reference in New Issue
Block a user