Two related fixes for the post-engage lag spike: 1. controlsdLagging suppressed during lat_engage_suppress window. Ratekeeper.lagging triggers when avg cycle duration over 100 cycles exceeds 11.1ms (90% of 10ms budget). The modeld 10→20fps ramp causes a legitimate transient where downstream services (plannerd, locationd, calibrationd, paramsd) each drain 2x the message rate, briefly pushing avg cycle time past the threshold. The underlying system isn't broken — it's correctly absorbing a scheduled workload transition. 2. frogpilotCarControl now sends only on change (+ 1Hz keepalive) instead of every 10ms. The message has 3 bool fields, of which speedLimitChanged code is entirely commented out, trafficModeActive flips only on UI button press, and alwaysOnLateral changes only on cruise/gear/brake edges. plannerd doesn't include frogpilotCarControl in its all_checks list so stale-freq detection isn't a concern. Saves ~7ms/sec of capnp build + zmq send work. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
61 KiB
Executable File
61 KiB
Executable File