TachoInsight.CardReader.Core 3.0.0

TachoInsight.CardReader.Core

TachoInsight.CardReader.Core is a small, focused .NET 8 library that parses EU tachograph driver card dumps from a Stream and exposes a stable API for consumers.

Install

From NuGet (example):

dotnet add package TachoInsight.CardReader.Core --version x.y.z

Or reference the project and run dotnet pack locally for development.

Quick usage

// Register parser in DI
builder.Services.AddSingleton<IDriverCardParser, DriverCardParser>();

// Use the parser
var parser = serviceProvider.GetRequiredService<IDriverCardParser>();
using var stream = /* MemoryStream or FileStream provided by consumer */;
var cardId = await parser.ParseAsync(stream, cancellationToken);

Notes:

  • The library expects little-endian byte order for tachograph data.

  • Always pass a Stream to the API; the library must not perform file-path I/O.

  • Async APIs accept a CancellationToken.

Byte order policy

  • Parser uses format-specific byte assembly in CustomBinaryReader.
  • Legacy method names with LE are kept for compatibility but are misnamed.
  • Canonical methods are ReadUInt16MsbFirst, ReadUInt24MsbFirst, and ReadUInt32MsbFirst.
  • Do not change byte-order logic; it is locked by unit tests.

Build & Test (local)

cd Core
dotnet restore
dotnet build -c Release
dotnet test

Packaging

Ensure the project file contains package metadata (PackageId, Version, Authors, RepositoryUrl) and GenerateDocumentationFile enabled. Use dotnet pack to create a .nupkg.

Contributing

  • Keep the core library free of UI and infrastructure dependencies.
  • Add MemoryStream-based unit tests for parser logic.
  • Document any public API changes in CHANGELOG.md and follow SemVer for versioning.

License

Specify license in the project .csproj (PackageLicenseExpression) and the repository root.# TachoInsight.CardReader.Core

A clean, dependency-free .NET 8 library that parses EU driver smart tachograph cards (Gen1, Gen2, Gen2 v2) into typed regions.

Install / Build

dotnet build

Usage (example)

using TachoInsight.CardReader.Core;

using var fs = File.OpenRead("driver_card_dump.bin");
var reader = new CustomBinaryReader(fs);
var processor = new DriverCardProcessor(reader);

// Process and retrieve parsed elementary regions
processor.Process();
var regions = processor.Data();

DI registration (example)

services.AddSingleton<IDriverCardParser, DriverCardParser>();

No packages depend on TachoInsight.CardReader.Core.

.NET 10.0

  • No dependencies.

Version Downloads Last updated
8.0.1 9 12/24/2025
8.0.0 1 12/24/2025
8.0.0-ci0004 1 12/24/2025
8.0.0-ci.3 1 12/24/2025
8.0.0-ci.1 1 12/24/2025
7.0.0 1 12/24/2025
4.0.0 1 12/21/2025
3.0.0 1 12/21/2025
2.0.0 1 12/21/2025
1.0.0 1 12/21/2025
0.1.0 1 12/24/2025