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.
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; 2200 | APCI-1648; 1696 | APCIe-1532 | ● 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; 2016; 040 | APCI-1532 | CPCI-1500; 1564 | ● Use KMDF Legacy Driver | ● Use Linux Legacy Driver |
| Counting xPCIx-1710; 1711; 1712 | ● Use KMDF Legacy Driver | ● Use Linux Legacy Driver |
| Length xPCIx-3701-3702 | ● Use KMDF Legacy Driver | ● Use Linux Legacy Driver |
| Serial interface xPCIx-7300; 7300-3; 7420; 7420-3; 7500; 7500-3; 7800 | ● Use KMDF Legacy Driver | ● Use Linux Legacy Driver |
| Motion control 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.
Read all digital inputs from an ADDI-DATA device. Same call across Python, C++ and C, pulled straight from the real ADDI-PACK samples.
// 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%08X\n", value);
# 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}")
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.
Native installers: Win32/64; Debian/Ubuntu (.deb); Red Hat (.rpm)
DKMS rebuilds the kernel module on every kernel upgrade.
RTX 64 support is on the immediate roadmap, with Linux RT ; Xenomai ; VxWorks targets planned beyond
Hardware counters, timers and watchdogs; synchronized digital I/O across cards.
Real-time triggering and event counting handled in kernel mode, no software jitter on the critical path.
Same log format, same ADDI_LOG_LEVEL control, same tooling on Windows and Linux.
Your maintenance team learns one workflow for the whole fleet.
Versioned, backward-compatible APIs survive version bumps.
Compatibility DLLs keep legacy 1.x applications running unchanged.
RTX64 hard real-time on Windows is on the immediate roadmap; Linux RT (PREEMPT_RT), Xenomai and VxWorks targets follow.
One API across all of them.
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.
For cards not yet in ADDI-PACK, our legacy KMDF and Linux drivers remain the supported path.
| 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 |