Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv
Plugins
Recent questions tagged adi_iio at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/analogdevicesinc/iio_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-30 |
Dev Status | MAINTAINED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Analog Devices
Authors
- Adrian Suciu
- Adrian Stanea
adi_iio
- ROS2 Package for IIO Integration
::: {.contents depth=”2”} :::
Overview
The adi_iio
package bridges the gap between Analog Devices’ IIO
hardware and the ROS2 ecosystem. It provides robust, easy-to-integrate
interfaces for sensor data acquisition and real-time processing,
enabling rapid development of advanced robotics and automation
applications.
By facilitating seamless communication and data exchange between IIO devices and ROS2 nodes, the package serves as a comprehensive framework for integrating industrial I/O systems into modern robotics solutions. It provides a collection of services to read/write IIO attributes, and manage IIO buffers. You can also attach topics to the attributes/buffers
This project is intended for both internal developers and external contributors seeking to leverage Analog Devices’ IIO devices within ROS2 environments.
Getting Started
To help you quickly get started with the adi_iio
package, we have
organized detailed documentation into several sections:
- For information on prerequisites, repository setup, and building the package, refer to the Installation section.
- The
Examples Introduction
{.interpreted-text role=”ref”} provides an overview of the available examples. Start with theService Call Reference
{.interpreted-text role=”ref”} to use the ROS2 services. You can also reference the standalone nodes and launch files for specific hardware interaction. - For information on parameters and services, refer to the Node Description section.
-
System Tests: The package includes comprehensive system tests
located in the
test/
directory. These tests are integrated withcolcon test
and require specific hardware (Analog Devices IIO devices) to execute. Refer to the test directory's README for detailed setup instructions and execution guidelines. - For building this documentation, refer to Building the Project Documentation Locally.
Getting Help
- Issue Tracker: Report bugs, request features, or submit technical queries via our Issue Tracker.
- Further Guidance: For additional communication guidelines, refer to COMMUNICATION.
Contributing
Contributions are key to our project’s success. Before submitting changes:
- Familiarize yourself with our code and testing conventions.
- Consult the CONTRIBUTING for detailed instructions.
- Ensure your code adheres to our design values and guidelines.
License
This project is licensed under the Apache License, Version 2.0.
The product makes use of third party and open source software. The licenses and notices for this software are listed at: iio_ros2 - Third Party and Open Source Software.
CHANGELOG
Refer to our CHANGELOG for version history and release notes.
Installation
This section describes how to install the required software to run the
adi_iio
package.
Prerequisites:
Before installing the adi_iio
package, ensure you have the following:
- A compatible version of ROS2 installed (e.g.,
humble
). See the ROS2 Humble Installation Guide for instructions. - The
libiio v0
library installed in the Host (e.g.: x86_64 host running Ubuntu 22.04) as well as the target (e.g.: Raspberry Pi 4). It can be automatically installed viarosdep
in systems where ROS2 is installed. Alternatively, you can build a specific version of it from source using the provided installation script (see (Optional) Build libiio from sources).
File truncated at 100 lines see the full file
Changelog for package adi_iio
1.0.0 (2025-06-27)
- Automated Hardware Testing Infrastructure:
- Setup of test workflows on self-hosted runners, with access to Pluto SDR device.
- Added system test validation and documentation.
- Examples and Documentation Enhancements:
- Added examples for HWMON, AD5592R and AD7124_8 devices, showcasing service usage and buffer operations.
- Documented service usage and examples for specific devices.
- Code Quality and CI/CD updates:
- Improved CI/CD workflows for building, testing, and linting.
- Added pre-commit hooks for code style checks.
- Enhanced documentation generation using adidoctools guidelines.
- Service Interfaces:
- Discovery Services:
-
ScanContext
- Comprehensive IIO context scanning service that returns lists of devices, channels, and attributes formatted as IIO paths. -
ListDevices
- Lists all IIO device paths found in the current context. -
ListChannels
- Lists all channel paths for a specified device. -
ListAttributes
- Lists attribute paths for context, device, or channel targets.
-
- Attribute Management Services:
-
AttrReadString
- Reads string values from IIO attributes specified by path. -
AttrWriteString
- Writes string values to IIO attributes specified by path. -
AttrEnableTopic
- Enables real-time topic publishing for attributes with configurable data types (String, Int, Double, Bool) and update rates. -
AttrDisableTopic
- Disables topic publishing for specified attributes.
-
- Buffer Operation Services:
-
BufferCreate
- Initializes buffers for continuous data capture from specified device channels. -
BufferDestroy
- Stops buffer operations and releases associated resources. -
BufferRead
- Convenience service combining buffer destruction, creation, and data acquisition in one call. -
BufferWrite
- Pushes sample data to hardware devices with optional cyclic mode for repeated transmission. -
BufferRefill
- Transfers data from hardware device to client via Int32MultiArray response. -
BufferEnableTopic
- Initiates continuous data capture and publishes to associated topics. -
BufferDisableTopic
- Stops continuous buffer data transfer to topics.
-
- Discovery Services:
- Added launch file support for the Node.
- Initial revision of the adi_iio package.
- Contributors: Adrian Suciu, Adrian-Stanea
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-scipy |
libiio-dev |
Dependant Packages
Launch files
Messages
Services
- srv/AttrDisableTopic.srv
- srv/AttrEnableTopic.srv
- srv/AttrReadString.srv
- srv/AttrWriteString.srv
- srv/BufferCreate.srv
- srv/BufferDestroy.srv
- srv/BufferDisableTopic.srv
- srv/BufferEnableTopic.srv
- srv/BufferRead.srv
- srv/BufferRefill.srv
- srv/BufferWrite.srv
- srv/ListAttributes.srv
- srv/ListChannels.srv
- srv/ListDevices.srv
- srv/ScanContext.srv