mirror of https://github.com/commaai/panda.git
bump to python 3.11.4 (#1481)
* bump to python 3.11.4 * Update .pre-commit-config.yaml * lint * import * no | yet * rm ignores * Update tests/libpanda/libpanda_py.py --------- Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
This commit is contained in:
parent
694aae9c26
commit
21843092ff
|
@ -7,7 +7,7 @@ repos:
|
|||
- id: check-merge-conflict
|
||||
- id: check-symlinks
|
||||
- repo: https://github.com/pre-commit/mirrors-mypy
|
||||
rev: v0.910-1
|
||||
rev: v1.4.0
|
||||
hooks:
|
||||
- id: mypy
|
||||
additional_dependencies: ['git+https://github.com/numpy/numpy-stubs', 'types-requests', 'types-atomicwrites',
|
||||
|
|
|
@ -55,8 +55,8 @@ ENV OPENPILOT_REF="e276d2a417a5133fb91c93b2ef30df68a7d5f225"
|
|||
ENV OPENDBC_REF="9ae9fbfe56f79dca66c673a6479751a15ad61780"
|
||||
|
||||
COPY requirements.txt /tmp/
|
||||
RUN pyenv install 3.8.10 && \
|
||||
pyenv global 3.8.10 && \
|
||||
RUN pyenv install 3.11.4 && \
|
||||
pyenv global 3.11.4 && \
|
||||
pyenv rehash && \
|
||||
pip install --no-cache-dir -r /tmp/requirements.txt
|
||||
|
||||
|
|
|
@ -302,7 +302,7 @@ def get_dtc_status_names(status):
|
|||
|
||||
class CanClient():
|
||||
def __init__(self, can_send: Callable[[int, bytes, int], None], can_recv: Callable[[], List[Tuple[int, int, bytes, int]]],
|
||||
tx_addr: int, rx_addr: int, bus: int, sub_addr: int = None, debug: bool = False):
|
||||
tx_addr: int, rx_addr: int, bus: int, sub_addr: Optional[int] = None, debug: bool = False):
|
||||
self.tx = can_send
|
||||
self.rx = can_recv
|
||||
self.tx_addr = tx_addr
|
||||
|
@ -571,7 +571,7 @@ def get_rx_addr_for_tx_addr(tx_addr, rx_offset=0x8):
|
|||
|
||||
|
||||
class UdsClient():
|
||||
def __init__(self, panda, tx_addr: int, rx_addr: int = None, bus: int = 0, sub_addr: int = None, timeout: float = 1,
|
||||
def __init__(self, panda, tx_addr: int, rx_addr: Optional[int] = None, bus: int = 0, sub_addr: Optional[int] = None, timeout: float = 1,
|
||||
debug: bool = False, tx_timeout: float = 1, response_pending_timeout: float = 10):
|
||||
self.bus = bus
|
||||
self.tx_addr = tx_addr
|
||||
|
@ -584,7 +584,7 @@ class UdsClient():
|
|||
self.response_pending_timeout = response_pending_timeout
|
||||
|
||||
# generic uds request
|
||||
def _uds_request(self, service_type: SERVICE_TYPE, subfunction: int = None, data: bytes = None) -> bytes:
|
||||
def _uds_request(self, service_type: SERVICE_TYPE, subfunction: Optional[int] = None, data: Optional[bytes] = None) -> bytes:
|
||||
req = bytes([service_type])
|
||||
if subfunction is not None:
|
||||
req += bytes([subfunction])
|
||||
|
@ -672,7 +672,7 @@ class UdsClient():
|
|||
def tester_present(self, ):
|
||||
self._uds_request(SERVICE_TYPE.TESTER_PRESENT, subfunction=0x00)
|
||||
|
||||
def access_timing_parameter(self, timing_parameter_type: TIMING_PARAMETER_TYPE, parameter_values: bytes = None):
|
||||
def access_timing_parameter(self, timing_parameter_type: TIMING_PARAMETER_TYPE, parameter_values: Optional[bytes] = None):
|
||||
write_custom_values = timing_parameter_type == TIMING_PARAMETER_TYPE.SET_TO_GIVEN_VALUES
|
||||
read_values = (timing_parameter_type == TIMING_PARAMETER_TYPE.READ_CURRENTLY_ACTIVE or
|
||||
timing_parameter_type == TIMING_PARAMETER_TYPE.READ_EXTENDED_SET)
|
||||
|
@ -715,7 +715,7 @@ class UdsClient():
|
|||
"data": resp[2:], # TODO: parse the reset of response
|
||||
}
|
||||
|
||||
def link_control(self, link_control_type: LINK_CONTROL_TYPE, baud_rate_type: BAUD_RATE_TYPE = None):
|
||||
def link_control(self, link_control_type: LINK_CONTROL_TYPE, baud_rate_type: Optional[BAUD_RATE_TYPE] = None):
|
||||
data: Optional[bytes]
|
||||
|
||||
if link_control_type == LINK_CONTROL_TYPE.VERIFY_BAUDRATE_TRANSITION_WITH_FIXED_BAUDRATE:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import os
|
||||
from cffi import FFI
|
||||
from typing import List
|
||||
from typing import Any, List, Protocol
|
||||
|
||||
from panda import LEN_TO_DLC
|
||||
from panda.tests.libpanda.safety_helpers import PandaSafety, setup_safety_helpers
|
||||
|
@ -94,7 +94,14 @@ class CANPacket:
|
|||
addr: int
|
||||
data: List[int]
|
||||
|
||||
class Panda(PandaSafety):
|
||||
class Panda(PandaSafety, Protocol):
|
||||
# CAN
|
||||
tx1_q: Any
|
||||
tx2_q: Any
|
||||
tx3_q: Any
|
||||
txgmlan_q: Any
|
||||
def can_set_checksum(self, p: CANPacket) -> None: ...
|
||||
|
||||
# safety
|
||||
def safety_rx_hook(self, to_send: CANPacket) -> int: ...
|
||||
def safety_tx_hook(self, to_push: CANPacket) -> int: ...
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# panda safety helpers, from safety_helpers.c
|
||||
from typing import Protocol
|
||||
|
||||
def setup_safety_helpers(ffi):
|
||||
ffi.cdef("""
|
||||
|
@ -49,7 +50,7 @@ def setup_safety_helpers(ffi):
|
|||
int get_honda_hw(void);
|
||||
""")
|
||||
|
||||
class PandaSafety:
|
||||
class PandaSafety(Protocol):
|
||||
def set_controls_allowed(self, c: bool) -> None: ...
|
||||
def get_controls_allowed(self) -> bool: ...
|
||||
def get_longitudinal_allowed(self) -> bool: ...
|
||||
|
|
|
@ -156,4 +156,4 @@ class TestPandaComms(unittest.TestCase):
|
|||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
unittest.main()
|
||||
|
|
Loading…
Reference in New Issue