Post Go back to editing

Using iio_readdev with ADALM2000 (M2K) and analog trigger

Thread Summary

The user is trying to capture ADC data from ADALM2000 using iio_readdev with an analog trigger configured through sysfs. The final answer suggests using m2kcli on the target itself to configure the trigger and capture data, with specific commands for setting the trigger level, hysteresis, and other parameters. The user successfully configured and captured data using m2kcli, confirming the solution.
AI Generated Content
Category: Hardware
Product Number: ADALM2000

I’m trying to capture ADC data from ADALM2000 using iio_readdev with an analog trigger configured through sysfs.
The goal is to start acquisition when the signal on channel 0 crosses a defined level.

I tried this without success:

echo 0 > /sys/bus/iio/devices/iio:device11/streaming
echo edge-rising > /sys/bus/iio/devices/iio:device11/in_voltage0_trigger
echo 10 > /sys/bus/iio/devices/iio:device11/in_voltage0_trigger_level
echo 0 > /sys/bus/iio/devices/iio:device11/in_voltage0_trigger_hysteresis
echo analog > /sys/bus/iio/devices/iio:device11/in_voltage4_trigger_logic_mode
echo out > /sys/bus/iio/devices/iio:device11/in_voltage4_trigger_logic_out_direction
echo trigger-adc > /sys/bus/iio/devices/iio:device11/in_voltage4_trigger_logic_out_select
echo a > /sys/bus/iio/devices/iio:device11/in_voltage6_trigger_logic_mode
echo 0 > /sys/bus/iio/devices/iio:device11/in_voltage6_trigger_delay
( iio_readdev -b 1200 m2k-adc voltage0 > evento.bin ) & PID=$!
sleep 0.3
echo 1 > /sys/bus/iio/devices/iio:device11/streaming
wait $PID

What is the correct way to associate the analog trigger (m2k-adc-trigger) with the ADC (m2k-adc) so that iio_readdev works?
Are there any working examples for ADC acquisition with analog trigger?

Additional context:

Hardware: ADALM2000 Rev.D
Firmware: latest available
Backend: libiio via IP (ip:m2k.local)
Final goal: capture fast pulses (~2000 ns) using analog trigger, without relying on Scopy.