mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-06-27 08:52:05 +08:00
pandad: test release -> devel bootstub reflash (#28330)
* test * release bootstubs * rm that * fixup * skip earlier --------- Co-authored-by: Comma Device <device@comma.ai>
This commit is contained in:
+1
-1
Submodule panda updated: bf2c007103...1a9a94c519
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
@@ -1,16 +1,19 @@
|
||||
#!/usr/bin/env python3
|
||||
import os
|
||||
import time
|
||||
import unittest
|
||||
|
||||
import cereal.messaging as messaging
|
||||
from cereal import log
|
||||
from common.gpio import gpio_set, gpio_init
|
||||
from panda import Panda
|
||||
from panda import Panda, PandaDFU
|
||||
from selfdrive.test.helpers import phone_only
|
||||
from selfdrive.manager.process_config import managed_processes
|
||||
from system.hardware import HARDWARE
|
||||
from system.hardware.tici.pins import GPIO
|
||||
|
||||
HERE = os.path.dirname(os.path.realpath(__file__))
|
||||
|
||||
|
||||
class TestPandad(unittest.TestCase):
|
||||
|
||||
@@ -27,11 +30,13 @@ class TestPandad(unittest.TestCase):
|
||||
if sm['peripheralState'].pandaType == log.PandaState.PandaType.unknown:
|
||||
raise Exception("boardd failed to start")
|
||||
|
||||
def _go_to_dfu(self):
|
||||
HARDWARE.recover_internal_panda()
|
||||
assert Panda.wait_for_dfu(None, 10)
|
||||
|
||||
@phone_only
|
||||
def test_in_dfu(self):
|
||||
HARDWARE.recover_internal_panda()
|
||||
time.sleep(1)
|
||||
|
||||
managed_processes['pandad'].start()
|
||||
self._wait_for_boardd(60)
|
||||
|
||||
@@ -66,9 +71,25 @@ class TestPandad(unittest.TestCase):
|
||||
managed_processes['pandad'].start()
|
||||
self._wait_for_boardd(8)
|
||||
|
||||
@phone_only
|
||||
def test_release_to_devel_bootstub(self):
|
||||
if HARDWARE.get_device_type() != 'tici':
|
||||
self.skipTest("TODO: fix reset timeout")
|
||||
|
||||
#def test_out_of_date_fw(self):
|
||||
# pass
|
||||
# flash release bootstub
|
||||
self._go_to_dfu()
|
||||
pd = PandaDFU(None)
|
||||
fn = os.path.join(HERE, pd.get_mcu_type().config.bootstub_fn)
|
||||
with open(fn, "rb") as f:
|
||||
pd.program_bootstub(f.read())
|
||||
pd.reset()
|
||||
|
||||
assert Panda.wait_for_panda(None, 20)
|
||||
with Panda() as p:
|
||||
assert p.bootstub
|
||||
|
||||
managed_processes['pandad'].start()
|
||||
self._wait_for_boardd(60)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user