diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a44c089c..af363311 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -15,6 +15,6 @@ repos: additional_dependencies: ['git+https://github.com/numpy/numpy-stubs', 'types-requests', 'types-atomicwrites', 'types-pycurl'] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.0.285 + rev: v0.0.287 hooks: - id: ruff diff --git a/python/__init__.py b/python/__init__.py index e0c2007b..91523e8f 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -458,7 +458,7 @@ class Panda: success = False # wait up to 15 seconds - for _ in range(0, 15*10): + for _ in range(15*10): try: self.connect() success = True diff --git a/python/spi.py b/python/spi.py index 0be28f49..faec497c 100644 --- a/python/spi.py +++ b/python/spi.py @@ -421,7 +421,7 @@ class STBootloaderSPIHandle(BaseSTBootloaderHandle): def program(self, address, dat): bs = 256 # max block size for writing to flash over SPI dat += b"\xFF" * ((bs - len(dat)) % bs) - for i in range(0, len(dat) // bs): + for i in range(len(dat) // bs): block = dat[i * bs:(i + 1) * bs] self._cmd(0x31, data=[ struct.pack('>I', address + i*bs), diff --git a/python/usb.py b/python/usb.py index 0f1bff7c..e6b807ca 100644 --- a/python/usb.py +++ b/python/usb.py @@ -78,7 +78,7 @@ class STBootloaderUSBHandle(BaseSTBootloaderHandle): # Program bs = min(len(dat), self._mcu_type.config.block_size) dat += b"\xFF" * ((bs - len(dat)) % bs) - for i in range(0, len(dat) // bs): + for i in range(len(dat) // bs): ldat = dat[i * bs:(i + 1) * bs] print("programming %d with length %d" % (i, len(ldat))) self._libusb_handle.controlWrite(0x21, self.DFU_DNLOAD, 2 + i, 0, ldat) diff --git a/tests/safety/common.py b/tests/safety/common.py index b5a343e9..f0d11b48 100644 --- a/tests/safety/common.py +++ b/tests/safety/common.py @@ -126,7 +126,7 @@ class InterceptorSafetyTest(PandaSafetyTestBase): self.safety.set_gas_interceptor_detected(False) def test_disengage_on_gas_interceptor(self): - for g in range(0, 0x1000): + for g in range(0x1000): self._rx(self._interceptor_user_gas(0)) self.safety.set_controls_allowed(True) self._rx(self._interceptor_user_gas(g)) @@ -138,7 +138,7 @@ class InterceptorSafetyTest(PandaSafetyTestBase): def test_alternative_experience_no_disengage_on_gas_interceptor(self): self.safety.set_controls_allowed(True) self.safety.set_alternative_experience(ALTERNATIVE_EXPERIENCE.DISABLE_DISENGAGE_ON_GAS) - for g in range(0, 0x1000): + for g in range(0x1000): self._rx(self._interceptor_user_gas(g)) # Test we allow lateral, but not longitudinal self.assertTrue(self.safety.get_controls_allowed()) @@ -576,13 +576,13 @@ class MotorTorqueSteeringSafetyTest(TorqueSteeringSafetyTestBase, abc.ABC): self.assertTrue(self.safety.get_torque_meas_min() in min_range) self.assertTrue(self.safety.get_torque_meas_max() in max_range) - max_range = range(0, self.TORQUE_MEAS_TOLERANCE + 1) + max_range = range(self.TORQUE_MEAS_TOLERANCE + 1) min_range = range(-(trq + self.TORQUE_MEAS_TOLERANCE), -trq + 1) self._rx(self._torque_meas_msg(0)) self.assertTrue(self.safety.get_torque_meas_min() in min_range) self.assertTrue(self.safety.get_torque_meas_max() in max_range) - max_range = range(0, self.TORQUE_MEAS_TOLERANCE + 1) + max_range = range(self.TORQUE_MEAS_TOLERANCE + 1) min_range = range(-self.TORQUE_MEAS_TOLERANCE, 0 + 1) self._rx(self._torque_meas_msg(0)) self.assertTrue(self.safety.get_torque_meas_min() in min_range) @@ -733,7 +733,7 @@ class AngleSteeringSafetyTest(MeasurementSafetyTest): @add_regen_tests class PandaSafetyTest(PandaSafetyTestBase): TX_MSGS: Optional[List[List[int]]] = None - SCANNED_ADDRS = [*range(0x0, 0x800), # Entire 11-bit CAN address space + SCANNED_ADDRS = [*range(0x800), # Entire 11-bit CAN address space *range(0x18DA00F1, 0x18DB00F1, 0x100), # 29-bit UDS physical addressing *range(0x18DB00F1, 0x18DC00F1, 0x100), # 29-bit UDS functional addressing *range(0x3300, 0x3400), # Honda @@ -791,14 +791,14 @@ class PandaSafetyTest(PandaSafetyTestBase): self.assertFalse(self.safety.get_relay_malfunction()) self._rx(make_msg(self.RELAY_MALFUNCTION_BUS, self.RELAY_MALFUNCTION_ADDR, 8)) self.assertTrue(self.safety.get_relay_malfunction()) - for bus in range(0, 3): + for bus in range(3): for addr in self.SCANNED_ADDRS: self.assertEqual(-1, self._tx(make_msg(bus, addr, 8))) self.assertEqual(-1, self.safety.safety_fwd_hook(bus, addr)) def test_fwd_hook(self): # some safety modes don't forward anything, while others blacklist msgs - for bus in range(0, 3): + for bus in range(3): for addr in self.SCANNED_ADDRS: # assume len 8 fwd_bus = self.FWD_BUS_LOOKUP.get(bus, -1) @@ -807,7 +807,7 @@ class PandaSafetyTest(PandaSafetyTestBase): self.assertEqual(fwd_bus, self.safety.safety_fwd_hook(bus, addr), f"{addr=:#x} from {bus=} to {fwd_bus=}") def test_spam_can_buses(self): - for bus in range(0, 4): + for bus in range(4): for addr in self.SCANNED_ADDRS: if all(addr != m[0] or bus != m[1] for m in self.TX_MSGS): self.assertFalse(self._tx(make_msg(bus, addr, 8)), f"allowed TX {addr=} {bus=}") diff --git a/tests/safety/test_honda.py b/tests/safety/test_honda.py index 0be536ce..6164189c 100755 --- a/tests/safety/test_honda.py +++ b/tests/safety/test_honda.py @@ -300,8 +300,8 @@ class TestHondaNidecSafetyBase(HondaBase): def test_acc_hud_safety_check(self): for controls_allowed in [True, False]: self.safety.set_controls_allowed(controls_allowed) - for pcm_gas in range(0, 255): - for pcm_speed in range(0, 100): + for pcm_gas in range(255): + for pcm_speed in range(100): send = (controls_allowed and pcm_gas <= self.MAX_GAS) or (pcm_gas == 0 and pcm_speed == 0) self.assertEqual(send, self._tx(self._send_acc_hud_msg(pcm_gas, pcm_speed)))