2024-06-11 01:36:40 +00:00
|
|
|
from parameterized import parameterized
|
|
|
|
|
2025-01-29 09:09:58 +00:00
|
|
|
from opendbc.car.gm.fingerprints import FINGERPRINTS
|
|
|
|
from opendbc.car.gm.values import CAMERA_ACC_CAR, GM_RX_OFFSET
|
2024-06-11 01:36:40 +00:00
|
|
|
|
|
|
|
CAMERA_DIAGNOSTIC_ADDRESS = 0x24b
|
|
|
|
|
|
|
|
|
|
|
|
class TestGMFingerprint:
|
|
|
|
@parameterized.expand(FINGERPRINTS.items())
|
|
|
|
def test_can_fingerprints(self, car_model, fingerprints):
|
|
|
|
assert len(fingerprints) > 0
|
|
|
|
|
|
|
|
assert all(len(finger) for finger in fingerprints)
|
|
|
|
|
|
|
|
# The camera can sometimes be communicating on startup
|
|
|
|
if car_model in CAMERA_ACC_CAR:
|
|
|
|
for finger in fingerprints:
|
|
|
|
for required_addr in (CAMERA_DIAGNOSTIC_ADDRESS, CAMERA_DIAGNOSTIC_ADDRESS + GM_RX_OFFSET):
|
|
|
|
assert finger.get(required_addr) == 8, required_addr
|