diff --git a/selfdrive/pandad/pandad.cc b/selfdrive/pandad/pandad.cc index bcb430747..6411fafde 100644 --- a/selfdrive/pandad/pandad.cc +++ b/selfdrive/pandad/pandad.cc @@ -218,6 +218,8 @@ void fill_panda_can_state(cereal::PandaState::PandaCanState::Builder &cs, const } std::optional send_panda_states(PubMaster *pm, const std::vector &pandas, bool is_onroad, bool spoofing_started) { + static Params params; + const bool is_bolt = params.get("CarParams").find("CHEVROLET_BOLT") != std::string::npos; bool ignition_local = false; const uint32_t pandas_cnt = pandas.size(); @@ -265,6 +267,13 @@ std::optional send_panda_states(PubMaster *pm, const std::vector health.ignition_line_pkt = 0; } + // TODO: Temporary workaround for onroad issues with a faulty harness box. + // Ignore physical ignition line for all Chevrolet Bolt varieties and rely on CAN ignition instead. + // This hardware issue will be fixed later, at which point this block can be removed. + if (is_bolt) { + health.ignition_line_pkt = 0; + } + ignition_local |= ((health.ignition_line_pkt != 0) || (health.ignition_can_pkt != 0)); pandaStates.push_back(health);