Cross-platform by design.
Built to bridge OT and IT.
Made for every ADDI-DATA device.
ADDI-PACK is the unified data acquisition driver framework for ADDI-DATA hardware. Windows and Linux from a single codebase, deterministic by architecture, ready to feed your Automation Layer, MES, ERP and AI systems through open APIs and language bindings.
Free with every ADDI-DATA device.
Read all digital inputs from an ADDI-DATA device. Same call across Python, C++ and C, pulled straight from the real ADDI-PACK samples.
# Python 3.8+ binding
from addipack import DeviceDiscovery
device = DeviceDiscovery.get_devices()[0]
digital = device.digital_io()
value = digital.read_all_digital_input()
print(f"DI: {value:#010x}")
// Production C++17
#include <addi-data/addi-pack/cpp/digital_io_interface.hpp>
using namespace addidata::addipack;
auto dev = DeviceDiscovery::getDevices().front();
auto digital = dev->digitalIo();
uint32_t value = digital->readAllDigitalInput();
std::cout << "DI: 0x" << std::hex << value;
// Native C — embedded path
#include <addi-data/addi-pack/api.h>
uint8_t n = 0;
AddiDataGetNumberOfDevices(&n);
AddiDataDeviceStruct devs[8];
AddiDataGetDeviceList(devs);
uint32_t value;
AddiDataReadAllDigitalInputs(devs[0].id, &value);
printf("DI: 0x%08Xn", value);
Why this matters. Every line your application team writes against ADDI-PACK survives the move from R&D bench to production line, no rewrites, no port, no re-validation cycle. That is the difference between a 6-month integration and a 6-week one.
ADDI-PACK ships kernel-mode drivers built for industrial uptime. The same code that runs in your R&D lab is what holds your machines together at 3 AM on a Sunday.
Five driver families, ten physical cards (PCI and PCIe), full Windows + Linux parity from day one. Other ADDI-DATA devices still ship with our proven legacy drivers but if your device matters to your project, tell us. Customer demand drives the order in which we migrate the rest of the portfolio.
| Cards covered | Windows | Linux |
|---|---|---|
| Digital APCI/APCIe-1032; 1500; 1564; 2032 | APCI-1648; 1696 | ● Shipping | ● Shipping |
| Analog xPCIx-3001; 3002; 3003; 3009; 3010; 3016; 3021; 3110; 3116; 3120; 3121; 3126; 3200; 3300; 3501; 3521; 3600; 3660 | ● Use KMDF Legacy Driver | ● Use Linux Legacy Driver |
| Digital xPCIx-1016; 1516; 1532; 2016; 2200; 040 | CPCI-1500; 1564 | ● Use KMDF Legacy Driver | ● Use Linux Legacy Driver |
| Zähler xPCIx-1710; 1711; 1712 | ● Use KMDF Legacy Driver | ● Use Linux Legacy Driver |
| Längenmessung xPCIx-3701-3702 | ● Use KMDF Legacy Driver | ● Use Linux Legacy Driver |
| Serielle Schnittstelle xPCIx-7300; 7300-3; 7420; 7420-3; 7500; 7500-3; 7800 | ● Use KMDF Legacy Driver | ● Use Linux Legacy Driver |
| Achsensteuerung APCI-8001; 8008 | ● Use KMDF Legacy Driver | ● Use Linux Legacy Driver |
We prioritize migrations based on customer demand. If your project depends on a device not yet supported, tell us and we will factor it into the next release window.
Every layer above the kernel is shared. A polymorphic C++17 backend handles the OS differences so your application code stays identical from Windows to Linux and so each new RTOS target (RTX, Linux RT, Xenomai, VxWorks…) and language binding plugs into the same proven core.
ADDI-PACK is a long-horizon investment. Here is what is already in your hands today, what we are working on through 2026, and where the platform is heading by 2027.
Roadmap items are indicative of priorities, not contractual commitments. Specific delivery windows are coordinated through customer agreements and quarterly product reviews.
Existing customers can keep running their current drivers as long as needed. When you are ready, ADDI-PACK is designed to slot in alongside, not replace your existing setup.
Every per-board KMDF driver we have shipped over the years is still available, signed, and supported.
No forced migration.
ADDI-PACK does not conflict with legacy installations.
Run both, validate at your own pace.
Drop-in replacements for our 1.x DLLs let your existing C++/LabVIEW/Delphi applications run on the new stack without code changes.
New features, new platforms, new code: write against the unified API. Old code: keep it. Mix freely.
| CentOS 7 3.10.0-1160 | CentOS 8 4.18.0-348 | CentOS 10 6.12 | Debian 9 4.9.0-16 | Debian 10 4.19.0-17 | Debian 11 5.10.0-8 | Debian 12 6.1.0-18 | Debian 13 6.12 | Fedora 35 5.16.18-200 | OpenSUSE 15.3 5.3.18-59.19 | Ubuntu 16 4.15.0-142 | Ubuntu 18 4.15.0-159 | Ubuntu 20 5.13.0-28 | Ubuntu 22 5.15.0-30 | Ubuntu 24.04 LTS 6.8 | |
| APCI-1016 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-1032 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-1500 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-1516 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-1564 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-1648 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-1696 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-1710 / APCIe-1711 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-1712 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-2016 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-2032 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-2200 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-3001 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-3120 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-3200 | IN PROGRESS | IN PROGRESS | IN PROGRESS | IN PROGRESS | IN PROGRESS | IN PROGRESS | IN PROGRESS | IN PROGRESS | IN PROGRESS | IN PROGRESS | IN PROGRESS | IN PROGRESS | PASS | IN PROGRESS | IN PROGRESS |
| APCI-3504 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-3600 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCI-3701 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCIe-040 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCIe-1516 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCIe-1532 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCIe-1564 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCIe-1711 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCIe-2032 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| APCIe-2200 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| xPCI-3xxx | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |