this should work

pull/27656/head
Shane Smiskol 2 years ago
parent 89e7d21f4c
commit 35dcf05b32
  1. 3
      common/params.cc
  2. 4
      selfdrive/boardd/boardd.cc
  3. 5
      selfdrive/car/fw_versions.py

@ -114,6 +114,7 @@ std::unordered_map<std::string, uint32_t> 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<std::string, uint32_t> 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},

@ -128,15 +128,13 @@ bool safety_setter_thread(std::vector<Panda *> 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")) {

@ -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")

Loading…
Cancel
Save