test_models: check consitency between panda and openpilot for velocity
diff --git a/panda b/panda
index bb75afc84e4d33..7e2b312fa86e6c 160000
--- a/panda
+++ b/panda
@@ -1 +1 @@
-Subproject commit bb75afc84e4d33af1554ada81851547db648e33e
+Subproject commit 7e2b312fa86e6cdfeba496f261407cb47cb005d1
diff --git a/selfdrive/car/tests/test_models.py b/selfdrive/car/tests/test_models.py
index aaaa6b9d79589d..3a76eff3ab6f77 100755
--- a/selfdrive/car/tests/test_models.py
+++ b/selfdrive/car/tests/test_models.py
@@ -23,6 +23,7 @@
 from openpilot.tools.lib.route import Route, SegmentName, RouteName
 
 from panda.tests.libpanda import libpanda_py
+from panda.tests.safety.common import VEHICLE_SPEED_FACTOR
 
 EventName = car.CarEvent.EventName
 PandaType = log.PandaState.PandaType
@@ -345,6 +346,11 @@ def test_panda_safety_carstate(self):
       checks['brakePressed'] += brake_pressed != self.safety.get_brake_pressed_prev()
       checks['regenBraking'] += CS.regenBraking != self.safety.get_regen_braking_prev()
 
+      # Verify that panda has the correct velocity for cars that use it (angle based cars)
+      if self.CP.steerControlType in [car.CarParams.SteerControlType.angle] and not self.CP.notCar:
+        panda_velocity = self.safety.get_vehicle_speed_last() / VEHICLE_SPEED_FACTOR
+        checks['vEgo'] += abs(panda_velocity - CS.vEgoRaw) > 0.2
+
       if self.CP.pcmCruise:
         # On most pcmCruise cars, openpilot's state is always tied to the PCM's cruise state.
         # On Honda Nidec, we always engage on the rising edge of the PCM cruise state, but

good check to have for angle based cars that require it as part of the safety (wanted to check for the new subarus)