mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-10-01 06:03:43 +08:00
cache
This commit is contained in:
@@ -22,14 +22,15 @@ class ParamStore:
|
||||
|
||||
self.keys = universal_params + brand_params
|
||||
self.values = {}
|
||||
self.cached_params_list: list[capnp.lib.capnp._DynamicStructBuilder] | None = None
|
||||
|
||||
def update(self, params: Params) -> None:
|
||||
old_values = dict(self.values)
|
||||
self.values = {k: params.get(k, encoding='utf8') or "0" for k in self.keys}
|
||||
if old_values != self.values:
|
||||
self.cached_params_list = None
|
||||
|
||||
def publish(self) -> list[capnp.lib.capnp._DynamicStructBuilder]:
|
||||
params_list: list[capnp.lib.capnp._DynamicStructBuilder] = []
|
||||
|
||||
for k in self.keys:
|
||||
params_list.append(custom.CarControlSP.Param(key=k, value=self.values[k]))
|
||||
|
||||
return params_list
|
||||
if self.cached_params_list is None:
|
||||
self.cached_params_list = [custom.CarControlSP.Param(key=k, value=self.values[k]) for k in self.keys]
|
||||
return self.cached_params_list
|
||||
|
||||
Reference in New Issue
Block a user