mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-06-24 15:32:07 +08:00
+19
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env python3
|
||||
import unittest
|
||||
|
||||
from openpilot.selfdrive.car.volkswagen.values import SPARE_PART_FW_PATTERN
|
||||
from openpilot.selfdrive.car.volkswagen.fingerprints import FW_VERSIONS
|
||||
|
||||
|
||||
class TestVolkswagenPlatformConfigs(unittest.TestCase):
|
||||
def test_spare_part_fw_pattern(self):
|
||||
# Relied on for determining if a FW is likely VW
|
||||
for platform, ecus in FW_VERSIONS.items():
|
||||
with self.subTest(platform=platform):
|
||||
for fws in ecus.values():
|
||||
for fw in fws:
|
||||
self.assertNotEqual(SPARE_PART_FW_PATTERN.match(fw), None, f"Bad FW: {fw}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
@@ -1,6 +1,7 @@
|
||||
from collections import namedtuple
|
||||
from dataclasses import dataclass, field
|
||||
from enum import Enum, IntFlag
|
||||
import re
|
||||
|
||||
from cereal import car
|
||||
from panda.python import uds
|
||||
@@ -362,6 +363,9 @@ VOLKSWAGEN_VERSION_RESPONSE = bytes([uds.SERVICE_TYPE.READ_DATA_BY_IDENTIFIER +
|
||||
|
||||
VOLKSWAGEN_RX_OFFSET = 0x6a
|
||||
|
||||
# TODO: determine the unknown groups
|
||||
SPARE_PART_FW_PATTERN = re.compile(b'\xf1\x87(?P<gateway>[0-9][0-9A-Z]{2})(?P<unknown>[0-9][0-9A-Z][0-9])(?P<unknown2>[0-9A-Z]{2}[0-9])([A-Z0-9]| )')
|
||||
|
||||
FW_QUERY_CONFIG = FwQueryConfig(
|
||||
# TODO: add back whitelists after we gather enough data
|
||||
requests=[request for bus, obd_multiplexing in [(1, True), (1, False), (0, False)] for request in [
|
||||
|
||||
Reference in New Issue
Block a user