Day14 - Event-Driven GPIO Driver¶
๐งฐ Build¶
๐ Load Driver¶
๐ Device Node¶
๐ก LED Control¶
echo led1=1 | sudo tee /dev/mygpio
echo led2=1 | sudo tee /dev/mygpio
echo all=0 | sudo tee /dev/mygpio
๐งช Test 1: Blocking Read¶
Expected:
- Waits for event
- Press button โ prints one line
- Continues waiting
๐งช Test 2: Single Event¶
Expected:
- Exit after one event
๐งช Test 3: Non-blocking Read¶
Expected:
- No event โ EAGAIN
- Event โ data returned
๐งช Test 4: poll()¶
Expected:
- Wait for event
- Event triggers poll
- read() returns data
๐งช Test 5: Rapid Press¶
- Press button quickly multiple times
Expected:
- Events queued
- Possible drops if buffer full
โ ๏ธ Module Removal¶
Note:
- Will fail if device is open
- This is expected (module refcount)