Skip to content

Commit

Permalink
full coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
maxime-desroches committed Oct 3, 2024
1 parent e7a95d8 commit 67cacfa
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 9 deletions.
8 changes: 4 additions & 4 deletions board/safety/safety_chrysler.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,12 @@ static void chrysler_rx_hook(const CANPacket_t *to_push) {
// TODO: use the same message for both
// update vehicle moving
if ((chrysler_platform != CHRYSLER_PACIFICA) && (bus == 0) && (addr == chrysler_addrs->ESP_8)) {
vehicle_moving = ((GET_BYTE(to_push, 4) << 8) + GET_BYTE(to_push, 5)) != 0U;
vehicle_moving = (GET_BYTE(to_push, 4) != 0) || (GET_BYTE(to_push, 5) != 0U);
}
if ((chrysler_platform == CHRYSLER_PACIFICA) && (bus == 0) && (addr == 514)) {
int speed_l = (GET_BYTE(to_push, 0) << 4) + (GET_BYTE(to_push, 1) >> 4);
int speed_r = (GET_BYTE(to_push, 2) << 4) + (GET_BYTE(to_push, 3) >> 4);
vehicle_moving = (speed_l != 0) || (speed_r != 0);
bool speed_l = ((GET_BYTE(to_push, 0) << 4) != 0) || ((GET_BYTE(to_push, 1) >> 4) != 0);
bool speed_r = ((GET_BYTE(to_push, 2) << 4) != 0) || ((GET_BYTE(to_push, 3) >> 4) != 0);
vehicle_moving = speed_l || speed_r;
}

// exit controls on rising edge of gas press
Expand Down
14 changes: 9 additions & 5 deletions tests/safety/test_chrysler.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@ def _speed_msg(self, speed):
values = {"SPEED_LEFT": speed, "SPEED_RIGHT": speed}
return self.packer.make_can_msg_panda("SPEED_1", 0, values)

# test correctness of lshift and rshift operators for setting vehicle_moving
def test_rx_hook_vehicle_moving(self):
self.assertFalse(self.safety.get_vehicle_moving())

Expand Down Expand Up @@ -118,20 +117,25 @@ def setUpClass(cls):
if cls.__name__ == "TestChryslerRamSafetyBase":
raise unittest.SkipTest

# test correctness of lshift and rshift operators for setting vehicle_moving
def test_rx_hook_vehicle_moving(self):
self.assertFalse(self.safety.get_vehicle_moving())

self.assertTrue(self._rx(self._speed_msg(1)))
self.assertTrue(self.safety.get_vehicle_moving())

# test 4th bytes = 0, 5th bytes = 0
self.assertTrue(self._rx(self._speed_msg(0)))
self.assertFalse(self.safety.get_vehicle_moving())

# test 4th bytes = 0, 5th bytes = 128
self.assertTrue(self._rx(self._speed_msg(1)))
self.assertTrue(self.safety.get_vehicle_moving())

# test 4th bytes = 1, 5th bytes = 0
self.assertTrue(self._rx(self._speed_msg(2)))
self.assertTrue(self.safety.get_vehicle_moving())

# test 4th bytes = 1, 5th bytes = 128
self.assertTrue(self._rx(self._speed_msg(3)))
self.assertTrue(self.safety.get_vehicle_moving())

class TestChryslerRamDTSafety(TestChryslerRamSafetyBase):
TX_MSGS = [[0xB1, 2], [0xA6, 0], [0xFA, 0]]
RELAY_MALFUNCTION_ADDRS = {0: (0xA6,)}
Expand Down

0 comments on commit 67cacfa

Please sign in to comment.