Skip to content

Commit 67f2c65

Browse files
committed
Re-initialize direct_queue in TelemetryNode.__init__
The bbdc3a8 refactor that added the redis_client parameter dropped the self.direct_queue init, which publish() reads on every frame. Car mode hides the bug because start_car_services assigns direct_queue after construction; base mode never does, so udp_receiver crashes with AttributeError on the first frame and the whole base container goes unhealthy, taking down integration / vcan / lan-sender CI jobs.
1 parent bbdc3a8 commit 67f2c65

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

  • universal-telemetry-software/src

universal-telemetry-software/src/data.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ def __init__(self, can_event=None, telemetry_event=None, redis_client=None):
7979
if redis_client is None and self.role != "car":
8080
redis_client = redis_utils.get_sync_client(REDIS_URL)
8181
self.redis_client = redis_client # None on the car, possibly None on a Redis-less base
82+
self.direct_queue: asyncio.Queue | None = None # set by main.py for car mode (no Redis)
8283
# ECU clock sync — offset between ECU RTC and local monotonic clock
8384
self._clock_offset: float | None = None # epoch_sec - monotonic at last sync
8485
self._last_ecu_sync: float = 0.0 # monotonic time of last valid ECU 1999

0 commit comments

Comments
 (0)