RtlSdrManager 0.2.1

.NET Core 3.1
Install-Package RtlSdrManager -Version 0.2.1
dotnet add package RtlSdrManager --version 0.2.1
<PackageReference Include="RtlSdrManager" Version="0.2.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RtlSdrManager --version 0.2.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: RtlSdrManager, 0.2.1"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install RtlSdrManager as a Cake Addin
#addin nuget:?package=RtlSdrManager&version=0.2.1

// Install RtlSdrManager as a Cake Tool
#tool nuget:?package=RtlSdrManager&version=0.2.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Installation

RTL-SDR Manager Library is available via NuGet package manager. You can easily install it via the usual ways.

# dotnet CLI
dotnet add package RtlSdrManager

# nuget CLI
nuget install RtlSdrManager

Usage

Handling RTL-SDR device:

// Initialize the Manager instance.
var manager = RtlSdrDeviceManager.Instance;

// Open a managed device and set some parameters.
manager.OpenManagedDevice(0, "my-rtl-sdr");
manager["my-rtl-sdr"].CenterFrequency = new Frequency {MHz = 1090};
manager["my-rtl-sdr"].SampleRate = new Frequency {MHz = 2};
manager["my-rtl-sdr"].TunerGainMode = TunerGainModes.AGC;
manager["my-rtl-sdr"].AGCMode = AGCModes.Enabled;
manager["my-rtl-sdr"].MaxAsyncBufferSize = 512 * 1024;
manager["my-rtl-sdr"].DropSamplesOnFullBuffer = true;
manager["my-rtl-sdr"].ResetDeviceBuffer();

Asynchronous sample reading from the device:

// Start asynchronous sample reading.
manager["my-rtl-sdr"].StartReadSamplesAsync();

Read samples from the buffer:

// Dequeue from the buffer.
if (!manager["my-rtl-sdr"].AsyncBuffer.TryDequeue(out var data))
{
    Thread.Sleep(100);
    continue;
}

// Use the sample
Console.WriteLine(data);

Using KerberosSDR related functions:

// Enable KerberosSDR mode.
manager["my-rtl-sdr"].KerberosSDRMode = KerberosSDRModes.Enabled;

// Using frequency dithering and configuring GPIO directly.
manager["my-rtl-sdr"].FrequencyDitheringMode = FrequencyDitheringModes.Enabled;
manager["my-rtl-sdr"].SetGPIO(1, GPIOModes.Enabled);

Release Notes

v0.2.1 - January 10, 2020

  • Implement KerberosSDR related features (frequency dithering, direct GPIO control)
  • Implement Bias Tee settings
  • Minor fixes in the documentation

v0.2.0 - June 10, 2018

  • Bugfix in DeviceInfo handling
  • Implement singleton pattern for RtlSdrDeviceManager

v0.1.3 - June 9, 2018

  • First public NuGet package

v0.1.2 - June 3, 2018

  • Handling crystal frequencies (RTL2832, IC)
  • Support tuner bandwidth selection (Automatic, Manual)
  • Support direct sampling (I-ADC, Q-ADC)
  • Support offset tuning mode for zero-IF tuners

v0.1.1 - May 12, 2018

  • First public release of the RTL-SDR Manager
  • Supports most of the imporant functions of RTL-SDR device
Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp3.1
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.2.1 685 1/10/2020
0.2.0 863 6/9/2018

Includes NuGet support.