version: sunnypilot v2026.002.000 (staging) date: 2026-07-21T07:44:02 master commit: 2c334ede443d7391d27575af8c854a095ba702a8
22 lines
764 B
Python
22 lines
764 B
Python
import unittest
|
|
|
|
from opendbc.car.gm.fingerprints import FINGERPRINTS
|
|
from opendbc.car.gm.values import CAMERA_ACC_CAR, GM_RX_OFFSET
|
|
from opendbc.testing import parameterized
|
|
|
|
CAMERA_DIAGNOSTIC_ADDRESS = 0x24b
|
|
|
|
|
|
class TestGMFingerprint(unittest.TestCase):
|
|
@parameterized("car_model, fingerprints", 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
|