Skip to main content

SP259 SDK & API

The SP259 series is driven from code through the ScanaStudio SDK. ScanaStudio V6 is a server that owns the instrument and the captured data; the ScanaStudio window is one client of that server, and a program you write is another. Both use the same interface, so everything that can be done in the window can be done from a script: configure channels and thresholds, set up a trigger, capture, run protocol decoders, take measurements, export, save a .scana file.

The SDK is available for Python, NodeJS, Rust and C. The four packages share one API and one version number, and they are MIT licensed. The C library is the entry point for LabVIEW, MATLAB, C# and existing C or C++ test benches. The same API works for every Ikalogic device, so a test written for an SP259 runs unchanged on an SE254 or an SP1000G.

Typical uses on an SP259: an automated bench or end-of-line test that captures a bus, decodes it and returns a pass/fail; a capture left running on a bench and read back later from another script or from the window; an instrument shared over the network between several clients.

Documentation

The SDK manual covers installation, a first capture, the core concepts, a reference per feature and worked guides, starting with an automated bench test.

Install

Python: pip install ikalogic-scanastudio
NodeJS: npm install @ikalogic/scanastudio
Rust: scanastudio-client on crates.io
C: libscanastudio, headers and binaries in one archive

A running ScanaStudio V6 (or its server alone) is the other half.

Scripting​

Protocol decoders are JavaScript files that run inside ScanaStudio, as part of a capture. Writing one is a separate topic from the SDK, covered by the scripting documentation. A decoder written this way is then used from the window or from the SDK in the same manner.

Legacy hardware API

Before the SDK, the SP259 was driven with the sp259api C library (IHWAPI), which talks to the device directly. It remains available for projects that already use it, but it gets no new features and does not cover the V6 server, decoders or measurements. Its documentation is at Logic analyzer API, and the migration guide maps its calls to the SDK.