Day41 - IIO Control Plane v3 Integration¶
๐งช Lab Objective¶
Validate end-to-end behavior between:
- STM32 sensor firmware
- Linux IIO driver
Focus:
- Mode control
- One-shot trigger
- Data consistency
๐ง Setup¶
Ensure:
- Driver loaded
- Device present:
Example:
๐งช Lab 1 โ One-Shot Mode Behavior¶
Step 1: Set mode¶
Step 2: Read data without trigger¶
cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw
cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw
Expected:
โ No automatic sampling โ Mode is passive
๐งช Lab 2 โ Trigger One-Shot¶
Step 1: Trigger¶
Step 2: Read result¶
Expected:
Step 3: Read again¶
Expected:
โ Single update โ Value remains stable
๐งช Lab 3 โ Multiple One-Shot Triggers¶
echo 1 | sudo tee /sys/bus/iio/devices/iio:device0/one_shot
cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw
echo 1 | sudo tee /sys/bus/iio/devices/iio:device0/one_shot
cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw
Expected:
โ Each trigger generates new sample
๐งช Lab 4 โ Invalid Mode Usage¶
echo continuous | sudo tee /sys/bus/iio/devices/iio:device0/mode
echo 1 | sudo tee /sys/bus/iio/devices/iio:device0/one_shot
Expected:
- Operation rejected
- Error returned
โ Driver enforces mode constraint
๐งช Lab 5 โ Buffer Protection¶
(If buffer enabled)
Expected:
-EBUSYor failure
โ Prevents conflicting operations
๐ Behavior Summary¶
| Action | Result |
|---|---|
| Set mode = one-shot | No sampling |
| Trigger | One sample generated |
| Read raw | Latest value |
| Re-read | Same value |
| Re-trigger | New sample |
๐ง Lab Conclusion¶
The system behaves as:
- Deterministic
- Explicitly controlled
- Fully decoupled
This confirms:
- Control plane design is correct
- Linux โ firmware integration is stable