First Demo
This walkthrough is a minimal validation flow: run adi_iio and confirm it
is running from another shell using standard ROS2 tools.
Note
All commands in this guide are run from the cloned repository root.
1. Run the Node
Build the base image as described in Quick Start:
docker compose -f compose.build.yml build core
Run the node:
docker compose up adi_iio
When the node is up, logs should include entries like:
adi_iio-1 | [INFO] [1777558055.460714243] [adi_iio_node]: creating context 0x56750e3c37b0 from uri ip:192.168.2.1
adi_iio-1 | [INFO] [1777558055.461022389] [adi_iio_node]: setting timeout to 0
adi_iio-1 | [INFO] [1777558055.462350528] [rclcpp]: Initializing buffers...
adi_iio-1 | [INFO] [1777558055.467254907] [adi_iio_node]: IIO Node
2. Inspect from Another Shell
Open another shell container:
docker compose run --rm shell
From that shell, verify the node and services:
ros2 node list
ros2 service list
ros2 service call /adi_iio_node/ListDevices adi_iio/srv/ListDevices
Expected: /adi_iio_node appears in ros2 node list and IIO services are
listed (for example /adi_iio_node/ListDevices).
Example shell output:
root@docker-desktop:/# ros2 node list
/adi_iio_node
root@docker-desktop:/# ros2 service list
/adi_iio_node/AttrDisableTopic
/adi_iio_node/AttrEnableTopic
/adi_iio_node/AttrReadString
/adi_iio_node/AttrWriteString
/adi_iio_node/BufferCreate
/adi_iio_node/BufferDestroy
/adi_iio_node/BufferDisableTopic
/adi_iio_node/BufferEnableTopic
/adi_iio_node/BufferRead
/adi_iio_node/BufferRefill
/adi_iio_node/BufferWrite
/adi_iio_node/ListAttributes
/adi_iio_node/ListChannels
/adi_iio_node/ListDevices
/adi_iio_node/ScanContext
root@docker-desktop:/# ros2 service call /adi_iio_node/ListDevices adi_iio/srv/ListDevices
requester: making request: adi_iio.srv.ListDevices_Request()
response:
adi_iio.srv.ListDevices_Response(success=True, message='Found 14 devices', data=['xadc', 'ad5625', 'm2k-fabric', 'm2k-adc-trigger', 'ad9963', 'm2k-adc', 'ad5627', 'pll', 'm2k-dds', 'm2k-dac-a', 'm2k-dac-b', 'm2k-logic-analyzer', 'm2k-logic-analyzer-tx', 'm2k-logic-analyzer-rx'])
Clean Up
Stop the demo service:
docker compose down