Ford: support hybrid Q3 platforms (#31568)

* bump

* ford: remove dynamic dashcam lockout for hybrids

* releases?

* Revert "releases?"

This reverts commit 88d950043d79b8c00535f48ed84b854bc2ab2557.

* bump

* Reapply "releases?"

This reverts commit db5079dc3f1a6bce70bd04430be45704d8604e76.

* 097
old-commit-hash: 378ba114f9
This commit is contained in:
Shane Smiskol
2024-02-23 23:22:34 -06:00
committed by GitHub
parent 5b173679c2
commit ce4784925e
4 changed files with 2 additions and 10 deletions

View File

@@ -1,6 +1,7 @@
Version 0.9.7 (2024-XX-XX)
========================
* New driving model
* Support for many hybrid Ford models
Version 0.9.6 (2024-02-27)
========================

2
panda

Submodule panda updated: b4442a7c93...6aa4b55033

View File

@@ -18,17 +18,10 @@ class CarState(CarStateBase):
self.shifter_values = can_define.dv["Gear_Shift_by_Wire_FD1"]["TrnRng_D_RqGsm"]
self.vehicle_sensors_valid = False
self.unsupported_platform = False
def update(self, cp, cp_cam):
ret = car.CarState.new_message()
# Ford Q3 hybrid variants experience a bug where a message from the PCM sends invalid checksums,
# this must be root-caused before enabling support. Ford Q4 hybrids do not have this problem.
# TrnAin_Tq_Actl and its quality flag are only set on ICE platform variants
self.unsupported_platform = (cp.vl["VehicleOperatingModes"]["TrnAinTq_D_Qf"] == 0 and
self.CP.carFingerprint not in CANFD_CAR)
# Occasionally on startup, the ABS module recalibrates the steering pinion offset, so we need to block engagement
# The vehicle usually recovers out of this state within a minute of normal driving
self.vehicle_sensors_valid = cp.vl["SteeringPinion_Data"]["StePinCompAnEst_D_Qf"] == 3

View File

@@ -109,8 +109,6 @@ class CarInterface(CarInterfaceBase):
events = self.create_common_events(ret, extra_gears=[GearShifter.manumatic])
if not self.CS.vehicle_sensors_valid:
events.add(car.CarEvent.EventName.vehicleSensorsInvalid)
if self.CS.unsupported_platform:
events.add(car.CarEvent.EventName.startupNoControl)
ret.events = events.to_msg()