mirror of
https://github.com/infiniteCable2/panda.git
synced 2026-02-18 09:13:52 +08:00
Merge branch 'upstream/master' into sync-20241205
This commit is contained in:
15
.github/workflows/test.yaml
vendored
15
.github/workflows/test.yaml
vendored
@@ -89,8 +89,8 @@ jobs:
|
||||
scons -j$(nproc) ${{ matrix.flags }} && \
|
||||
tests/safety/test.sh"
|
||||
|
||||
misra:
|
||||
name: MISRA C:2012
|
||||
misra_linter:
|
||||
name: MISRA C:2012 Linter
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 20
|
||||
steps:
|
||||
@@ -102,6 +102,17 @@ jobs:
|
||||
- name: Run MISRA C:2012 analysis
|
||||
timeout-minutes: 2
|
||||
run: ${{ env.RUN }} "cd tests/misra && ./test_misra.sh"
|
||||
|
||||
misra_mutation:
|
||||
name: MISRA C:2012 Mutation
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 20
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Build Docker image
|
||||
run: eval "$BUILD"
|
||||
- name: Build FW
|
||||
run: ${{ env.RUN }} "scons -j$(nproc)"
|
||||
- name: MISRA mutation tests
|
||||
timeout-minutes: 5
|
||||
run: ${{ env.RUN }} "cd tests/misra && pytest -n8 test_mutation.py"
|
||||
|
||||
@@ -87,6 +87,10 @@ static void cuatro_init(void) {
|
||||
set_gpio_output_type(GPIOB, 2, OUTPUT_TYPE_OPEN_DRAIN);
|
||||
set_gpio_output_type(GPIOD, 15, OUTPUT_TYPE_OPEN_DRAIN);
|
||||
|
||||
// more open drain
|
||||
set_gpio_output_type(GPIOD, 3, OUTPUT_TYPE_OPEN_DRAIN); // FAN_EN
|
||||
set_gpio_output_type(GPIOC, 12, OUTPUT_TYPE_OPEN_DRAIN); // VBAT_EN
|
||||
|
||||
// Power readout
|
||||
set_gpio_mode(GPIOC, 5, MODE_ANALOG);
|
||||
set_gpio_mode(GPIOA, 6, MODE_ANALOG);
|
||||
@@ -165,7 +169,7 @@ board board_cuatro = {
|
||||
.read_voltage_mV = cuatro_read_voltage_mV,
|
||||
.read_current_mA = cuatro_read_current_mA,
|
||||
.set_fan_enabled = cuatro_set_fan_enabled,
|
||||
.set_ir_power = tres_set_ir_power,
|
||||
.set_ir_power = unused_set_ir_power,
|
||||
.set_siren = cuatro_set_siren,
|
||||
.set_bootkick = cuatro_set_bootkick,
|
||||
.read_som_gpio = tres_read_som_gpio,
|
||||
|
||||
@@ -2,21 +2,15 @@
|
||||
import os
|
||||
import time
|
||||
import subprocess
|
||||
import argparse
|
||||
|
||||
from panda import Panda, PandaDFU
|
||||
|
||||
board_path = os.path.dirname(os.path.realpath(__file__))
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--all", action="store_true", help="Recover all Panda devices")
|
||||
args = parser.parse_args()
|
||||
|
||||
subprocess.check_call(f"scons -C {board_path}/.. -j$(nproc) {board_path}", shell=True)
|
||||
|
||||
serials = Panda.list() if args.all else [None]
|
||||
for s in serials:
|
||||
for s in Panda.list():
|
||||
with Panda(serial=s) as p:
|
||||
print(f"putting {p.get_usb_serial()} in DFU mode")
|
||||
p.reset(enter_bootstub=True)
|
||||
|
||||
@@ -325,6 +325,10 @@ class Panda:
|
||||
# reset comms
|
||||
self.can_reset_communications()
|
||||
|
||||
# disable automatic CAN-FD switching
|
||||
for bus in range(PANDA_BUS_CNT):
|
||||
self.set_canfd_auto(bus, False)
|
||||
|
||||
# set CAN speed
|
||||
for bus in range(PANDA_BUS_CNT):
|
||||
self.set_can_speed_kbps(bus, self._can_speed_kbps)
|
||||
|
||||
Reference in New Issue
Block a user