RtlSdrManager 0.2.0

RTL SDR Manager

.NET Core library to manage RTL-SDR devices. The library is a wrapper for librtlsdr, to read I/Q samples in asynchronous and synchronous modes.

Install-Package RtlSdrManager -Version 0.2.0
dotnet add package RtlSdrManager --version 0.2.0
<PackageReference Include="RtlSdrManager" Version="0.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RtlSdrManager --version 0.2.0
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);

Release Notes

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

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);

Release Notes

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

Release Notes

Includes NuGet support.

Dependencies

This package has no dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
0.2.0 256 6/9/2018
0.1.3 197 6/9/2018