Day42 - IIO Timestamp, FIFO, and Scan Mask¶
🎯 Goal¶
- verify timestamp integration
- validate FIFO buffered read
- test scan mask behavior
- understand buffer alignment
🧪 Step 1 - Enable buffer¶
🧪 Step 2 - Full channel test¶
echo 1 | sudo tee scan_elements/in_voltage0_en
echo 1 | sudo tee scan_elements/in_voltage1_en
echo 1 | sudo tee scan_elements/in_voltage2_en
echo 1 | sudo tee scan_elements/in_voltage3_en
echo 1 | sudo tee scan_elements/in_timestamp_en
Expected:
- correct sequential data
- stable timestamp
🧪 Step 3 - Single channel test¶
echo 1 | sudo tee scan_elements/in_voltage0_en
echo 0 | sudo tee scan_elements/in_voltage1_en
echo 0 | sudo tee scan_elements/in_voltage2_en
echo 0 | sudo tee scan_elements/in_voltage3_en
echo 1 | sudo tee scan_elements/in_timestamp_en
Expected layout:
🧪 Step 4 - Multi-channel partial mask¶
echo 1 | sudo tee scan_elements/in_voltage0_en
echo 0 | sudo tee scan_elements/in_voltage1_en
echo 1 | sudo tee scan_elements/in_voltage2_en
echo 0 | sudo tee scan_elements/in_voltage3_en
echo 1 | sudo tee scan_elements/in_timestamp_en
Expected:
- only ch0, ch2 visible in decode
- raw still 16 bytes (alignment)
🧪 Step 5 - FIFO validation¶
Check:
- burst read works
- no corrupted frames
🧪 Step 6 - Regression test¶
- continuous mode
- one-shot mode
- FIFO mode
All must produce correct data
✅ Result¶
- timestamp working
- FIFO stable
- scan mask correctly applied
- alignment behavior understood