Try the host stack

A repeatable Linux evaluation before a hardware integration.

v2.1.1 downloads

Release notes and test evidence include the source commit, compiler details, test logs and SHA256 checksums.

The switching-sensor host example exercises measurement and validity data, threshold, hysteresis, inversion, teach through ISDU and a vendor event. The supplied IODDs use illustrative device identities; assign your product IDs before product validation.

1. Build a pinned release

Use Linux with Git, a C99 compiler, CMake 3.20 or newer, Python 3, Node.js, pkg-config and CMocka. These commands use the published v2.1.1 release, so your starting point is reproducible. The evaluation runs on your Linux machine.

git clone --branch v2.1.1 --depth 1 https://github.com/w1ne/iolinki.git
cd iolinki
cmake -S . -B build -DIOLINK_PLATFORM=LINUX -DBUILD_TESTING=ON
cmake --build build --parallel
ctest --test-dir build --output-on-failure

2. Read the result

The host build and all 36 CTest targets passed with GCC 13 on Linux on 2 October 2026. Expect CTest to report 100% tests passed. A compiler or test failure on your machine is a useful issue report; include the tag, operating system, compiler version, command and full error output.

These tests exercise software protocol behavior. See the validation page for test results and reproduction commands.

3. Run the counter, button and LED example

The reference device runs on Linux with an in-process virtual master and is included in the release built above.

./build/examples/reference_device/reference_device_demo

Expect SIMULATION PASS after 100 checked cyclic frame exchanges. The example checks counter data, LED commands and checksums, a local application-tag readback, and a queued button event. Read the payload and integration guide.

4. Run the switching-sensor example

The host example publishes measurement, validity and switching state, then uses ISDU transport to teach and read back a threshold. Its parameters include hysteresis and inversion.

./build/examples/switching_sensor/switching_sensor_demo
python3 tools/iodd_cli.py inspect examples/switching_sensor/device.xml
python3 tools/iodd_cli.py validate examples/switching_sensor/device.xml

Payload and parameter guide · IODD generation and external schema validation.

5. Inspect the existing examples

  • Host demo: build/examples/host_demo/host_demo requires a TTY path and a compatible peer, using the virtual PHY transport. Run it without arguments to print its usage.
  • Simple device: an application scaffold with source and example IODD files.
  • Zephyr application: includes application source and a Nucleo-L476RG UART overlay.

6. Choose an integration path

Compare the exact board and IDE status before buying hardware. Build-verified projects are available for STM32G0B1RE/TIOL112, Nucleo-U575ZI-Q/Zephyr/TIOL112 and ESP32-C3-DevKitM-1/ESP-IDF/STEVAL-IOD003V1. The STM32G0 project also includes native IAR project, startup and linker files.

For a proprietary product, review commercial terms. For GPL evaluation, read the release license and consider your intended use and distribution. Source and these instructions are publicly available.

Next: Hardware & IDEs · Validation evidence