Day 41 โ Logs: Control Plane v3 Bring-up¶
๐งช Test Environment¶
- Platform: Raspberry Pi
- Driver:
myadc_iio - Firmware: STM32 (register model v3)
๐ Test Log¶
Mode Switch¶
Output:
Read Without Trigger¶
cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw
cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw
Output:
Observation:
- No automatic sampling
- Mode is passive
Trigger One-Shot¶
Output:
Read After Trigger¶
Output:
Read Again¶
Output:
๐ Observations¶
- One-shot trigger successfully updates data
- Data remains stable after acquisition
- No repeated sampling
- Control flow is fully deterministic
๐ง Analysis¶
The behavior confirms:
ACQ_MODE = ONE_SHOTdoes not trigger samplingCMD = ONE_SHOT_STARTcorrectly initiates acquisition- Data path correctly reflects latest sample
- Linux driver correctly interacts with firmware
โ ๏ธ Issues Encountered¶
1. Register test interference¶
Problem:
- FIFO tests affected by background sampling
Root cause:
- Timer-driven updates still active
Solution:
-
Separate:
-
register-only tests
- task-based tests
2. One-shot trigger bug (driver)¶
Problem:
- Incorrect input parsing (
if (...) ;)
Fix:
- Remove stray semicolon
- Proper validation
3. Mutex unlock issue¶
Problem:
- Early return without unlock
Fix:
- Use
goto out_unlock
โ Final Status¶
- All tests passed
- One-shot fully functional
- Control plane validated
- Linux integration stable
๐ Conclusion¶
Day 41 successfully completes:
- Register model v3
- Linux driver integration
- One-shot acquisition pipeline
System is now ready for:
- Advanced IRQ handling
- Trigger/buffer integration
- Further driver refinement