From 22f19ad578446e7b6c22f346f2543f5ecbdb9807 Mon Sep 17 00:00:00 2001 From: whoisdomi Date: Fri, 24 Jul 2026 16:09:26 -0500 Subject: [PATCH] Becca --- .../controls/lib/longitudinal_mpc_lib/long_mpc.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py b/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py index 3cdf2b47b..9e818aad0 100644 --- a/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py +++ b/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py @@ -66,11 +66,15 @@ FCW_MAX_TTC = 4.0 def _personality_value(aggressive, standard, relaxed, personality): - return { - log.LongitudinalPersonality.aggressive: aggressive, - log.LongitudinalPersonality.standard: standard, - log.LongitudinalPersonality.relaxed: relaxed, - }[personality] + # NB: compare with == rather than a dict lookup. `personality` is a capnp + # _DynamicEnum read from a message; it compares equal to the schema enumerants + # but does not hash to the same bucket, so a dict[personality] lookup KeyErrors + # on otherwise-valid values. + if personality == log.LongitudinalPersonality.aggressive: + return aggressive + if personality == log.LongitudinalPersonality.relaxed: + return relaxed + return standard def get_jerk_factor(aggressive_accel=0.5, aggressive_danger=0.5, aggressive_speed=0.5,