This repository contains the official SRdeck plugins as a versioned release snapshot.
The Unknown Signal Analysis Workbench is included in the default build and the plugin-inclusive executable ZIP. See its guide for constellation, frequency-deviation and symbol-rate candidate analysis.
The public source snapshot contains the plugins selected for executable packages and the Meshtastic and OneSeg source-only plugins. Meshtastic and OneSeg are excluded from the default build and the SRdeck executable packages. Their BAT build commands are commented out until you explicitly opt in after reviewing the patent and licensing notice below.
Do not commit product changes directly to this repository. Use the project's normal development and review process for product changes.
For detailed plugin specifications, reception procedures, and development guides, visit the SRdeck Official Wiki:
- 🔌 Using Plugins: Official Plugins Overview / Plugin Management
- 💻 Plugin Development: Developer Overview / Development Environment / Creating First Plugin / Right Pane UI Design
- ❓ Support & FAQ: FAQ / Troubleshooting
- Release version:
1.0.10 - Required SRdeck platform package version:
1.0.10
- Windows x64
- .NET 10 SDK (
dotnet --infoshould show an installed 10.x SDK) - Git (only if cloning the source; not required for the ZIP download)
- The four SRdeck platform NuGet packages with the same version as
1.0.10
The plugin projects consume SRdeckPlugin.Contracts, SRdeckPlugin.Sdk,
SRdeckPlugin.Wpf, and SRdeckCore.SignalProcessing as NuGet packages. The
package version must match the SRdeck host version used for testing. Do not
mix packages from different SRdeck releases.
Building T98 or the SRdeck host from source requires MSVC x64/x86 build tools, a Windows 10 or 11 SDK, and CMake (3.21 or newer for VS 2022; 4.2 or newer for VS 2026). T98 builds its FEC and privacy-analysis DLLs from vendored source without downloading native source during the build. See Development Environment for installation steps and CMake troubleshooting.
All commands below are for the Windows Command Prompt (cmd.exe). Open Command Prompt from the Start menu and set the versions first. Keep using the same window, and check that each command succeeds before continuing.
set "RELEASE_VERSION=1.0.10"
set "PLATFORM_VERSION=1.0.10"- Open the matching SRdeckPlugins release in a browser and download Source code (zip) under Assets.
- Extract the ZIP using File Explorer's Extract All command.
- Place the extracted folder containing
SRdeckPlugins.slnatC:\SRdeckBuild\SRdeckPlugins. The solution must be directly inside this directory, rather than inside another nested folder from the ZIP. - Change to that directory in Command Prompt:
cd /d "C:\SRdeckBuild\SRdeckPlugins"To clone the source instead of downloading the ZIP, run:
if not exist "C:\SRdeckBuild" mkdir "C:\SRdeckBuild"
cd /d "C:\SRdeckBuild"
git clone --branch "v%RELEASE_VERSION%" --depth 1 https://github.com/sake846/SRdeckPlugins.git
cd SRdeckPluginsDownload these four files from the matching SRdeck release:
SRdeckCore.SignalProcessing.1.0.10.nupkgSRdeckPlugin.Contracts.1.0.10.nupkgSRdeckPlugin.Sdk.1.0.10.nupkgSRdeckPlugin.Wpf.1.0.10.nupkg
Run these commands from the source directory to create the package directory:
if not exist "platform-packages" mkdir "platform-packages"
set "PACKAGE_DIRECTORY=%CD%\platform-packages"Place the four downloaded .nupkg files directly in platform-packages without
extracting them. This example shows the layout after extracting the source ZIP
and adding the packages (other source files are omitted):
C:\SRdeckBuild\
└─ SRdeckPlugins\
├─ SRdeckPlugins.sln
├─ build.bat
├─ NuGet.Config
├─ Directory.Build.props
├─ Directory.Build.targets
├─ SRdeckPlugin.Ais\
│ └─ SRdeckPlugin.Ais.csproj
└─ platform-packages\
├─ SRdeckCore.SignalProcessing.1.0.10.nupkg
├─ SRdeckPlugin.Contracts.1.0.10.nupkg
├─ SRdeckPlugin.Sdk.1.0.10.nupkg
└─ SRdeckPlugin.Wpf.1.0.10.nupkg
If GitHub CLI is installed, this command can download the packages instead of using a browser. The ZIP and browser download steps require neither Git nor GitHub CLI.
gh release download "v%PLATFORM_VERSION%" --repo sake846/SRdeck --pattern "*.nupkg" --dir "%PACKAGE_DIRECTORY%"After placing the four packages in platform-packages, double-click
build.bat in the source folder, or run it from Command Prompt:
build.batThe BAT file checks for the .NET SDK and the four matching platform packages,
restores dependencies, and builds the solution in Release configuration. It
uses its own folder as the working directory and the package version recorded
in this snapshot. An internet connection is required to restore dependencies.
The window waits for a key press at the end so you can read the result.
Meshtastic and OneSeg are excluded from SRdeckPlugins.sln, so neither the
default BAT build nor a direct solution build restores or builds them.
Optional arguments select the configuration and whether to skip the final key press (for automated builds):
build.bat Debug
build.bat Release --no-pauseRestore or build failures stop the script and return a nonzero exit code.
Meshtastic (LoRa demodulation) and OneSeg (broadcast and audio/video codecs) may involve third-party patent rights. GPL-3.0-only licensing does not by itself grant all third-party patent rights that may be required; see GPLv3 section 11. Source availability and receive-only use do not establish non-infringement. This project does not guarantee non-infringement or that every required patent license has been obtained.
Before enabling either plugin, read PATENT-NOTICE.md, THIRD-PARTY-NOTICES.md, and the plugin's notices. Assess the applicable patent and licensing conditions for your intended use and country or region, including any permissions you may need. Only remove the comments if you decide that you can build and use the selected plugin. If you cannot make that determination, leave it disabled.
Open build.bat in a text editor and find these lines:
rem call :BuildPlugin "SRdeckPlugin.Meshtastic\SRdeckPlugin.Meshtastic.csproj"
rem call :BuildPlugin "SRdeckPlugin.OneSeg\SRdeckPlugin.OneSeg.csproj"Remove only the leading rem from the line for each plugin you choose to
enable, save the file, and run build.bat again. Each plugin can be enabled
independently. The BAT file restores and builds the enabled projects separately
after the default solution. Their DLLs remain excluded from official executable
packages.
To build only one default plugin after restoring the solution, pass its project file instead. For example:
dotnet build .\SRdeckPlugin.Ais\SRdeckPlugin.Ais.csproj ^
-c Release ^
--no-restore ^
-p:Platform=x64 ^
-p:SRdeckPlatformVersion=%PLATFORM_VERSION%The ^ character continues a command onto the next line in Command Prompt.
Do not put spaces after it.
The resulting assembly is written to:
SRdeckPlugin.Ais\bin\x64\Release\net10.0-windows\win-x64\SRdeckPlugin.Ais.dll
Replace Ais with the plugin project you built. The other plugin-specific
DLLs in that same output directory are its runtime dependencies.
Use a host built from the same SRdeck release or the matching host source
snapshot. Copy the plugin DLL and its plugin-specific dependency DLLs into the
directory containing SRdeck.exe, then restart SRdeck:
This example assumes SRdeck.exe is in C:\SRdeck. Close SRdeck before running
it, and change SRDECK_DIRECTORY to match your host installation:
set "PLUGIN_OUTPUT=%CD%\SRdeckPlugin.Ais\bin\x64\Release\net10.0-windows\win-x64"
set "SRDECK_DIRECTORY=C:\SRdeck"
copy /Y "%PLUGIN_OUTPUT%\*.dll" "%SRDECK_DIRECTORY%\"The DLL search directory is the directory containing SRdeck.exe; the
%LOCALAPPDATA%\SRdeck\plugins directory is for settings and plugin data,
not for plugin assemblies. Restart the host after replacing a DLL.
Meshtastic and OneSeg require the explicit opt-in described above before the BAT file builds them for local testing. Their DLLs are intentionally not included in the official SRdeck executable packages.
T98 4FSK voice requires an external AMBE dongle such as DVstick 30 or ThumbDV.
Set its COM port and baud rate in the plugin. Without the dongle, reception
and analysis remain available but no voice is produced. T98 PSK voice is unsupported.
For T98, deploy the plugin DLL, both native DLLs, System.IO.Ports.dll, the plugin notice
and the licenses directory together.
Common AMBE sources are compiled into each plugin independently.
See the T98 guide.
- CMake errors: T98 builds native FEC and privacy-analysis DLLs. Install the
native build prerequisites described above and check the
-Spath in the error. NU1101for an SRdeck package: check thatplatform-packagescontains all four.nupkgfiles and that their versions equal%PLATFORM_VERSION%.- Missing or incompatible types at runtime: build and test with a host and platform packages from the same SRdeck release.
- No plugin appears after copying the DLL: confirm that it is beside
SRdeck.exe, close all SRdeck processes, and start SRdeck again.
The release workflow performs the same restore and Release build against the matching SRdeck platform package release before this snapshot is published.