diff --git a/board/main.c b/board/main.c index fefa67f..9f7a337 100644 --- a/board/main.c +++ b/board/main.c @@ -477,14 +477,6 @@ int usb_cb_control_msg(USB_Setup_TypeDef *setup, uint8_t *resp, bool hardwired) can_init(CAN_NUM_FROM_BUS_NUM(setup->b.wValue.w)); } break; - // **** 0xdf: set long controls allowed - case 0xdf: - #ifdef ALLOW_DEBUG - if (hardwired) { - long_controls_allowed = setup->b.wValue.w & 1U; - } - #endif - break; // **** 0xe0: uart read case 0xe0: ur = get_ring_by_number(setup->b.wValue.w); diff --git a/board/safety/safety_gm.h b/board/safety/safety_gm.h index 84f64ec..67d0f9e 100644 --- a/board/safety/safety_gm.h +++ b/board/safety/safety_gm.h @@ -82,7 +82,7 @@ static void gm_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) { // exit controls on rising edge of gas press if (addr == 417) { int gas = GET_BYTE(to_push, 6); - if (gas && !gm_gas_prev && long_controls_allowed) { + if (gas && !gm_gas_prev) { controls_allowed = 0; } gm_gas_prev = gas; @@ -134,7 +134,7 @@ static int gm_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) { if (addr == 789) { int brake = ((GET_BYTE(to_send, 0) & 0xFU) << 8) + GET_BYTE(to_send, 1); brake = (0x1000 - brake) & 0xFFF; - if (!current_controls_allowed || !long_controls_allowed) { + if (!current_controls_allowed) { if (brake != 0) { tx = 0; } @@ -197,7 +197,7 @@ static int gm_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) { int gas_regen = ((GET_BYTE(to_send, 2) & 0x7FU) << 5) + ((GET_BYTE(to_send, 3) & 0xF8U) >> 3); // Disabled message is !engaged with gas // value that corresponds to max regen. - if (!current_controls_allowed || !long_controls_allowed) { + if (!current_controls_allowed) { bool apply = GET_BYTE(to_send, 0) & 1U; if (apply || (gas_regen != GM_MAX_REGEN)) { tx = 0; diff --git a/board/safety/safety_honda.h b/board/safety/safety_honda.h index 783b2e1..aa45223 100644 --- a/board/safety/safety_honda.h +++ b/board/safety/safety_honda.h @@ -69,8 +69,7 @@ static void honda_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) { gas_interceptor_detected = 1; int gas_interceptor = GET_INTERCEPTOR(to_push); if ((gas_interceptor > HONDA_GAS_INTERCEPTOR_THRESHOLD) && - (gas_interceptor_prev <= HONDA_GAS_INTERCEPTOR_THRESHOLD) && - long_controls_allowed) { + (gas_interceptor_prev <= HONDA_GAS_INTERCEPTOR_THRESHOLD)) { controls_allowed = 0; } gas_interceptor_prev = gas_interceptor; @@ -80,7 +79,7 @@ static void honda_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) { if (!gas_interceptor_detected) { if (addr == 0x17C) { int gas = GET_BYTE(to_push, 0); - if (gas && !(honda_gas_prev) && long_controls_allowed) { + if (gas && !honda_gas_prev) { controls_allowed = 0; } honda_gas_prev = gas; @@ -149,7 +148,7 @@ static int honda_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) { // BRAKE: safety check if ((addr == 0x1FA) && (bus == 0)) { honda_brake = (GET_BYTE(to_send, 0) << 2) + ((GET_BYTE(to_send, 1) >> 6) & 0x3); - if (!current_controls_allowed || !long_controls_allowed) { + if (!current_controls_allowed) { if (honda_brake != 0) { tx = 0; } @@ -174,7 +173,7 @@ static int honda_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) { // GAS: safety check if (addr == 0x200) { - if (!current_controls_allowed || !long_controls_allowed) { + if (!current_controls_allowed) { if (GET_BYTE(to_send, 0) || GET_BYTE(to_send, 1)) { tx = 0; } @@ -229,9 +228,7 @@ static int honda_nidec_fwd_hook(int bus_num, CAN_FIFOMailBox_TypeDef *to_fwd) { bool is_lkas_msg = (addr == 0xE4) || (addr == 0x194) || (addr == 0x33D); bool is_acc_hud_msg = (addr == 0x30C) || (addr == 0x39F); bool is_brake_msg = addr == 0x1FA; - bool block_fwd = is_lkas_msg || - (is_acc_hud_msg && long_controls_allowed) || - (is_brake_msg && long_controls_allowed && !honda_fwd_brake); + bool block_fwd = is_lkas_msg || is_acc_hud_msg || (is_brake_msg && !honda_fwd_brake); if (!block_fwd) { bus_fwd = 0; } diff --git a/board/safety/safety_toyota.h b/board/safety/safety_toyota.h index 28d2028..01ad330 100644 --- a/board/safety/safety_toyota.h +++ b/board/safety/safety_toyota.h @@ -75,8 +75,7 @@ static void toyota_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) { gas_interceptor_detected = 1; int gas_interceptor = GET_INTERCEPTOR(to_push); if ((gas_interceptor > TOYOTA_GAS_INTERCEPTOR_THRESHOLD) && - (gas_interceptor_prev <= TOYOTA_GAS_INTERCEPTOR_THRESHOLD) && - long_controls_allowed) { + (gas_interceptor_prev <= TOYOTA_GAS_INTERCEPTOR_THRESHOLD)) { controls_allowed = 0; } gas_interceptor_prev = gas_interceptor; @@ -85,7 +84,7 @@ static void toyota_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) { // exit controls on rising edge of gas press if (addr == 0x2C1) { int gas = GET_BYTE(to_push, 6) & 0xFF; - if ((gas > 0) && (toyota_gas_prev == 0) && !gas_interceptor_detected && long_controls_allowed) { + if ((gas > 0) && (toyota_gas_prev == 0) && !gas_interceptor_detected) { controls_allowed = 0; } toyota_gas_prev = gas; @@ -116,7 +115,7 @@ static int toyota_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) { // GAS PEDAL: safety check if (addr == 0x200) { - if (!controls_allowed || !long_controls_allowed) { + if (!controls_allowed) { if (GET_BYTE(to_send, 0) || GET_BYTE(to_send, 1)) { tx = 0; } @@ -127,7 +126,7 @@ static int toyota_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) { if (addr == 0x343) { int desired_accel = (GET_BYTE(to_send, 0) << 8) | GET_BYTE(to_send, 1); desired_accel = to_signed(desired_accel, 16); - if (!controls_allowed || !long_controls_allowed) { + if (!controls_allowed) { if (desired_accel != 0) { tx = 0; } @@ -210,7 +209,7 @@ static int toyota_fwd_hook(int bus_num, CAN_FIFOMailBox_TypeDef *to_fwd) { int is_lkas_msg = ((addr == 0x2E4) || (addr == 0x412) || (addr == 0x191)); // in TSS2 the camera does ACC as well, so filter 0x343 int is_acc_msg = (addr == 0x343); - int block_msg = is_lkas_msg || (is_acc_msg && long_controls_allowed); + int block_msg = is_lkas_msg || is_acc_msg; if (!block_msg) { bus_fwd = 0; } diff --git a/board/safety/safety_volkswagen.h b/board/safety/safety_volkswagen.h index 016e015..cf602de 100644 --- a/board/safety/safety_volkswagen.h +++ b/board/safety/safety_volkswagen.h @@ -50,7 +50,7 @@ static void volkswagen_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) { // exit controls on rising edge of gas press. Bits [12-20) if (addr == MSG_MOTOR_20) { int gas = (GET_BYTES_04(to_push) >> 12) & 0xFF; - if ((gas > 0) && (volkswagen_gas_prev == 0) && long_controls_allowed) { + if ((gas > 0) && (volkswagen_gas_prev == 0)) { controls_allowed = 0; } volkswagen_gas_prev = gas; diff --git a/board/safety_declarations.h b/board/safety_declarations.h index c59bd65..4a7a39d 100644 --- a/board/safety_declarations.h +++ b/board/safety_declarations.h @@ -52,9 +52,6 @@ bool relay_malfunction = false; bool gas_interceptor_detected = false; int gas_interceptor_prev = 0; -// This is set by USB command 0xdf -bool long_controls_allowed = true; - // time since safety mode has been changed uint32_t safety_mode_cnt = 0U; // allow 1s of transition timeout after relay changes state before assessing malfunctioning diff --git a/tests/safety/libpandasafety_py.py b/tests/safety/libpandasafety_py.py index 5b1bd28..1449da6 100644 --- a/tests/safety/libpandasafety_py.py +++ b/tests/safety/libpandasafety_py.py @@ -36,8 +36,6 @@ void set_controls_allowed(bool c); bool get_controls_allowed(void); void set_relay_malfunction(bool c); bool get_relay_malfunction(void); -void set_long_controls_allowed(bool c); -bool get_long_controls_allowed(void); void set_gas_interceptor_detected(bool c); bool get_gas_interceptor_detetcted(void); int get_gas_interceptor_prev(void); diff --git a/tests/safety/test.c b/tests/safety/test.c index de12a4d..e958000 100644 --- a/tests/safety/test.c +++ b/tests/safety/test.c @@ -86,10 +86,6 @@ void set_relay_malfunction(bool c){ relay_malfunction = c; } -void set_long_controls_allowed(bool c){ - long_controls_allowed = c; -} - void set_gas_interceptor_detected(bool c){ gas_interceptor_detected = c; } @@ -106,10 +102,6 @@ bool get_relay_malfunction(void){ return relay_malfunction; } -bool get_long_controls_allowed(void){ - return long_controls_allowed; -} - bool get_gas_interceptor_detected(void){ return gas_interceptor_detected; } diff --git a/tests/safety/test_gm.py b/tests/safety/test_gm.py index 99c1575..06872de 100644 --- a/tests/safety/test_gm.py +++ b/tests/safety/test_gm.py @@ -141,15 +141,10 @@ class TestGmSafety(unittest.TestCase): self.safety.safety_rx_hook(self._brake_msg(False)) def test_disengage_on_gas(self): - for long_controls_allowed in [0, 1]: - self.safety.set_long_controls_allowed(long_controls_allowed) - self.safety.set_controls_allowed(1) - self.safety.safety_rx_hook(self._gas_msg(True)) - if long_controls_allowed: - self.assertFalse(self.safety.get_controls_allowed()) - else: - self.assertTrue(self.safety.get_controls_allowed()) - self.safety.safety_rx_hook(self._gas_msg(False)) + self.safety.set_controls_allowed(1) + self.safety.safety_rx_hook(self._gas_msg(True)) + self.assertFalse(self.safety.get_controls_allowed()) + self.safety.safety_rx_hook(self._gas_msg(False)) def test_allow_engage_with_gas_pressed(self): self.safety.safety_rx_hook(self._gas_msg(True)) @@ -159,28 +154,22 @@ class TestGmSafety(unittest.TestCase): self.safety.safety_rx_hook(self._gas_msg(False)) def test_brake_safety_check(self): - for long_controls_allowed in [0, 1]: - self.safety.set_long_controls_allowed(long_controls_allowed) - for enabled in [0, 1]: - for b in range(0, 500): - self.safety.set_controls_allowed(enabled) - if abs(b) > MAX_BRAKE or ((not enabled or not long_controls_allowed) and b != 0): - self.assertFalse(self.safety.safety_tx_hook(self._send_brake_msg(b))) - else: - self.assertTrue(self.safety.safety_tx_hook(self._send_brake_msg(b))) - self.safety.set_long_controls_allowed(True) + for enabled in [0, 1]: + for b in range(0, 500): + self.safety.set_controls_allowed(enabled) + if abs(b) > MAX_BRAKE or (not enabled and b != 0): + self.assertFalse(self.safety.safety_tx_hook(self._send_brake_msg(b))) + else: + self.assertTrue(self.safety.safety_tx_hook(self._send_brake_msg(b))) def test_gas_safety_check(self): - for long_controls_allowed in [0, 1]: - self.safety.set_long_controls_allowed(long_controls_allowed) - for enabled in [0, 1]: - for g in range(0, 2**12-1): - self.safety.set_controls_allowed(enabled) - if abs(g) > MAX_GAS or ((not enabled or not long_controls_allowed) and g != MAX_REGEN): - self.assertFalse(self.safety.safety_tx_hook(self._send_gas_msg(g))) - else: - self.assertTrue(self.safety.safety_tx_hook(self._send_gas_msg(g))) - self.safety.set_long_controls_allowed(True) + for enabled in [0, 1]: + for g in range(0, 2**12-1): + self.safety.set_controls_allowed(enabled) + if abs(g) > MAX_GAS or (not enabled and g != MAX_REGEN): + self.assertFalse(self.safety.safety_tx_hook(self._send_gas_msg(g))) + else: + self.assertTrue(self.safety.safety_tx_hook(self._send_gas_msg(g))) def test_steer_safety_check(self): for enabled in [0, 1]: diff --git a/tests/safety/test_honda.py b/tests/safety/test_honda.py index fab2c99..8ce7e27 100755 --- a/tests/safety/test_honda.py +++ b/tests/safety/test_honda.py @@ -151,16 +151,10 @@ class TestHondaSafety(unittest.TestCase): self.safety.set_gas_interceptor_detected(False) def test_disengage_on_gas(self): - for long_controls_allowed in [0, 1]: - self.safety.set_long_controls_allowed(long_controls_allowed) - self.safety.safety_rx_hook(self._gas_msg(0)) - self.safety.set_controls_allowed(1) - self.safety.safety_rx_hook(self._gas_msg(1)) - if long_controls_allowed: - self.assertFalse(self.safety.get_controls_allowed()) - else: - self.assertTrue(self.safety.get_controls_allowed()) - self.safety.set_long_controls_allowed(True) + self.safety.safety_rx_hook(self._gas_msg(0)) + self.safety.set_controls_allowed(1) + self.safety.safety_rx_hook(self._gas_msg(1)) + self.assertFalse(self.safety.get_controls_allowed()) def test_allow_engage_with_gas_pressed(self): self.safety.safety_rx_hook(self._gas_msg(1)) @@ -169,17 +163,14 @@ class TestHondaSafety(unittest.TestCase): self.assertTrue(self.safety.get_controls_allowed()) def test_disengage_on_gas_interceptor(self): - for long_controls_allowed in [0, 1]: - for g in range(0, 0x1000): - self.safety.set_long_controls_allowed(long_controls_allowed) - self.safety.safety_rx_hook(self._send_interceptor_msg(0, 0x201)) - self.safety.set_controls_allowed(True) - self.safety.safety_rx_hook(self._send_interceptor_msg(g, 0x201)) - remain_enabled = (not long_controls_allowed or g <= INTERCEPTOR_THRESHOLD) - self.assertEqual(remain_enabled, self.safety.get_controls_allowed()) - self.safety.safety_rx_hook(self._send_interceptor_msg(0, 0x201)) - self.safety.set_gas_interceptor_detected(False) - self.safety.set_long_controls_allowed(True) + for g in range(0, 0x1000): + self.safety.safety_rx_hook(self._send_interceptor_msg(0, 0x201)) + self.safety.set_controls_allowed(True) + self.safety.safety_rx_hook(self._send_interceptor_msg(g, 0x201)) + remain_enabled = g <= INTERCEPTOR_THRESHOLD + self.assertEqual(remain_enabled, self.safety.get_controls_allowed()) + self.safety.safety_rx_hook(self._send_interceptor_msg(0, 0x201)) + self.safety.set_gas_interceptor_detected(False) def test_allow_engage_with_gas_interceptor_pressed(self): self.safety.safety_rx_hook(self._send_interceptor_msg(0x1000, 0x201)) @@ -192,33 +183,27 @@ class TestHondaSafety(unittest.TestCase): def test_brake_safety_check(self): for fwd_brake in [False, True]: self.safety.set_honda_fwd_brake(fwd_brake) - for long_controls_allowed in [0, 1]: - self.safety.set_long_controls_allowed(long_controls_allowed) - for brake in np.arange(0, MAX_BRAKE + 10, 1): - for controls_allowed in [True, False]: - self.safety.set_controls_allowed(controls_allowed) - if fwd_brake: - send = False # block openpilot brake msg when fwd'ing stock msg - elif controls_allowed and long_controls_allowed: - send = MAX_BRAKE >= brake >= 0 - else: - send = brake == 0 - self.assertEqual(send, self.safety.safety_tx_hook(self._send_brake_msg(brake))) - self.safety.set_long_controls_allowed(True) + for brake in np.arange(0, MAX_BRAKE + 10, 1): + for controls_allowed in [True, False]: + self.safety.set_controls_allowed(controls_allowed) + if fwd_brake: + send = False # block openpilot brake msg when fwd'ing stock msg + elif controls_allowed: + send = MAX_BRAKE >= brake >= 0 + else: + send = brake == 0 + self.assertEqual(send, self.safety.safety_tx_hook(self._send_brake_msg(brake))) self.safety.set_honda_fwd_brake(False) def test_gas_interceptor_safety_check(self): - for long_controls_allowed in [0, 1]: - self.safety.set_long_controls_allowed(long_controls_allowed) - for gas in np.arange(0, 4000, 100): - for controls_allowed in [True, False]: - self.safety.set_controls_allowed(controls_allowed) - if controls_allowed and long_controls_allowed: - send = True - else: - send = gas == 0 - self.assertEqual(send, self.safety.safety_tx_hook(self._send_interceptor_msg(gas, 0x200))) - self.safety.set_long_controls_allowed(True) + for gas in np.arange(0, 4000, 100): + for controls_allowed in [True, False]: + self.safety.set_controls_allowed(controls_allowed) + if controls_allowed: + send = True + else: + send = gas == 0 + self.assertEqual(send, self.safety.safety_tx_hook(self._send_interceptor_msg(gas, 0x200))) def test_steer_safety_check(self): self.safety.set_controls_allowed(0) @@ -242,36 +227,30 @@ class TestHondaSafety(unittest.TestCase): def test_fwd_hook(self): buss = list(range(0x0, 0x3)) msgs = list(range(0x1, 0x800)) - long_controls_allowed = [0, 1] fwd_brake = [False, True] self.safety.set_honda_bosch_hardware(0) for f in fwd_brake: self.safety.set_honda_fwd_brake(f) - for l in long_controls_allowed: - self.safety.set_long_controls_allowed(l) - blocked_msgs = [0xE4, 0x194, 0x33D] - if l: - blocked_msgs += [0x30C, 0x39F] - if not f: - blocked_msgs += [0x1FA] - for b in buss: - for m in msgs: - if b == 0: - fwd_bus = 2 - elif b == 1: - fwd_bus = -1 - elif b == 2: - fwd_bus = -1 if m in blocked_msgs else 0 + blocked_msgs = [0xE4, 0x194, 0x33D] + blocked_msgs += [0x30C, 0x39F] + if not f: + blocked_msgs += [0x1FA] + for b in buss: + for m in msgs: + if b == 0: + fwd_bus = 2 + elif b == 1: + fwd_bus = -1 + elif b == 2: + fwd_bus = -1 if m in blocked_msgs else 0 - # assume len 8 - self.assertEqual(fwd_bus, self.safety.safety_fwd_hook(b, make_msg(b, m, 8))) + # assume len 8 + self.assertEqual(fwd_bus, self.safety.safety_fwd_hook(b, make_msg(b, m, 8))) - self.safety.set_long_controls_allowed(True) self.safety.set_honda_fwd_brake(False) - if __name__ == "__main__": unittest.main() diff --git a/tests/safety/test_toyota.py b/tests/safety/test_toyota.py index 58e32f0..c322f3e 100644 --- a/tests/safety/test_toyota.py +++ b/tests/safety/test_toyota.py @@ -120,16 +120,10 @@ class TestToyotaSafety(unittest.TestCase): self.safety.set_gas_interceptor_detected(False) def test_disengage_on_gas(self): - for long_controls_allowed in [0, 1]: - self.safety.set_long_controls_allowed(long_controls_allowed) - self.safety.safety_rx_hook(self._send_gas_msg(0)) - self.safety.set_controls_allowed(True) - self.safety.safety_rx_hook(self._send_gas_msg(1)) - if long_controls_allowed: - self.assertFalse(self.safety.get_controls_allowed()) - else: - self.assertTrue(self.safety.get_controls_allowed()) - self.safety.set_long_controls_allowed(True) + self.safety.safety_rx_hook(self._send_gas_msg(0)) + self.safety.set_controls_allowed(True) + self.safety.safety_rx_hook(self._send_gas_msg(1)) + self.assertFalse(self.safety.get_controls_allowed()) def test_allow_engage_with_gas_pressed(self): self.safety.safety_rx_hook(self._send_gas_msg(1)) @@ -140,17 +134,14 @@ class TestToyotaSafety(unittest.TestCase): self.assertTrue(self.safety.get_controls_allowed()) def test_disengage_on_gas_interceptor(self): - for long_controls_allowed in [0, 1]: - for g in range(0, 0x1000): - self.safety.set_long_controls_allowed(long_controls_allowed) - self.safety.safety_rx_hook(self._send_interceptor_msg(0, 0x201)) - self.safety.set_controls_allowed(True) - self.safety.safety_rx_hook(self._send_interceptor_msg(g, 0x201)) - remain_enabled = (not long_controls_allowed or g <= INTERCEPTOR_THRESHOLD) - self.assertEqual(remain_enabled, self.safety.get_controls_allowed()) - self.safety.safety_rx_hook(self._send_interceptor_msg(0, 0x201)) - self.safety.set_gas_interceptor_detected(False) - self.safety.set_long_controls_allowed(True) + for g in range(0, 0x1000): + self.safety.safety_rx_hook(self._send_interceptor_msg(0, 0x201)) + self.safety.set_controls_allowed(True) + self.safety.safety_rx_hook(self._send_interceptor_msg(g, 0x201)) + remain_enabled = g <= INTERCEPTOR_THRESHOLD + self.assertEqual(remain_enabled, self.safety.get_controls_allowed()) + self.safety.safety_rx_hook(self._send_interceptor_msg(0, 0x201)) + self.safety.set_gas_interceptor_detected(False) def test_allow_engage_with_gas_interceptor_pressed(self): self.safety.safety_rx_hook(self._send_interceptor_msg(0x1000, 0x201)) @@ -161,17 +152,14 @@ class TestToyotaSafety(unittest.TestCase): self.safety.set_gas_interceptor_detected(False) def test_accel_actuation_limits(self): - for long_controls_allowed in [0, 1]: - self.safety.set_long_controls_allowed(long_controls_allowed) - for accel in np.arange(MIN_ACCEL - 1000, MAX_ACCEL + 1000, 100): - for controls_allowed in [True, False]: - self.safety.set_controls_allowed(controls_allowed) - if controls_allowed and long_controls_allowed: - send = MIN_ACCEL <= accel <= MAX_ACCEL - else: - send = accel == 0 - self.assertEqual(send, self.safety.safety_tx_hook(self._accel_msg(accel))) - self.safety.set_long_controls_allowed(True) + for accel in np.arange(MIN_ACCEL - 1000, MAX_ACCEL + 1000, 100): + for controls_allowed in [True, False]: + self.safety.set_controls_allowed(controls_allowed) + if controls_allowed: + send = MIN_ACCEL <= accel <= MAX_ACCEL + else: + send = accel == 0 + self.assertEqual(send, self.safety.safety_tx_hook(self._accel_msg(accel))) def test_torque_absolute_limits(self): for controls_allowed in [True, False]: @@ -275,26 +263,21 @@ class TestToyotaSafety(unittest.TestCase): buss = list(range(0x0, 0x3)) msgs = list(range(0x1, 0x800)) - long_controls_allowed = [0, 1] - for lca in long_controls_allowed: - self.safety.set_long_controls_allowed(lca) - blocked_msgs = [0x2E4, 0x412, 0x191] - if lca: - blocked_msgs += [0x343] - for b in buss: - for m in msgs: - if b == 0: - fwd_bus = 2 - elif b == 1: - fwd_bus = -1 - elif b == 2: - fwd_bus = -1 if m in blocked_msgs else 0 + blocked_msgs = [0x2E4, 0x412, 0x191] + blocked_msgs += [0x343] + for b in buss: + for m in msgs: + if b == 0: + fwd_bus = 2 + elif b == 1: + fwd_bus = -1 + elif b == 2: + fwd_bus = -1 if m in blocked_msgs else 0 - # assume len 8 - self.assertEqual(fwd_bus, self.safety.safety_fwd_hook(b, make_msg(b, m, 8))) + # assume len 8 + self.assertEqual(fwd_bus, self.safety.safety_fwd_hook(b, make_msg(b, m, 8))) - self.safety.set_long_controls_allowed(True) if __name__ == "__main__": diff --git a/tests/safety/test_volkswagen.py b/tests/safety/test_volkswagen.py index 99d0916..db58cdc 100644 --- a/tests/safety/test_volkswagen.py +++ b/tests/safety/test_volkswagen.py @@ -87,16 +87,10 @@ class TestVolkswagenSafety(unittest.TestCase): self.assertFalse(self.safety.get_controls_allowed()) def test_disengage_on_gas(self): - for long_controls_allowed in [0, 1]: - self.safety.set_long_controls_allowed(long_controls_allowed) - self.safety.safety_rx_hook(self._gas_msg(0)) - self.safety.set_controls_allowed(True) - self.safety.safety_rx_hook(self._gas_msg(1)) - if long_controls_allowed: - self.assertFalse(self.safety.get_controls_allowed()) - else: - self.assertTrue(self.safety.get_controls_allowed()) - self.safety.set_long_controls_allowed(True) + self.safety.safety_rx_hook(self._gas_msg(0)) + self.safety.set_controls_allowed(True) + self.safety.safety_rx_hook(self._gas_msg(1)) + self.assertFalse(self.safety.get_controls_allowed()) def test_allow_engage_with_gas_pressed(self): self.safety.safety_rx_hook(self._gas_msg(1))