log on startup when panda heartbeat is lost (#21151)

* log when heartbeat lost

* bump panda

* bump panda

* add to pandaState

* move that
pull/21160/head
Adeeb Shihadeh 4 years ago committed by GitHub
parent 96271f8bc3
commit f04d6a9b3f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      cereal
  2. 2
      panda
  3. 1
      selfdrive/boardd/boardd.cc
  4. 1
      selfdrive/boardd/panda.h
  5. 12
      selfdrive/pandad.py

@ -1 +1 @@
Subproject commit 18f1e4824434482c1eaf48a73d33544fb789a83b
Subproject commit 85e1e2f79cffc4df307e29b118a76adc4226b52f

@ -1 +1 @@
Subproject commit f96514621435928a7f843172d78db0115d50c813
Subproject commit e99d41e6cf43ecb6bdc69f190532493d270f19aa

@ -379,6 +379,7 @@ void panda_state_thread(bool spoofing_started) {
ps.setFanSpeedRpm(fan_speed_rpm);
ps.setFaultStatus(cereal::PandaState::FaultStatus(pandaState.fault_status));
ps.setPowerSaveEnabled((bool)(pandaState.power_save_enabled));
ps.setHeartbeatLost((bool)(pandaState.heartbeat_lost));
ps.setHarnessStatus(cereal::PandaState::HarnessStatus(pandaState.car_harness_status));
// Convert faults bitset to capnp list

@ -36,6 +36,7 @@ struct __attribute__((packed)) health_t {
int16_t safety_param;
uint8_t fault_status;
uint8_t power_save_enabled;
uint8_t heartbeat_lost;
};

@ -77,13 +77,19 @@ def update_panda() -> None:
cloudlog.info("Version mismatch after flashing, exiting")
raise AssertionError
cloudlog.info("Resetting panda")
panda.reset()
def main() -> None:
update_panda()
# check heatlh for lost heartbeat
panda = Panda()
health = panda.health()
if health["heartbeat_lost"]:
cloudlog.event("heartbeat lost", deviceState=health)
cloudlog.info("Resetting panda")
panda.reset()
os.chdir(os.path.join(BASEDIR, "selfdrive/boardd"))
os.execvp("./boardd", ["./boardd"])

Loading…
Cancel
Save