diff --git a/cereal b/cereal index 6ad4ba689c..ad4126e380 160000 --- a/cereal +++ b/cereal @@ -1 +1 @@ -Subproject commit 6ad4ba689c557ed241862d10aef4235d3e96331f +Subproject commit ad4126e380b192d17a1b4dbddec257ceb45855e1 diff --git a/selfdrive/car/fw_versions.py b/selfdrive/car/fw_versions.py index 120174c451..982736aca6 100755 --- a/selfdrive/car/fw_versions.py +++ b/selfdrive/car/fw_versions.py @@ -333,18 +333,20 @@ def get_fw_versions(logcan, sendcan, extra=None, timeout=0.1, debug=False, progr if addrs: query = IsoTpParallelQuery(sendcan, logcan, r.bus, addrs, r.request, r.response, r.rx_offset, debug=debug) t = 2 * timeout if i == 0 else timeout - fw_versions.update(query.get_data(t)) + data = query.get_data(t) + fw_versions.update({addr: (version, r.rx_offset) for addr, version in data.items()}) except Exception: cloudlog.warning(f"FW query exception: {traceback.format_exc()}") # Build capnp list to put into CarParams car_fw = [] - for addr, version in fw_versions.items(): + for addr, (version, rx_offset) in fw_versions.items(): f = car.CarParams.CarFw.new_message() f.ecu = ecu_types[addr] f.fwVersion = version f.address = addr[0] + f.responseAddress = addr[0] + rx_offset if addr[1] is not None: f.subAddress = addr[1]