Fix process replay regen (#24517)
* fix regen issues * compress like uploader old-commit-hash: d6c6275163fde581b9c32059561d2f720063e808
This commit is contained in:
@@ -350,6 +350,7 @@ def setup_env(simulation=False):
|
||||
params.put_bool("Passive", False)
|
||||
params.put_bool("DisengageOnAccelerator", True)
|
||||
params.put_bool("EnableWideCamera", False)
|
||||
params.put_bool("DisableLogging", False)
|
||||
|
||||
os.environ["NO_RADAR_SLEEP"] = "1"
|
||||
os.environ["REPLAY"] = "1"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
import bz2
|
||||
import os
|
||||
import time
|
||||
import multiprocessing
|
||||
@@ -8,6 +9,7 @@ import argparse
|
||||
os.environ["USE_WEBCAM"] = "1"
|
||||
|
||||
import cereal.messaging as messaging
|
||||
from cereal import car
|
||||
from cereal.services import service_list
|
||||
from cereal.visionipc.visionipc_pyx import VisionIpcServer, VisionStreamType # pylint: disable=no-name-in-module, import-error
|
||||
from common.params import Params
|
||||
@@ -227,7 +229,7 @@ def regen_segment(lr, frs=None, outdir=FAKEDATA):
|
||||
|
||||
# start procs up
|
||||
ignore = list(fake_daemons.keys()) + ['ui', 'manage_athenad', 'uploader']
|
||||
ensure_running(managed_processes.values(), started=True, not_run=ignore)
|
||||
ensure_running(managed_processes.values(), started=True, params=Params(), CP=car.CarParams(), not_run=ignore)
|
||||
for procs in fake_daemons.values():
|
||||
for p in procs:
|
||||
p.start()
|
||||
@@ -264,11 +266,18 @@ def regen_and_save(route, sidx, upload=False, use_route_meta=False):
|
||||
lr = LogReader(r.log_paths()[args.seg])
|
||||
fr = FrameReader(r.camera_paths()[args.seg])
|
||||
else:
|
||||
lr = LogReader(f"cd:/{route.replace('|', '/')}/{sidx}/rlog")
|
||||
lr = LogReader(f"cd:/{route.replace('|', '/')}/{sidx}/rlog.bz2")
|
||||
fr = FrameReader(f"cd:/{route.replace('|', '/')}/{sidx}/fcamera.hevc")
|
||||
rpath = regen_segment(lr, {'roadCameraState': fr})
|
||||
|
||||
lr = LogReader(os.path.join(rpath, 'rlog2'))
|
||||
# compress raw rlog before uploading
|
||||
with open(os.path.join(rpath, "rlog"), "rb") as f:
|
||||
data = bz2.compress(f.read())
|
||||
with open(os.path.join(rpath, "rlog.bz2"), "wb") as f:
|
||||
f.write(data)
|
||||
os.remove(os.path.join(rpath, "rlog"))
|
||||
|
||||
lr = LogReader(os.path.join(rpath, 'rlog.bz2'))
|
||||
controls_state_active = [m.controlsState.active for m in lr if m.which() == 'controlsState']
|
||||
assert any(controls_state_active), "Segment did not engage"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user