123456789101112131415161718192021222324252627282930 |
- import os
- from cereal import log as capnp_log, messaging
- from cereal.services import SERVICE_LIST
- from openpilot.tools.lib.logreader import LogIterable, RawLogIterable
- ALL_SERVICES = list(SERVICE_LIST.keys())
- def raw_live_logreader(services: list[str] = ALL_SERVICES, addr: str = '127.0.0.1') -> RawLogIterable:
- if addr != "127.0.0.1":
- os.environ["ZMQ"] = "1"
- messaging.context = messaging.Context()
- poller = messaging.Poller()
- for m in services:
- messaging.sub_sock(m, poller, addr=addr)
- while True:
- polld = poller.poll(100)
- for sock in polld:
- msg = sock.receive()
- yield msg
- def live_logreader(services: list[str] = ALL_SERVICES, addr: str = '127.0.0.1') -> LogIterable:
- for m in raw_live_logreader(services, addr):
- with capnp_log.Event.from_bytes(m) as evt:
- yield evt
|