RtlSdrManager 0.2.1

dotnet add package RtlSdrManager --version 0.2.1
NuGet\Install-Package RtlSdrManager -Version 0.2.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<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
#r "nuget: RtlSdrManager, 0.2.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. 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

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 Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
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 1,127 1/10/2020
0.2.0 1,086 6/9/2018

Includes NuGet support.