Skip to content

AD5686 update - #793

Open
rodrigo455 wants to merge 4 commits into
mainfrom
dev/ad5686-update
Open

AD5686 update#793
rodrigo455 wants to merge 4 commits into
mainfrom
dev/ad5686-update

Conversation

@rodrigo455

@rodrigo455 rodrigo455 commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Description

Adds new supported devices, gain control and triggered buffer features.

References:

Triggered Buffer output in the notebook example (updating 2 channels with hrtimer trigger):

image

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?

Most tests use the emulated context and mock interfaces. Example code was used with real hardware.

  • Hardware / emulation:
  • Commands run:
    • python -m pytest -v test/test_ad5686.py
    • python -m pytest -v test/test_trigger.py
  • Result:

Test configuration

  • Kernel / libiio version: 6.12
  • OS: Raspbian
  • FPGA carrier (if applicable):

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

This facilitates trigger handling on devices with triggered buffer
capabilities.

Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

Test Results

2 260 tests  +16     960 ✅ +16   4m 39s ⏱️ -4s
    1 suites ± 0   1 300 💤 ± 0 
    1 files   ± 0       0 ❌ ± 0 

Results for commit e7ed7a2. ± Comparison against base commit 1e50f3a.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

Generated documentation for this PR is available at Link

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

IIO Context Coverage Report

New device classes in this PR: hrtimer_trig, sysfs_trig

No hardware map entries found for these classes. Context coverage tracking requires an emulation entry in test/emu/hardware_map.yml.

Create classes for basic triggers used with triggered buffer devices.

Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>
- Add new compatible parts: ad5313r, ad5316r, ad5317r, ad5338r
  ad5674, ad5675, ad5679, ad5686, ad5687, ad5687r, ad5689, ad5689r
  ad5697r
- Add triggered buffer support tx_chan_comp inheritance and tx_voltage
  helper.
- Add gain control with scale_available attribute

Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>
Add jupyter notebook example that covers voltage configuration,
gain control, and buffered output with a hrtimer trigger.

Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>
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.

1 participant