FrogPilot setup - Convert old toggles

This commit is contained in:
FrogAi
2024-06-10 06:32:22 -07:00
parent d65b84afe1
commit 44777023ef
3 changed files with 78 additions and 4 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

@@ -0,0 +1,69 @@
from openpilot.common.params_pyx import Params, UnknownKeyName
class FrogPilotFunctions:
@classmethod
def convert_params(cls, params, params_storage, params_tracking):
def convert_param(key, action_func):
try:
if params_storage.check_key(key):
if params_storage.get_bool(key):
action_func()
except UnknownKeyName:
pass
def convert_param_mappings(param_mappings, remove_from, min_value=-1):
for key, (getter, setter) in param_mappings.items():
try:
value = getter(key)
if value > min_value:
setter(key, value)
remove_from.remove(key)
except UnknownKeyName:
pass
install_date = params.get("InstallDate")
if install_date and install_date.decode('utf-8').startswith("November 21, 2023"):
params.remove("InstallDate")
version = 5
try:
if params_storage.check_key("ParamConversionVersion"):
if params_storage.get_int("ParamConversionVersion") == version:
print("Params already converted, moving on.")
return
print("Converting params...")
except UnknownKeyName:
pass
def onroad_uploads():
params.put("DeviceManagement", "True")
params.put("NoUploads", "True")
convert_param("DisableOnroadUploads", onroad_uploads)
param_mappings = {
"FrogPilotDrives": (params.get_int, params_tracking.put_int),
"FrogPilotKilometers": (params.get_float, params_tracking.put_float),
"FrogPilotMinutes": (params.get_float, params_tracking.put_float)
}
convert_param_mappings(param_mappings, params, 0)
param_storage_mappings = {
"FrogPilotDrives": (params_storage.get_int, params_tracking.put_int),
"FrogPilotKilometers": (params_storage.get_float, params_tracking.put_float),
"FrogPilotMinutes": (params_storage.get_float, params_tracking.put_float)
}
convert_param_mappings(param_storage_mappings, params_storage, 0)
params.remove("CarMake")
params.remove("CarModel")
params.remove("ForceFingerprint")
print("Params successfully converted!")
params_storage.put_int("ParamConversionVersion", version)
original_boot_logo_location = f'{BASEDIR}/selfdrive/frogpilot/assets/other_images/bg.jpg'
original_boot_logo_save_location = f'{BASEDIR}/selfdrive/frogpilot/assets/other_images/original_bg.jpg'
shutil.copy(original_boot_logo_location, original_boot_logo_save_location)
print("Successfully replaced original_bg.jpg with bg.jpg.")
+9 -4
View File
@@ -18,20 +18,25 @@ from openpilot.system.athena.registration import register, UNREGISTERED_DONGLE_I
from openpilot.common.swaglog import cloudlog, add_file_handler
from openpilot.system.version import get_build_metadata, terms_version, training_version
from openpilot.selfdrive.frogpilot.controls.lib.frogpilot_functions import FrogPilotFunctions
def manager_init() -> None:
def manager_init(frogpilot_functions) -> None:
save_bootlog()
build_metadata = get_build_metadata()
params = Params()
params_storage = Params("/persist/params")
params_tracking = Params("/persist/tracking")
params.clear_all(ParamKeyType.CLEAR_ON_MANAGER_START)
params.clear_all(ParamKeyType.CLEAR_ON_ONROAD_TRANSITION)
params.clear_all(ParamKeyType.CLEAR_ON_OFFROAD_TRANSITION)
if build_metadata.release_channel:
params.clear_all(ParamKeyType.DEVELOPMENT_ONLY)
frogpilot_functions.convert_params(params, params_storage, params_tracking)
default_params: list[tuple[str, str | bytes]] = [
("CompletedTrainingVersion", "0"),
("DisengageOnAccelerator", "0"),
@@ -175,8 +180,8 @@ def manager_thread() -> None:
break
def main() -> None:
manager_init()
def main(frogpilot_functions) -> None:
manager_init(frogpilot_functions)
if os.getenv("PREPAREONLY") is not None:
return
@@ -207,7 +212,7 @@ if __name__ == "__main__":
unblock_stdout()
try:
main()
main(FrogPilotFunctions())
except KeyboardInterrupt:
print("got CTRL-C, exiting")
except Exception: