GPS fix + log directory redesign + dashcamd binary

GPS: fix AT response parsing (strip mmcli `response: '...'` wrapper),
fix capnp field names (horizontalAccuracy, hasFix), set system clock
directly from first GPS fix when time is invalid, kill system gpsd on
startup.

Logging: replace module-level log dir creation with init_log_dir()
called from manager_init(). Active session always at /data/log2/current
(real dir until time resolves, then symlink to timestamped dir). Add
LogDirInitialized param. Redirect both stdout+stderr for all processes.

Also: thorough process cleanup in launch scripts, dashcamd binary,
CLAUDE.md updates for GPS/telemetry/bench/logging docs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-13 04:51:33 +00:00
parent f969214a3d
commit 4f16a8953a
11 changed files with 324 additions and 48 deletions

View File

@@ -1,13 +1,18 @@
#!/usr/bin/bash
# Kill other instances of this script and any running manager
# Kill other instances of this script, launch chain, and all managed processes
for pid in $(pgrep -f 'launch_openpilot.sh' | grep -v $$); do
kill "$pid" 2>/dev/null
kill -9 "$pid" 2>/dev/null
done
for pid in $(pgrep -f 'launch_chffrplus.sh' | grep -v $$); do
kill "$pid" 2>/dev/null
kill -9 "$pid" 2>/dev/null
done
pkill -f 'python.*manager.py' 2>/dev/null
pkill -9 -f 'python.*manager.py' 2>/dev/null
# Kill all processes started by the manager (run as comma user, in openpilot tree)
pkill -9 -f 'selfdrive\.' 2>/dev/null
pkill -9 -f 'system\.' 2>/dev/null
pkill -9 -f './ui' 2>/dev/null
pkill -9 -f 'selfdrive/ui/text' 2>/dev/null
sleep 1
bash /data/openpilot/system/clearpilot/on_start.sh