mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-09-02 06:03:43 +08:00
FrogPilot setup - Convert old toggles
This commit is contained in:
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.")
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user