diff --git a/common/params.cc b/common/params.cc index 4ddd8ed0a0..64781f144b 100644 --- a/common/params.cc +++ b/common/params.cc @@ -114,6 +114,7 @@ std::unordered_map keys = { {"FirmwareQueryDone", CLEAR_ON_MANAGER_START | CLEAR_ON_IGNITION_ON}, {"ObdMultiplexingRequested", CLEAR_ON_MANAGER_START | CLEAR_ON_IGNITION_ON}, {"ObdMultiplexingEnabled", CLEAR_ON_MANAGER_START | CLEAR_ON_IGNITION_ON}, + {"ObdMultiplexingSet", CLEAR_ON_MANAGER_START | CLEAR_ON_IGNITION_ON}, {"ForcePowerDown", CLEAR_ON_MANAGER_START}, {"GitBranch", PERSISTENT}, {"GitCommit", PERSISTENT}, @@ -157,7 +158,7 @@ std::unordered_map keys = { {"NavSettingTime24h", PERSISTENT}, {"NavSettingLeftSide", PERSISTENT}, {"NavdRender", PERSISTENT}, - {"ObdMultiplexingDisabled", CLEAR_ON_MANAGER_START | CLEAR_ON_IGNITION_ON}, +// {"ObdMultiplexingDisabled", CLEAR_ON_MANAGER_START | CLEAR_ON_IGNITION_ON}, {"OpenpilotEnabledToggle", PERSISTENT}, {"PandaHeartbeatLost", CLEAR_ON_MANAGER_START | CLEAR_ON_IGNITION_OFF}, {"PandaSignatures", CLEAR_ON_MANAGER_START}, diff --git a/selfdrive/boardd/boardd.cc b/selfdrive/boardd/boardd.cc index ac03301744..895c2885e2 100644 --- a/selfdrive/boardd/boardd.cc +++ b/selfdrive/boardd/boardd.cc @@ -128,15 +128,13 @@ bool safety_setter_thread(std::vector pandas) { } bool obd_multiplexing_requested = p.getBool("ObdMultiplexingRequested"); -// std::string obd_multiplexing_requested = p.get("ObdMultiplexingRequested"); -// if (!obd_multiplexing_requested.isEmpty()) { if (obd_multiplexing_requested != p.getBool("ObdMultiplexingEnabled")) { const uint16_t safety_param = obd_multiplexing_requested ? 0U : 1U; for (int i = 0; i < pandas.size(); i++) { pandas[i]->set_safety_model(cereal::CarParams::SafetyModel::ELM327, safety_param); } -// p.remove("ObdMultiplexingRequested", obd_multiplexing_requested); p.putBool("ObdMultiplexingEnabled", obd_multiplexing_requested); + p.putBool("ObdMultiplexingChanged", true); } if (p.getBool("FirmwareQueryDone")) { diff --git a/selfdrive/car/fw_versions.py b/selfdrive/car/fw_versions.py index f32ef8b80b..2eeff7d28e 100755 --- a/selfdrive/car/fw_versions.py +++ b/selfdrive/car/fw_versions.py @@ -236,10 +236,9 @@ def get_fw_versions_ordered(logcan, sendcan, ecu_rx_addrs, timeout=0.1, num_pand def set_obd_multiplexing(params: Params, obd_multiplexing: bool): if params.get_bool("ObdMultiplexingEnabled") != obd_multiplexing: cloudlog.warning(f"Setting OBD multiplexing to {obd_multiplexing}") - # Remove response param that boardd writes to block on it - params.remove("ObdMultiplexingEnabled") + params.remove("ObdMultiplexingChanged") params.put_bool("ObdMultiplexingRequested", obd_multiplexing) - params.get_bool("ObdMultiplexingEnabled", block=True) + params.get_bool("ObdMultiplexingChanged", block=True) cloudlog.warning(f"OBD multiplexing set successfully")