wip
This commit is contained in:
@@ -52,10 +52,6 @@ def frogpilot_boot_functions(frogpilot_functions):
|
||||
print(f"An unexpected error occurred: {e}")
|
||||
|
||||
def manager_init(frogpilot_functions) -> None:
|
||||
timestamp = datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S")
|
||||
log_dir = f"/data/log2/{timestamp}"
|
||||
os.makedirs(log_dir, exist_ok=True)
|
||||
|
||||
frogpilot_boot = threading.Thread(target=frogpilot_boot_functions, args=(frogpilot_functions,))
|
||||
frogpilot_boot.start()
|
||||
|
||||
@@ -69,6 +65,10 @@ def manager_init(frogpilot_functions) -> None:
|
||||
if is_release_branch():
|
||||
params.clear_all(ParamKeyType.DEVELOPMENT_ONLY)
|
||||
|
||||
if not params.get_bool("CameraViewReset"):
|
||||
params.remove("CameraView")
|
||||
params.put_bool("CameraViewReset", True)
|
||||
|
||||
default_params: list[tuple[str, str | bytes]] = [
|
||||
("CarParamsPersistent", ""),
|
||||
("CompletedTrainingVersion", "0"),
|
||||
@@ -153,6 +153,9 @@ def manager_init(frogpilot_functions) -> None:
|
||||
("ForceFingerprint", "0"),
|
||||
("ForceMPHDashboard", "0"),
|
||||
("FPSCounter", "0"),
|
||||
("FrogPilotDrives", "0"),
|
||||
("FrogPilotKilometers", "0"),
|
||||
("FrogPilotMinutes", "0"),
|
||||
("FrogsGoMooTune", "1"),
|
||||
("FullMap", "0"),
|
||||
("GasRegenCmd", "0"),
|
||||
@@ -173,7 +176,7 @@ def manager_init(frogpilot_functions) -> None:
|
||||
("IncreaseThermalLimits", "0"),
|
||||
("LaneChangeTime", "0"),
|
||||
("LaneDetectionWidth", "60"),
|
||||
("LaneLinesWidth", "2"),
|
||||
("LaneLinesWidth", "4"),
|
||||
("LateralTune", "1"),
|
||||
("LeadDepartingAlert", "0"),
|
||||
("LeadDetectionThreshold", "35"),
|
||||
@@ -183,14 +186,6 @@ def manager_init(frogpilot_functions) -> None:
|
||||
("LongPitch", "1"),
|
||||
("LoudBlindspotAlert", "0"),
|
||||
("LowVoltageShutdown", "11.8"),
|
||||
("kiV1", "0.60"),
|
||||
("kiV2", "0.45"),
|
||||
("kiV3", "0.30"),
|
||||
("kiV4", "0.15"),
|
||||
("kpV1", "1.50"),
|
||||
("kpV2", "1.00"),
|
||||
("kpV3", "0.75"),
|
||||
("kpV4", "0.50"),
|
||||
("MapsSelected", ""),
|
||||
("MapboxPublicKey", ""),
|
||||
("MapboxSecretKey", ""),
|
||||
@@ -281,7 +276,6 @@ def manager_init(frogpilot_functions) -> None:
|
||||
("TrafficFollow", "0.5"),
|
||||
("TrafficJerk", "1"),
|
||||
("TrafficMode", "0"),
|
||||
("Tuning", "1"),
|
||||
("TurnAggressiveness", "100"),
|
||||
("TurnDesires", "0"),
|
||||
("UnlimitedLength", "1"),
|
||||
@@ -345,21 +339,19 @@ def manager_init(frogpilot_functions) -> None:
|
||||
os.environ['CLEAN'] = '1'
|
||||
|
||||
# init logging
|
||||
# sentry.init(sentry.SentryProject.SELFDRIVE)
|
||||
# cloudlog.bind_global(dongle_id=dongle_id,
|
||||
# version=get_version(),
|
||||
# origin=get_normalized_origin(),
|
||||
# branch=get_short_branch(),
|
||||
# commit=get_commit(),
|
||||
# dirty=is_dirty(),
|
||||
# device=HARDWARE.get_device_type())
|
||||
sentry.init(sentry.SentryProject.SELFDRIVE)
|
||||
cloudlog.bind_global(dongle_id=dongle_id,
|
||||
version=get_version(),
|
||||
origin=get_normalized_origin(),
|
||||
branch=get_short_branch(),
|
||||
commit=get_commit(),
|
||||
dirty=is_dirty(),
|
||||
device=HARDWARE.get_device_type())
|
||||
|
||||
# preimport all processes
|
||||
for p in managed_processes.values():
|
||||
p.prepare()
|
||||
|
||||
return log_dir
|
||||
|
||||
|
||||
def manager_cleanup() -> None:
|
||||
# send signals to kill all procs
|
||||
@@ -372,11 +364,8 @@ def manager_cleanup() -> None:
|
||||
|
||||
cloudlog.info("everything is dead")
|
||||
|
||||
last_running = ""
|
||||
|
||||
def manager_thread(frogpilot_functions, log_dir) -> None:
|
||||
global last_running
|
||||
|
||||
def manager_thread(frogpilot_functions) -> None:
|
||||
cloudlog.bind(daemon="manager")
|
||||
cloudlog.info("manager start")
|
||||
cloudlog.info({"environ": os.environ})
|
||||
@@ -395,7 +384,7 @@ def manager_thread(frogpilot_functions, log_dir) -> None:
|
||||
pm = messaging.PubMaster(['managerState'])
|
||||
|
||||
write_onroad_params(False, params)
|
||||
ensure_running(managed_processes.values(), False, params=params, CP=sm['carParams'], not_run=ignore, log_dir=log_dir)
|
||||
ensure_running(managed_processes.values(), False, params=params, CP=sm['carParams'], not_run=ignore)
|
||||
|
||||
started_prev = False
|
||||
|
||||
@@ -424,16 +413,12 @@ def manager_thread(frogpilot_functions, log_dir) -> None:
|
||||
|
||||
started_prev = started
|
||||
|
||||
ensure_running(managed_processes.values(), started, params=params, CP=sm['carParams'], not_run=ignore, log_dir=log_dir)
|
||||
ensure_running(managed_processes.values(), started, params=params, CP=sm['carParams'], not_run=ignore)
|
||||
|
||||
running = ' '.join("{}{}\u001b[0m".format("\u001b[32m" if p.proc.is_alive() else "\u001b[31m", p.name)
|
||||
for p in managed_processes.values() if p.proc)
|
||||
|
||||
# clearpilot
|
||||
if (running != last_running):
|
||||
print(running)
|
||||
cloudlog.debug(running)
|
||||
last_running = running
|
||||
print(running)
|
||||
cloudlog.debug(running)
|
||||
|
||||
# send managerState
|
||||
msg = messaging.new_message('managerState', valid=True)
|
||||
@@ -442,7 +427,7 @@ def manager_thread(frogpilot_functions, log_dir) -> None:
|
||||
|
||||
# Exit main loop when uninstall/shutdown/reboot is needed
|
||||
shutdown = False
|
||||
for param in ("DoUninstall", "DoShutdown", "DoReboot", "DoSoftReboot"):
|
||||
for param in ("DoUninstall", "DoShutdown", "DoReboot"):
|
||||
if params.get_bool(param):
|
||||
shutdown = True
|
||||
params.put("LastManagerExitReason", f"{param} {datetime.datetime.now()}")
|
||||
@@ -461,7 +446,7 @@ def main() -> None:
|
||||
print(f"Failed to setup FrogPilot. Error: {e}")
|
||||
return
|
||||
|
||||
log_dir = manager_init(frogpilot_functions)
|
||||
manager_init(frogpilot_functions)
|
||||
if os.getenv("PREPAREONLY") is not None:
|
||||
return
|
||||
|
||||
@@ -469,7 +454,7 @@ def main() -> None:
|
||||
signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))
|
||||
|
||||
try:
|
||||
manager_thread(frogpilot_functions, log_dir)
|
||||
manager_thread(frogpilot_functions)
|
||||
except Exception:
|
||||
traceback.print_exc()
|
||||
sentry.capture_exception()
|
||||
@@ -483,9 +468,6 @@ def main() -> None:
|
||||
elif params.get_bool("DoReboot"):
|
||||
cloudlog.warning("reboot")
|
||||
HARDWARE.reboot()
|
||||
elif params.get_bool("DoSoftReboot"):
|
||||
cloudlog.warning("softreboot")
|
||||
HARDWARE.soft_reboot()
|
||||
elif params.get_bool("DoShutdown"):
|
||||
cloudlog.warning("shutdown")
|
||||
HARDWARE.shutdown()
|
||||
|
||||
Reference in New Issue
Block a user