TachoInsight.CardReader.Core 1.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
Streamto 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, andReadUInt32MsbFirst. - 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.mdand 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 | 8 | 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 |