DexterController.Abstractions
1.7.0-alpha.1
dotnet add package DexterController.Abstractions --version 1.7.0-alpha.1
NuGet\Install-Package DexterController.Abstractions -Version 1.7.0-alpha.1
<PackageReference Include="DexterController.Abstractions" Version="1.7.0-alpha.1" />
<PackageVersion Include="DexterController.Abstractions" Version="1.7.0-alpha.1" />
<PackageReference Include="DexterController.Abstractions" />
paket add DexterController.Abstractions --version 1.7.0-alpha.1
#r "nuget: DexterController.Abstractions, 1.7.0-alpha.1"
#:package DexterController.Abstractions@1.7.0-alpha.1
#addin nuget:?package=DexterController.Abstractions&version=1.7.0-alpha.1&prerelease
#tool nuget:?package=DexterController.Abstractions&version=1.7.0-alpha.1&prerelease
DexterController
.NET libraries for the Dexter hand device. Provides UART and BLE transports, force computation, calibration, and data recording.
Installation
dotnet add package DexterController.Connectivity
This pulls in the unified facade with both UART and BLE transports. For force computation and recording, also add:
dotnet add package DexterController.Measurements
Quick start
using DexterController.Abstractions;
using DexterController.Connectivity;
// UART
var device = DexterDevice.CreateUart("COM3"); // /dev/ttyUSB0 on Linux
await device.ConnectAsync();
await device.SetSamplingRateAsync(SamplingRate.Hz1000);
await device.SetEventEnableAsync(EventFlags.LoadCellData);
await device.StartAcquisitionAsync();
// BLE
var device = DexterDevice.CreateBle();
await device.ConnectAsync();
Read finger data:
device.DataUpdated += (sender, fingers) =>
{
var thumb = device.Thumb;
Console.WriteLine($"Thumb raw: [{thumb.RawData[0]}, {thumb.RawData[1]}, {thumb.RawData[2]}]");
};
Packages
| Package | Target | Description |
|---|---|---|
| DexterController.Abstractions | netstandard2.0 | Shared interfaces (IDexterDevice), enums, types |
| DexterController | netstandard2.0 | UART/Harp protocol transport |
| DexterController.BLE | net10.0¹ | BLE transport (WinRT, InTheHand, Shiny, Btleplug backends) |
| DexterController.Measurements | netstandard2.0 | Force math, calibration, tare, recording (CSV + SQLite) |
| DexterController.Measurements.Parquet | netstandard2.0 | Parquet recording format via Parquet.Net |
| DexterController.Connectivity | net10.0¹ | Unified DexterDevice factory (UART + BLE) |
| DexterController.UI.Avalonia | net10.0¹ | Reusable Avalonia controls (HandViewControl, DeviceSelectionDialog) |
¹ Multi-targeted:
net10.0,net10.0-windows10.0.19041.0,net10.0-macos. On Windows, use thenet10.0-windows10.0.19041.0TFM to enable the WinRT BLE backend.
BLE platform notes
Linux
The BLE stack on Linux uses InTheHand with BlueZ. The Dexter device does not support pairing, but InTheHand currently requires it:
bluetoothctl
# In the prompt:
scan on
# Wait for the Dexter device, then:
pair <device_mac_address>
trust <device_mac_address>
exit
macOS
The binaries are not currently signed. Allow the app or library host to run via System Preferences > Security & Privacy > General > Open Anyway. Allow Bluetooth access when prompted on first run.
| Product | Versions 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. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.20)
- System.Memory (>= 4.5.5)
- System.Text.Json (>= 9.0.20)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on DexterController.Abstractions:
| Package | Downloads |
|---|---|
|
DexterController.Measurements
Data recording and measurement utilities for the Dexter hand controller |
|
|
DexterController.BLE
Bluetooth Low Energy communication library for the Dexter hand controller |
|
|
DexterController
Core library for interfacing with the Dexter hand controller device |
|
|
DexterController.Measurements.Parquet
Parquet recording support for the Dexter hand controller |
|
|
DexterController.Connectivity
Unified connectivity layer for the Dexter hand controller (UART and BLE transports) |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.7.0-alpha.1 | 49 | 10/22/2026 |
| 1.6.0 | 242 | 9/18/2026 |
| 1.5.0 | 217 | 8/17/2026 |
| 1.4.0 | 217 | 8/14/2026 |
| 1.3.0 | 191 | 8/10/2026 |