diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9f1ba1ab97..d3e309eba9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -39,10 +39,12 @@ repos: entry: mypy language: system types: [python] - args: ['--explicit-package-bases', '--local-partial-types'] + args: + - --local-partial-types + - --explicit-package-bases exclude: '^(third_party/)|(cereal/)|(opendbc/)|(panda/)|(rednose/)|(rednose_repo/)|(tinygrad/)|(tinygrad_repo/)|(teleoprtc/)|(teleoprtc_repo/)|(xx/)' - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.6 + rev: v0.1.9 hooks: - id: ruff exclude: '^(third_party/)|(cereal/)|(panda/)|(rednose/)|(rednose_repo/)|(tinygrad/)|(tinygrad_repo/)|(teleoprtc/)|(teleoprtc_repo/)' @@ -87,7 +89,7 @@ repos: args: - --lock - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.27.2 + rev: 0.27.3 hooks: - id: check-github-workflows # - repo: local diff --git a/poetry.lock b/poetry.lock index 6ae41885aa..3f6b060213 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8c95820a1a166a8c4900ff62f1d214cff411347d24ba395bf2c7ee867d487c60 -size 433995 +oid sha256:74a676b10b857577e8437ad907b3e8ca2e71a867f6a67b2d6cf5d916ff61aca7 +size 432403 diff --git a/selfdrive/athena/athenad.py b/selfdrive/athena/athenad.py index 719d50c1ab..ce9e64188b 100755 --- a/selfdrive/athena/athenad.py +++ b/selfdrive/athena/athenad.py @@ -637,6 +637,8 @@ def ws_proxy_recv(ws: WebSocket, local_sock: socket.socket, ssock: socket.socket while not (end_event.is_set() or global_end_event.is_set()): try: data = ws.recv() + if isinstance(data, str): + data = data.encode("utf-8") local_sock.sendall(data) except WebSocketTimeoutException: pass @@ -728,10 +730,11 @@ def ws_manage(ws: WebSocket, end_event: threading.Event) -> None: if onroad != onroad_prev: onroad_prev = onroad - sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_USER_TIMEOUT, 16000 if onroad else 0) - sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 7 if onroad else 30) - sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 7 if onroad else 10) - sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 2 if onroad else 3) + if sock is not None: + sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_USER_TIMEOUT, 16000 if onroad else 0) + sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 7 if onroad else 30) + sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 7 if onroad else 10) + sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 2 if onroad else 3) if end_event.wait(5): break diff --git a/tools/webcam/front_mount_helper.py b/tools/webcam/front_mount_helper.py deleted file mode 100755 index 0b7b676f6e..0000000000 --- a/tools/webcam/front_mount_helper.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python -import numpy as np - -# copied from openpilot.common.transformations/camera.py -eon_dcam_focal_length = 860.0 # pixels -webcam_focal_length = 908.0 # pixels - -eon_dcam_intrinsics = np.array([ - [eon_dcam_focal_length, 0, 1152/2.], - [ 0, eon_dcam_focal_length, 864/2.], - [ 0, 0, 1]]) - -webcam_intrinsics = np.array([ - [webcam_focal_length, 0., 1280/2.], - [ 0., webcam_focal_length, 720/2.], - [ 0., 0., 1.]]) - -cam_id = 2 - -if __name__ == "__main__": - import cv2 - - trans_webcam_to_eon_front = np.dot(eon_dcam_intrinsics, np.linalg.inv(webcam_intrinsics)) - - cap = cv2.VideoCapture(cam_id) - cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280) - cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 720) - - while (True): - ret, img = cap.read() - if ret: - img = cv2.warpPerspective(img, trans_webcam_to_eon_front, (1152, 864), borderMode=cv2.BORDER_CONSTANT, borderValue=0) - img = img[:, -864//2:, :] - cv2.imshow('preview', img) - cv2.waitKey(10) diff --git a/tools/webcam/warp_vis.py b/tools/webcam/warp_vis.py deleted file mode 100755 index e3f1284a45..0000000000 --- a/tools/webcam/warp_vis.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env python -import numpy as np - -# copied from openpilot.common.transformations/camera.py -eon_focal_length = 910.0 # pixels -eon_dcam_focal_length = 860.0 # pixels - -webcam_focal_length = -908.0/1.5 # pixels - -eon_intrinsics = np.array([ - [eon_focal_length, 0., 1164/2.], - [ 0., eon_focal_length, 874/2.], - [ 0., 0., 1.]]) - -eon_dcam_intrinsics = np.array([ - [eon_dcam_focal_length, 0, 1152/2.], - [ 0, eon_dcam_focal_length, 864/2.], - [ 0, 0, 1]]) - -webcam_intrinsics = np.array([ - [webcam_focal_length, 0., 1280/2/1.5], - [ 0., webcam_focal_length, 720/2/1.5], - [ 0., 0., 1.]]) - -if __name__ == "__main__": - import cv2 - trans_webcam_to_eon_rear = np.dot(eon_intrinsics, np.linalg.inv(webcam_intrinsics)) - trans_webcam_to_eon_front = np.dot(eon_dcam_intrinsics, np.linalg.inv(webcam_intrinsics)) - print("trans_webcam_to_eon_rear:\n", trans_webcam_to_eon_rear) - print("trans_webcam_to_eon_front:\n", trans_webcam_to_eon_front) - - cap = cv2.VideoCapture(1) - cap.set(cv2.CAP_PROP_FRAME_WIDTH, 853) - cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) - - while (True): - ret, img = cap.read() - if ret: - # img = cv2.warpPerspective(img, trans_webcam_to_eon_rear, (1164,874), borderMode=cv2.BORDER_CONSTANT, borderValue=0) - img = cv2.warpPerspective(img, trans_webcam_to_eon_front, (1164, 874), borderMode=cv2.BORDER_CONSTANT, borderValue=0) - print(img.shape, end='\r') - cv2.imshow('preview', img) - cv2.waitKey(10)