mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-06-26 08:22:05 +08:00
+12
-11
@@ -4,13 +4,11 @@ import os
|
||||
import time
|
||||
import threading
|
||||
import multiprocessing
|
||||
from tqdm import tqdm
|
||||
|
||||
os.environ['FILEREADER_CACHE'] = '1'
|
||||
|
||||
from openpilot.common.realtime import config_realtime_process, Ratekeeper, DT_CTRL
|
||||
from openpilot.selfdrive.boardd.boardd import can_capnp_to_can_list
|
||||
from openpilot.tools.plotjuggler.juggle import load_segment
|
||||
from openpilot.tools.lib.srreader import SegmentRangeReader
|
||||
from panda import Panda, PandaJungle
|
||||
|
||||
@@ -92,18 +90,21 @@ if __name__ == "__main__":
|
||||
parser.add_argument("route_or_segment_name", nargs='?', help="The route or segment name to replay. If not specified, a default public route will be used.")
|
||||
args = parser.parse_args()
|
||||
|
||||
def process(lr):
|
||||
return [can_capnp_to_can_list(m.can) for m in lr if m.which() == 'can']
|
||||
|
||||
print("Loading log...")
|
||||
if args.route_or_segment_name is None:
|
||||
ROUTE = "77611a1fac303767/2020-03-24--09-50-38"
|
||||
REPLAY_SEGS = list(range(10, 16)) # route has 82 segments available
|
||||
args.route_or_segment_name = "77611a1fac303767/2020-03-24--09-50-38/10:16"
|
||||
|
||||
sr = SegmentRangeReader(args.route_or_segment_name)
|
||||
|
||||
with multiprocessing.Pool(24) as pool:
|
||||
CAN_MSGS = []
|
||||
logs = [f"https://commadataci.blob.core.windows.net/openpilotci/{ROUTE}/{i}/rlog.bz2" for i in REPLAY_SEGS]
|
||||
with multiprocessing.Pool(24) as pool:
|
||||
for lr in tqdm(pool.map(load_segment, logs)):
|
||||
CAN_MSGS += [can_capnp_to_can_list(m.can) for m in lr if m.which() == 'can']
|
||||
else:
|
||||
lr = SegmentRangeReader(args.route_or_segment_name)
|
||||
CAN_MSGS = [can_capnp_to_can_list(m.can) for m in lr if m.which() == 'can']
|
||||
for p in pool.map(process, sr.lrs):
|
||||
CAN_MSGS.extend(p)
|
||||
|
||||
print("Finished loading...")
|
||||
|
||||
# set both to cycle ignition
|
||||
IGN_ON = int(os.getenv("ON", "0"))
|
||||
|
||||
Reference in New Issue
Block a user