mirror of
https://github.com/infiniteCable2/panda.git
synced 2026-02-22 19:23:53 +08:00
* Jenkins test refactor and black panda addition * Added HW types needed by previous commit * Fixed ignition interrupts when not on EON build * Added functions for load switches * More test scripts for black panda * Added NONE power mode to the code * Fixed race condition when setting GPIO pins was interrupted. * Added relay test script * Fixed flashing with critical sections and GPS load switch * Fixing critical depth after reboot * Made the loopback test asserting * Made critical depth a local variable to avoid race conditions * Added GPS to power savings mode * Fixed DFU mode on white panda and bumped version * Fixed PEDAL_USB compilation error * Fixed misra compliance of new critical depth code * Cleaned up heartbeat logic in the testing code. Re-added ALL_CAN_BUT_MAIN_SILENT. Bumped version. Improved critical section code. * Fixed DFU flashing (once again) * Fixed VERSION * Added relay endurance test * Changed to alloutput on ELM mode for fingerprinting. * Fixed minor remarks
50 lines
1.3 KiB
Python
Executable File
50 lines
1.3 KiB
Python
Executable File
#!/usr/bin/env python
|
|
from __future__ import print_function
|
|
import os
|
|
import sys
|
|
import time
|
|
import select
|
|
|
|
sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), ".."))
|
|
from panda import Panda
|
|
|
|
setcolor = ["\033[1;32;40m", "\033[1;31;40m"]
|
|
unsetcolor = "\033[00m"
|
|
|
|
if __name__ == "__main__":
|
|
while True:
|
|
try:
|
|
port_number = int(os.getenv("PORT", 0))
|
|
claim = os.getenv("CLAIM") is not None
|
|
|
|
serials = Panda.list()
|
|
if os.getenv("SERIAL"):
|
|
serials = filter(lambda x: x==os.getenv("SERIAL"), serials)
|
|
|
|
pandas = list(map(lambda x: Panda(x, claim=claim), serials))
|
|
|
|
if not len(pandas):
|
|
sys.exit("no pandas found")
|
|
|
|
if os.getenv("BAUD") is not None:
|
|
for panda in pandas:
|
|
panda.set_uart_baud(port_number, int(os.getenv("BAUD")))
|
|
|
|
while True:
|
|
for i, panda in enumerate(pandas):
|
|
while True:
|
|
ret = panda.serial_read(port_number)
|
|
if len(ret) > 0:
|
|
sys.stdout.write(setcolor[i] + str(ret) + unsetcolor)
|
|
sys.stdout.flush()
|
|
else:
|
|
break
|
|
if select.select([sys.stdin], [], [], 0) == ([sys.stdin], [], []):
|
|
ln = sys.stdin.readline()
|
|
if claim:
|
|
panda.serial_write(port_number, ln)
|
|
time.sleep(0.01)
|
|
except:
|
|
print("panda disconnected!")
|
|
time.sleep(0.5);
|