Library in Free Pascal / Lazarus for working with weighing devices (RS-232 / RS-485).
Features
- Low-level codec of device protocol frames (encoding of speed, length, CRC-8, byte-staffing FF→FF FE)
- Hierarchy of exceptions by error semantics (transport, timeout, CRC, frame, device, protocol)
- Modular transport layer: ITensoMTransport interface, IOC TMockTransport for testing, TSerialTransport implementation for COM port (LazSynaSer+ WinAPI DCB fallback for non-standard USB-COM drivers)
- A high-level TTensoMDevice client with automatic retries, configurable replay policy, frame logging, and automatic CRC mode detection
- Full set of protocol commands: weight, calibration, configuration, serial number, digital inputs/outputs, indicators, counters, calibration, dosing, initiative transmission
- Scan functions for available COM ports (Windows: QueryDosDeviceA, Linux: /dev/ttyS*, /dev/ttyUSB*, /dev/ttyACM*)
- Unit tests via FPCUnit (CRC, BCD, frames, transport, client — including retries, logging, exception hierarchy)
- Integration test utility with XML report
- Lazarus Runtime Package (tensom_rt.lpk)
- Extensible Architecture
French
Librairie pour ports série RS-232 et RS-485.