rfIDEAS.ReaderIntegrationKit
1.0.1
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
<PackageReference Include="rfIDEAS.ReaderIntegrationKit" Version="1.0.1" />
<PackageVersion Include="rfIDEAS.ReaderIntegrationKit" Version="1.0.1" />
<PackageReference Include="rfIDEAS.ReaderIntegrationKit" />
paket add rfIDEAS.ReaderIntegrationKit --version 1.0.1
#r "nuget: rfIDEAS.ReaderIntegrationKit, 1.0.1"
#:package rfIDEAS.ReaderIntegrationKit@1.0.1
#addin nuget:?package=rfIDEAS.ReaderIntegrationKit&version=1.0.1
#tool nuget:?package=rfIDEAS.ReaderIntegrationKit&version=1.0.1
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
Install via NuGet:
dotnet add package rfIDEAS.ReaderIntegrationKitReference in your project:
using rfIDEAS.ReaderIntegrationKit; using rfIDEAS.ReaderIntegrationKit.Objects; using rfIDEAS.ReaderIntegrationKit.Enum;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.- Windows:
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 deviceDispose()- Dispose of the reader instance
WaveID-Specific Methods
Beep(byte beepCount, BeepDuration duration)- Beep the readerGetBeeperVolume()- Get the beeper volumeSetBeeperVolume(BeepVolume volume)- Set the beeper volume
Native Library Loading
The library automatically searches for the native library in the following locations (in order):
NuGet Package Location (primary for installed packages):
{AppContext.BaseDirectory}/runtimes/{os}-{arch}/native/{libraryName}
Application Directory:
- Next to the executing assembly
- In a
nativesubdirectory
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 | Versions 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. |
-
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.