Files
opendbc-meb/opendbc/safety/tests/test_volkswagen_meb.py
Daniel Koepping 17286eba40 Add VW MEB can ignition (#3387)
* move can ignition to opendbc

* more tests

* init counters for deterministic test

* Revert "init counters for deterministic test"

This reverts commit d2abb4a9a6c3fde3bc4f4c4a396f62f4fab42de1.

* rm

* use getter/setter

* clean tests

* fix test

* add loop

* split into brand tests

* add vw meb can ignition

* smol

* bump
2026-05-13 15:04:20 -07:00

41 lines
1.3 KiB
Python

#!/usr/bin/env python3
import unittest
from opendbc.safety.tests.libsafety import libsafety_py
from opendbc.safety.tests.common import CANPackerSafety
class TestVolkswagenMebIgnition(unittest.TestCase):
TX_MSGS: list = []
def setUp(self):
self.safety = libsafety_py.libsafety
self.safety.init_tests()
self.packer = CANPackerSafety("vw_meb")
def _msg(self, counter, ign):
return self.packer.make_can_msg_safety("Klemmen_Status_01", 0,
{"Klemmen_Status_01_BZ": counter,
"ZAS_Kl_15": ign})
# ZAS_Kl_15=1
def test_ignition_on(self):
for i in range(16):
self.safety.init_tests()
self.safety.ignition_can_hook(self._msg(i, 1))
self.assertFalse(self.safety.get_ignition_can())
self.safety.ignition_can_hook(self._msg((i + 1) % 16, 1))
self.assertTrue(self.safety.get_ignition_can())
def test_ignition_off(self):
self.safety.ignition_can_hook(self._msg(0, 1))
self.safety.ignition_can_hook(self._msg(1, 1))
self.assertTrue(self.safety.get_ignition_can())
self.safety.ignition_can_hook(self._msg(2, 0))
self.safety.ignition_can_hook(self._msg(3, 0))
self.assertFalse(self.safety.get_ignition_can())
if __name__ == "__main__":
unittest.main()