Log panda signature to param (#23670)

old-commit-hash: 8d9afa7171
commatwo_master
Adeeb Shihadeh 3 years ago committed by GitHub
parent 12dcbe8617
commit 94f8115236
  1. 2
      panda
  2. 1
      selfdrive/common/params.cc
  3. 8
      selfdrive/pandad.py

@ -1 +1 @@
Subproject commit bdb591f5e68f12c5b5fad60f331192abc2e1fd92 Subproject commit c89c8db65098570335c10d8f25e0a6d3da86b731

@ -142,6 +142,7 @@ std::unordered_map<std::string, uint32_t> keys = {
{"NavdRender", PERSISTENT}, {"NavdRender", PERSISTENT},
{"OpenpilotEnabledToggle", PERSISTENT}, {"OpenpilotEnabledToggle", PERSISTENT},
{"PandaHeartbeatLost", CLEAR_ON_MANAGER_START | CLEAR_ON_IGNITION_OFF}, {"PandaHeartbeatLost", CLEAR_ON_MANAGER_START | CLEAR_ON_IGNITION_OFF},
{"PandaSignatures", CLEAR_ON_MANAGER_START},
{"Passive", PERSISTENT}, {"Passive", PERSISTENT},
{"PrimeRedirected", PERSISTENT}, {"PrimeRedirected", PERSISTENT},
{"RecordFront", PERSISTENT}, {"RecordFront", PERSISTENT},

@ -75,9 +75,12 @@ def panda_sort_cmp(a: Panda, b: Panda):
def main() -> NoReturn: def main() -> NoReturn:
first_run = True first_run = True
params = Params()
while True: while True:
try: try:
params.delete("PandaSignatures")
# Flash all Pandas in DFU mode # Flash all Pandas in DFU mode
for p in PandaDFU.list(): for p in PandaDFU.list():
cloudlog.info(f"Panda in DFU mode found, flashing recovery {p}") cloudlog.info(f"Panda in DFU mode found, flashing recovery {p}")
@ -99,7 +102,7 @@ def main() -> NoReturn:
for panda in pandas: for panda in pandas:
health = panda.health() health = panda.health()
if health["heartbeat_lost"]: if health["heartbeat_lost"]:
Params().put_bool("PandaHeartbeatLost", True) params.put_bool("PandaHeartbeatLost", True)
cloudlog.event("heartbeat lost", deviceState=health, serial=panda.get_usb_serial()) cloudlog.event("heartbeat lost", deviceState=health, serial=panda.get_usb_serial())
if first_run: if first_run:
@ -110,6 +113,9 @@ def main() -> NoReturn:
pandas.sort(key=cmp_to_key(panda_sort_cmp)) pandas.sort(key=cmp_to_key(panda_sort_cmp))
panda_serials = list(map(lambda p: p.get_usb_serial(), pandas)) panda_serials = list(map(lambda p: p.get_usb_serial(), pandas))
# log panda fw versions
params.put("PandaSignatures", b','.join(p.get_signature() for p in pandas))
# close all pandas # close all pandas
for p in pandas: for p in pandas:
p.close() p.close()

Loading…
Cancel
Save