Day37 Log – IIO FIFO Mode¶
Environment¶
- Platform: Raspberry Pi
- Interface: I2C
- Sensor: STM32-based fake ADC
- Channels: 4
- Data width: 16-bit per channel
Module Load¶
IRQ Activity¶
Observation:
- IRQ triggered correctly
- FIFO drained after each interrupt
IIO Buffer Output¶
Data Interpretation¶
Each frame:
Example:
Observations¶
- Data is continuous across frames
- Multi-channel values increment correctly
- No corruption in burst reads
FIFO Behavior¶
- FIFO accumulates samples
- IRQ triggers at watermark
- Driver drains FIFO
- IRQ deasserts correctly
Result¶
FIFO mode successfully implemented:
STM32 FIFO
→ IRQ (watermark)
→ Linux IRQ handler
→ IIO trigger
→ pollfunc
→ burst read FIFO
→ unpack frames
→ buffer push
→ user-space read
Conclusion¶
- FIFO reduces IRQ frequency
- Burst read improves I2C efficiency
- IIO buffer integration works correctly