diff --git a/openpilot/selfdrive/modeld/modeld.py b/openpilot/selfdrive/modeld/modeld.py index 92cb9e08662ce5..be08c9c4c718c8 100755 --- a/openpilot/selfdrive/modeld/modeld.py +++ b/openpilot/selfdrive/modeld/modeld.py @@ -77,31 +77,38 @@ def __init__(self, pm: PubMaster): @cached_property def power_limit(self) -> int: smu = Device["AMD"].iface.dev_impl.smu - return smu._send_msg(smu.smu_mod.PPSMC_MSG_GetPptLimit, 0, read_back_arg=True) + return smu._send_msg(smu.smu_mod.PPSMC_MSG_GetPptLimit, 0, read_back_arg=True, timeout=100) def send(self) -> None: msg = messaging.new_message('chestnutState') state = msg.chestnutState - try: - smu = Device["AMD"].iface.dev_impl.smu - metrics = smu.read_table(smu.smu_mod.SmuMetricsExternal_t, smu.smu_mod.TABLE_SMU_METRICS).SmuMetrics - state.tempC = metrics.AvgTemperature[smu.smu_mod.TEMP_HOTSPOT] - state.memoryTempC = metrics.AvgTemperature[smu.smu_mod.TEMP_MEM] - state.powerDrawW = metrics.AverageSocketPower - state.powerLimitW = self.power_limit - state.gpuUsagePercent = metrics.AverageGfxActivity - state.gpuClockMhz = metrics.AverageGfxclkFrequencyPostDs - state.fanSpeedRpm = metrics.AvgFanRpm - asm = Device["AMD"].iface.pci_dev.usb - state.pcieLtssm = asm.read(0xB450, 1)[0] - state.supplyVoltage, state.supplyCurrent = struct.unpack('