|
|
451b7ee341
|
feat: hardware BOM + fix critical daemon bugs (gaze dead code, FIST mapping)
- Add hardware/ directory structure (cad, cam, parts, sim, docs)
- Add hardware/bom/merlin-bci-rev0.csv — ADS1299 + ESP32-WROOM-32E full BOM
with passive values for 8-ch EEG front-end, isolated ±5V supply, WiFi streaming
- Fix: wire gaze_est.estimate(face) into camera loop (was instantiated but never called)
- Fix: add fist, gaze_left/right/up/down to DEFAULT_MAPPINGS
- Add: ActionExecutor.backend property (replace _backend direct access in /status)
- Add: scroll_left/right, key_ctrl_z/c/v to xdotool + pyautogui backends
|
2026-04-26 21:38:21 -07:00 |
|
|
|
0dcc25164d
|
feat(features): implement BlinkDetector, GazeEstimator, HeadPoseEstimator, HandGestureDetector
- BlinkDetector: EAR-based blink detection (left/right/both), 6 tests
- GazeEstimator: iris-to-eye-corner ratio gaze direction, frozen GazeDirection dataclass, 4 tests
- HeadPoseEstimator: velocity-based nod/shake/tilt detection (stateful, no tests — daemon smoke test)
- HandGestureDetector: normalize_hand + tip-distance open/pinch/fist classifier (no tests — daemon smoke test)
- TDD: blink and gaze followed RED→GREEN cycle; Black applied to all 6 files
|
2026-04-26 21:13:59 -07:00 |
|