mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-20 08:42:11 +08:00
HKG: test list of platforms with no fwdCamera dates (#28555)
* no dates test * sorted old-commit-hash: 2166adda5f9c5a58c175c87d6e5f73e3d90d2e4f
This commit is contained in:
@@ -2,13 +2,36 @@
|
||||
import unittest
|
||||
|
||||
from cereal import car
|
||||
from selfdrive.car.hyundai.values import CAMERA_SCC_CAR, CANFD_CAR, CAN_GEARS, CAR, CHECKSUM, FW_QUERY_CONFIG, \
|
||||
FW_VERSIONS, LEGACY_SAFETY_MODE_CAR, PART_NUMBER_FW_PATTERN, PLATFORM_CODE_ECUS, \
|
||||
get_platform_codes
|
||||
|
||||
from selfdrive.car.hyundai.values import CAMERA_SCC_CAR, CANFD_CAR, CAN_GEARS, CAR, CHECKSUM, DATE_FW_ECUS, \
|
||||
FW_QUERY_CONFIG, FW_VERSIONS, LEGACY_SAFETY_MODE_CAR, \
|
||||
PART_NUMBER_FW_PATTERN, PLATFORM_CODE_ECUS, get_platform_codes
|
||||
Ecu = car.CarParams.Ecu
|
||||
ECU_NAME = {v: k for k, v in Ecu.schema.enumerants.items()}
|
||||
|
||||
# Some platforms have date codes in a different format we don't yet parse (or are missing).
|
||||
# For now, assert list of expected missing date cars
|
||||
NO_DATES_PLATFORMS = {
|
||||
# CAN FD
|
||||
CAR.KIA_SPORTAGE_5TH_GEN,
|
||||
CAR.KIA_SPORTAGE_HYBRID_5TH_GEN,
|
||||
CAR.SANTA_CRUZ_1ST_GEN,
|
||||
CAR.TUCSON_4TH_GEN,
|
||||
CAR.TUCSON_HYBRID_4TH_GEN,
|
||||
# CAN
|
||||
CAR.ELANTRA,
|
||||
CAR.KIA_CEED,
|
||||
CAR.KIA_FORTE,
|
||||
CAR.KIA_OPTIMA_G4,
|
||||
CAR.KIA_OPTIMA_G4_FL,
|
||||
CAR.KIA_SORENTO,
|
||||
CAR.KONA,
|
||||
CAR.KONA_EV,
|
||||
CAR.KONA_EV_2022,
|
||||
CAR.KONA_HEV,
|
||||
CAR.SONATA_LF,
|
||||
CAR.VELOSTER,
|
||||
}
|
||||
|
||||
|
||||
class TestHyundaiFingerprint(unittest.TestCase):
|
||||
def test_canfd_not_in_can_features(self):
|
||||
@@ -62,10 +85,10 @@ class TestHyundaiFingerprint(unittest.TestCase):
|
||||
self.assertEqual(1, len(result), f"Unable to parse FW: {fw}")
|
||||
codes |= result
|
||||
|
||||
# Some newer platforms have date codes in a different format we don't yet parse,
|
||||
# for now assert we can parse all FW or none
|
||||
self.assertEqual(len({b"-" in code for code in codes}), 1,
|
||||
"Not all FW dates are parsable")
|
||||
if ecu[0] not in DATE_FW_ECUS or car_model in NO_DATES_PLATFORMS:
|
||||
self.assertTrue(all({b"-" not in code for code in codes}))
|
||||
else:
|
||||
self.assertTrue(all({b"-" in code for code in codes}))
|
||||
|
||||
if car_model == CAR.HYUNDAI_GENESIS:
|
||||
raise unittest.SkipTest("No part numbers for car model")
|
||||
|
||||
@@ -401,6 +401,8 @@ PART_NUMBER_FW_PATTERN = re.compile(b'(?<=[0-9][.,][0-9]{2} )([0-9]{5}[-/]?[A-Z]
|
||||
# List of ECUs expected to have platform codes, camera and radar should exist on all cars
|
||||
# TODO: use abs, it has the platform code and part number on many platforms
|
||||
PLATFORM_CODE_ECUS = [Ecu.fwdRadar, Ecu.fwdCamera, Ecu.eps]
|
||||
# So far we've only seen dates in fwdCamera
|
||||
DATE_FW_ECUS = [Ecu.fwdCamera]
|
||||
|
||||
FW_QUERY_CONFIG = FwQueryConfig(
|
||||
requests=[
|
||||
|
||||
Reference in New Issue
Block a user