Skip to content

Ad7124 6.12 update - #768

Open
thorenscientific wants to merge 1 commit into
analogdevicesinc:mainfrom
thorenscientific:ad7124_6.12_update
Open

Ad7124 6.12 update#768
thorenscientific wants to merge 1 commit into
analogdevicesinc:mainfrom
thorenscientific:ad7124_6.12_update

Conversation

@thorenscientific

@thorenscientific thorenscientific commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Description

Brings the AD7124-8 class, examples, and dependent classes up-to-date with updated Linux driver, which in turn fixes a several bugs (like buffered channels becoming misaligned) and adds temperature sensor, calibration, and cleans up the filter type attributes.

Type of change

  • Bug fix
  • New device class interface
  • New feature on an existing class
  • Breaking change
  • Documentation only
  • Test or CI only

How has this been tested?

State explicitly whether this was tested against real hardware, an emulated context (iio-emu), or not run. Name the part(s) and the context URI or board used.

  • Hardware:
    CN0554 (AD7124-8 and LTC2688) on Raspberry Pi 4

  • Commands run (e.g. python3 -m pytest -k ad4080 --adi-hw-map):
    python -m pytest --color yes -vs test\test_ad7124_8.py --uri="ip:analog.local" --hw=ad7124-8

  • Result:
    test/test_ad7124_8.py::test_ad7124_8_channels PASSED
    test/test_ad7124_8.py::test_ad7124_8_rx_data[channel=[1, 2, 3, 4]-classname=adi.ad7124] PASSED

  • Emulation:
    CI emulated hardware test

  • Result:
    Passes

Test configuration

  • Kernel / libiio version: 6.12.41-v8+ / 0.26
  • OS: ADI Kuiper Linux on Raspberry Pi 4, Windows 11 on remote host

Documentation

  • No documentation change needed
  • Updated existing docs under doc/source/
  • Added a new device page and linked it from the relevant toctree

New device class interfaces

Skip this section if the PR does not add a new device class.

  • Class extends one of the common base classes in adi.device_base (rx_chan_comp, tx_chan_comp, or a _no_buff variant). If not, explain why in the description. See the Device Base Classes developer doc page.
  • compatible_parts lists every part number this class supports
  • Part numbers added to supported_parts.md (verify with invoke checkparts)
  • Emulation context (xml_gen, not iio_genxml) added under test/emu/ and referenced from a test
  • Tests added that run against the emulation context in CI

Checklist

  • invoke precommit passes locally
  • All commits are signed off (Signed-off-by: Name <email>)
  • No new warnings from the build or doc generation
  • Dependent changes in libiio, kernel, or HDL are merged and referenced

Comment thread adi/device_base.py Outdated

def _add_channel_instances(self):
"""Initiate channel objects for each channel in the device."""
if (

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tfcollins for the record I did not check the case where self._channel_def IS defined.

Update AD7124, CN0554, examples, documentation, emulation context, and tests for the Linux 6.12 driver interface.

Use the dict-based channel-definition support merged in PR analogdevicesinc#780 directly to select voltage and temperature wrappers. Update CN0554 to select RX wrappers by channel name without redefining the base channel construction path.

Signed-off-by: Mark Thoren <mark.thoren@analog.com>

Signed-off-by: Travis F. Collins <travis.collins@analog.com>
@tfcollins
tfcollins force-pushed the ad7124_6.12_update branch from 5bb7e1a to 9f0f3d7 Compare July 16, 2026 00:13
@tfcollins
tfcollins deployed to external-pr July 16, 2026 00:13 — with GitHub Actions Active
@thorenscientific

Copy link
Copy Markdown
Contributor Author

@tfcollins the dict-based channel-definition checks out, thanks! Ran the ad7125_example, cn0554_loopback, and the pytest fixture. Anything else to address?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants