dashcamd v2: native C++ process with direct camera capture

- New dashcamd: connects to camerad via VisionIPC, feeds raw NV12
  frames directly to OMX H.264 encoder. Full 1928x1208 resolution,
  4Mbps, 3-minute MP4 segments. Works regardless of UI state.
- Added encode_frame_nv12() to OmxEncoder — skips RGBA->NV12 conversion
- Suspends recording after 10 minutes of standstill
- Disabled old screen recorder timer in onroad.cc
- Suppress debug button alert (clpDebug event still fires for screen toggle)
- launch_openpilot.sh self-cleans other instances before starting
- Register DashcamDebug param in params.cc and manager.py
- Add dashcamd to build system (SConscript) and process_config
- Updated CLAUDE.md with all session changes
- Added GOALS.md feature roadmap

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-11 08:54:41 +00:00
parent ed9c14616a
commit 4afd25fb5b
15 changed files with 560 additions and 119 deletions

View File

@@ -1,5 +1,15 @@
#!/usr/bin/bash
# Kill other instances of this script and any running manager
for pid in $(pgrep -f 'launch_openpilot.sh' | grep -v $$); do
kill "$pid" 2>/dev/null
done
for pid in $(pgrep -f 'launch_chffrplus.sh' | grep -v $$); do
kill "$pid" 2>/dev/null
done
pkill -f 'python.*manager.py' 2>/dev/null
sleep 1
bash /data/openpilot/system/clearpilot/on_start.sh
exec ./launch_chffrplus.sh