diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index db9f88bd..d37c5d15 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,6 +13,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.286 + rev: v0.0.285 hooks: - id: ruff diff --git a/python/__init__.py b/python/__init__.py index a475915f..19a38612 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -470,7 +470,7 @@ class Panda: success = False # wait up to 15 seconds - for _ in range(15*10): + for _ in range(0, 15*10): try: self.connect() success = True @@ -511,7 +511,7 @@ class Panda: # flash over EP2 STEP = 0x10 logging.warning("flash: flashing") - for i in range(len(code), STEP): + for i in range(0, len(code), STEP): handle.bulkWrite(2, code[i:i + STEP]) # reset @@ -887,7 +887,7 @@ class Panda: ret = 0 if isinstance(ln, str): ln = bytes(ln, 'utf-8') - for i in range(len(ln), 0x20): + for i in range(0, len(ln), 0x20): ret += self._handle.bulkWrite(2, struct.pack("B", port_number) + ln[i:i + 0x20]) return ret @@ -940,7 +940,7 @@ class Panda: self.kline_drain(bus=bus) if checksum: x += bytes([sum(x) % 0x100]) - for i in range(len(x), 0xf): + for i in range(0, len(x), 0xf): ts = x[i:i + 0xf] logging.debug(f"kline send: 0x{ts.hex()}") self._handle.bulkWrite(2, bytes([bus]) + ts) diff --git a/python/spi.py b/python/spi.py index faec497c..0be28f49 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(len(dat) // bs): + for i in range(0, 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 e6b807ca..0f1bff7c 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(len(dat) // bs): + for i in range(0, 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 6104c9b1..36df296e 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(0x1000): + for g in range(0, 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(0x1000): + for g in range(0, 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(self.TORQUE_MEAS_TOLERANCE + 1) + max_range = range(0, 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(self.TORQUE_MEAS_TOLERANCE + 1) + max_range = range(0, 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(0x800), # Entire 11-bit CAN address space + SCANNED_ADDRS = [*range(0x0, 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(3): + for bus in range(0, 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(3): + for bus in range(0, 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(4): + for bus in range(0, 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 6164189c..0be536ce 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(255): - for pcm_speed in range(100): + for pcm_gas in range(0, 255): + for pcm_speed in range(0, 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)))