Skip to content

Day40 - Acquisition Mode Control

🎯 Objective

Validate the new mode-based control plane.


🧪 Test 1: Mode Switching

echo idle | sudo tee /sys/bus/iio/devices/iio:deviceX/mode
echo continuous | sudo tee ...
echo fifo | sudo tee ...

Check:

cat /sys/bus/iio/devices/iio:deviceX/mode

🧪 Test 2: Sampling Frequency

IDLE (staged only)

echo idle | sudo tee ...
echo 16 | sudo tee .../sampling_frequency

Expected: - no error - no data flow


CONTINUOUS (apply immediately)

echo continuous | sudo tee ...
echo 8 | sudo tee .../sampling_frequency
echo 16 | sudo tee .../sampling_frequency

Expected: - no error - data rate changes


🧪 Test 3: FIFO Watermark

echo fifo | sudo tee ...
echo 4 | sudo tee .../watermark
echo 8 | sudo tee .../watermark

Expected: - watermark applied - FIFO interrupt behavior correct


🧪 Test 4: Invalid Input (Rollback)

echo 123 | sudo tee .../sampling_frequency
echo 0 | sudo tee .../watermark

Expected: - error returned - previous value preserved


🧪 Test 5: Buffer Protection

echo 1 | sudo tee buffer/enable
echo fifo | sudo tee .../mode
echo 16 | sudo tee .../sampling_frequency

Expected: - all return -EBUSY


🧪 Test 6: fifo_enable Compatibility

echo 1 | sudo tee .../fifo_enable
cat .../mode

echo 0 | sudo tee .../fifo_enable
cat .../mode

Expected: - 1 → fifo - 0 → continuous