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.