Reapply "Save onroad/offroad uptime to param (#35769)" (#35796)

This reverts commit 87270952c4.
pull/35822/head
Maxime Desroches 2 months ago committed by GitHub
parent 5c252ded72
commit 50371637dc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      common/params_keys.h
  2. 15
      system/hardware/hardwared.py

@ -123,5 +123,7 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"UpdaterState", {CLEAR_ON_MANAGER_START, STRING}},
{"UpdaterTargetBranch", {CLEAR_ON_MANAGER_START, STRING}},
{"UpdaterLastFetchTime", {PERSISTENT, TIME}},
{"UptimeOffroad", {PERSISTENT, FLOAT, "0.0"}},
{"UptimeOnroad", {PERSISTENT, FLOAT, "0.0"}},
{"Version", {PERSISTENT, STRING}},
};

@ -201,6 +201,10 @@ def hardware_thread(end_event, hw_queue) -> None:
params = Params()
power_monitor = PowerMonitoring()
uptime_offroad: float = params.get("UptimeOffroad", return_default=True)
uptime_onroad: float = params.get("UptimeOnroad", return_default=True)
last_uptime_ts: float = time.monotonic()
HARDWARE.initialize_hardware()
thermal_config = HARDWARE.get_thermal_config()
@ -445,6 +449,17 @@ def hardware_thread(end_event, hw_queue) -> None:
params.put_bool_nonblocking("NetworkMetered", msg.deviceState.networkMetered)
now_ts = time.monotonic()
if off_ts:
uptime_offroad += now_ts - max(last_uptime_ts, off_ts)
elif started_ts:
uptime_onroad += now_ts - max(last_uptime_ts, started_ts)
last_uptime_ts = now_ts
if (count % int(60. / DT_HW)) == 0:
params.put("UptimeOffroad", uptime_offroad)
params.put("UptimeOnroad", uptime_onroad)
count += 1
should_start_prev = should_start

Loading…
Cancel
Save