rfIDEAS.ReaderIntegrationKit 1.0.1

This package has a SemVer 2.0.0 package version: 1.0.1+1069.
There is a newer version of this package available.
See the version list below for details.
dotnet add package rfIDEAS.ReaderIntegrationKit --version 1.0.1
                    
NuGet\Install-Package rfIDEAS.ReaderIntegrationKit -Version 1.0.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="rfIDEAS.ReaderIntegrationKit" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="rfIDEAS.ReaderIntegrationKit" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="rfIDEAS.ReaderIntegrationKit" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add rfIDEAS.ReaderIntegrationKit --version 1.0.1
                    
#r "nuget: rfIDEAS.ReaderIntegrationKit, 1.0.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.
#:package rfIDEAS.ReaderIntegrationKit@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=rfIDEAS.ReaderIntegrationKit&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=rfIDEAS.ReaderIntegrationKit&version=1.0.1
                    
Install as a Cake Tool

rfIDEAS.ReaderIntegrationKit

C# Facade for the Reader Integration Kit

This library enables .NET applications to communicate with rf IDEAS readers using a high-level reader interface. It wraps the cross-platform native library, providing easy integration for Windows, Linux, and macOS (x64).

Features

  • High-level reader API for reader operations
  • Support for WaveID reader types
  • Multi-platform native support (Windows, Linux, more coming)
  • .NET 8.0 and C# 12 compatibility
  • Distributed via NuGet

Getting Started

  1. Install via NuGet:

    dotnet add package rfIDEAS.ReaderIntegrationKit
    
  2. Reference in your project:

    using rfIDEAS.ReaderIntegrationKit;
    using rfIDEAS.ReaderIntegrationKit.Objects;
    using rfIDEAS.ReaderIntegrationKit.Enum;
    
  3. Native Libraries:

    • Windows: ReaderIntegrationKit.dll
    • Linux: libReaderIntegrationKit.so
    • macOS: libReaderIntegrationKit.dylib

    Native libraries are included automatically for supported platforms and are loaded from the NuGet package's runtimes/{os}-{arch}/native/ directory.

Usage Example

WaveID Reader

using rfIDEAS.ReaderIntegrationKit;
using rfIDEAS.ReaderIntegrationKit.Objects;
using rfIDEAS.ReaderIntegrationKit.Enum;

var readerDefinition = new ReaderDefinition
{
    DeviceId = new DeviceId { VendorId = 0x0c27, ProductId = 0x3bfa },
    ProtocolType = ProtocolType.FeatureReport
};

using var waveid = new Reader(readerDefinition);
waveid.Init();

// Get reader metadata (populated lazily on first access)
var metadataStruct = waveid.GetMetadata();
Console.WriteLine($"Part Number: {metadataStruct.PartNumber}");

// Force refresh metadata from device
metadataStruct = waveid.GetMetadata(forceRefresh: true);

// Beep the reader
waveid.Beep(2, BeepDuration.BeepDurationShort);

// Get beeper volume
var volume = waveid.GetBeeperVolume();
Console.WriteLine($"Beeper Volume: {volume}");

API Reference

Common Methods

  • Init() - Initialize the reader (metadata is populated lazily on first access)
  • GetMetadata(bool forceRefresh = false) - Get metadata as a struct (populated lazily on first access)
  • RefreshMetadata() - Explicitly refresh metadata from device
  • Dispose() - Dispose of the reader instance

WaveID-Specific Methods

  • Beep(byte beepCount, BeepDuration duration) - Beep the reader
  • GetBeeperVolume() - Get the beeper volume
  • SetBeeperVolume(BeepVolume volume) - Set the beeper volume

Native Library Loading

The library automatically searches for the native library in the following locations (in order):

  1. NuGet Package Location (primary for installed packages):

    • {AppContext.BaseDirectory}/runtimes/{os}-{arch}/native/{libraryName}
  2. Application Directory:

    • Next to the executing assembly
    • In a native subdirectory
  3. Development Build Locations:

    • facade/bin/ (where CMake copies during development)
    • Various build output directories

When installed via NuGet, the native library is automatically extracted to the correct location and will be found by the library loader.

Documentation

See rf IDEAS Documentation for integration guides and API reference.

License

Distributed by rf IDEAS, Inc. All rights reserved. Reduplication or modification is prohibited without prior written consent from rf IDEAS, Inc.


© rf IDEAS, Inc.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • 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
1.3.0 29 5/20/2026
1.2.0 50 4/14/2026
1.1.0 45 4/7/2026
1.0.1 45 3/28/2026