mirror of
https://github.com/infiniteCable2/opendbc.git
synced 2026-02-18 13:03:52 +08:00
30
.github/workflows/update-uv-lock.yml
vendored
Normal file
30
.github/workflows/update-uv-lock.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
name: Update uv.lock
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 14 * * 1" # every Monday at 2am UTC (6am PST)
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-uv-lock:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: astral-sh/setup-uv@v5
|
||||||
|
- name: Update uv.lock
|
||||||
|
run: uv lock --upgrade
|
||||||
|
- name: Create Pull Request
|
||||||
|
uses: peter-evans/create-pull-request@9153d834b60caba6d51c9b9510b087acf9f33f83
|
||||||
|
with:
|
||||||
|
author: Vehicle Researcher <user@comma.ai>
|
||||||
|
token: ${{ secrets.ACTIONS_CREATE_PR_PAT }}
|
||||||
|
commit-message: "[bot] Update uv.lock"
|
||||||
|
title: "[bot] Update uv.lock"
|
||||||
|
body: "Weekly update of uv.lock dependencies"
|
||||||
|
branch: "update-uv-lock"
|
||||||
|
base: "master"
|
||||||
|
delete-branch: true
|
||||||
|
labels: bot
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -17,7 +17,6 @@
|
|||||||
*.gcno
|
*.gcno
|
||||||
*.dump
|
*.dump
|
||||||
*.gcov
|
*.gcov
|
||||||
uv.lock
|
|
||||||
/dist/
|
/dist/
|
||||||
.vscode/
|
.vscode/
|
||||||
__pycache__/
|
__pycache__/
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ class CcpClient:
|
|||||||
resp = self._recv_dto(0.025)
|
resp = self._recv_dto(0.025)
|
||||||
# mta_addr_ext = resp[0]
|
# mta_addr_ext = resp[0]
|
||||||
mta_addr = struct.unpack(f"{self.byte_order.value}I", resp[1:5])[0]
|
mta_addr = struct.unpack(f"{self.byte_order.value}I", resp[1:5])[0]
|
||||||
return mta_addr # type: ignore
|
return mta_addr
|
||||||
|
|
||||||
def download_6_bytes(self, data: bytes) -> int:
|
def download_6_bytes(self, data: bytes) -> int:
|
||||||
if len(data) != 6:
|
if len(data) != 6:
|
||||||
@@ -226,7 +226,7 @@ class CcpClient:
|
|||||||
resp = self._recv_dto(0.025)
|
resp = self._recv_dto(0.025)
|
||||||
# mta_addr_ext = resp[0]
|
# mta_addr_ext = resp[0]
|
||||||
mta_addr = struct.unpack(f"{self.byte_order.value}I", resp[1:5])[0]
|
mta_addr = struct.unpack(f"{self.byte_order.value}I", resp[1:5])[0]
|
||||||
return mta_addr # type: ignore
|
return mta_addr
|
||||||
|
|
||||||
def upload(self, size: int) -> bytes:
|
def upload(self, size: int) -> bytes:
|
||||||
if size > 5:
|
if size > 5:
|
||||||
@@ -325,7 +325,7 @@ class CcpClient:
|
|||||||
resp = self._recv_dto(0.1)
|
resp = self._recv_dto(0.1)
|
||||||
# mta_addr_ext = resp[0]
|
# mta_addr_ext = resp[0]
|
||||||
mta_addr = struct.unpack(f"{self.byte_order.value}I", resp[1:5])[0]
|
mta_addr = struct.unpack(f"{self.byte_order.value}I", resp[1:5])[0]
|
||||||
return mta_addr # type: ignore
|
return mta_addr
|
||||||
|
|
||||||
def program_6_bytes(self, data: bytes) -> int:
|
def program_6_bytes(self, data: bytes) -> int:
|
||||||
if len(data) != 6:
|
if len(data) != 6:
|
||||||
@@ -334,7 +334,7 @@ class CcpClient:
|
|||||||
resp = self._recv_dto(0.1)
|
resp = self._recv_dto(0.1)
|
||||||
# mta_addr_ext = resp[0]
|
# mta_addr_ext = resp[0]
|
||||||
mta_addr = struct.unpack(f"{self.byte_order.value}I", resp[1:5])[0]
|
mta_addr = struct.unpack(f"{self.byte_order.value}I", resp[1:5])[0]
|
||||||
return mta_addr # type: ignore
|
return mta_addr
|
||||||
|
|
||||||
def move_memory_block(self, size: int) -> None:
|
def move_memory_block(self, size: int) -> None:
|
||||||
self._send_cro(COMMAND_CODE.MOVE, struct.pack(f"{self.byte_order.value}I", size))
|
self._send_cro(COMMAND_CODE.MOVE, struct.pack(f"{self.byte_order.value}I", size))
|
||||||
|
|||||||
@@ -219,7 +219,7 @@ def dyn_ss_sol(sa: float, u: float, roll: float, VM: VehicleModel) -> np.ndarray
|
|||||||
"""
|
"""
|
||||||
A, B = create_dyn_state_matrices(u, VM)
|
A, B = create_dyn_state_matrices(u, VM)
|
||||||
inp = np.array([[sa], [roll]])
|
inp = np.array([[sa], [roll]])
|
||||||
return -solve(A, B) @ inp # type: ignore
|
return -solve(A, B) @ inp
|
||||||
|
|
||||||
|
|
||||||
def calc_slip_factor(VM: VehicleModel) -> float:
|
def calc_slip_factor(VM: VehicleModel) -> float:
|
||||||
|
|||||||
Reference in New Issue
Block a user