diff --git a/selfdrive/controls/lib/events.py b/selfdrive/controls/lib/events.py index bb1a54f232..f1bd07c69b 100755 --- a/selfdrive/controls/lib/events.py +++ b/selfdrive/controls/lib/events.py @@ -1,9 +1,9 @@ #!/usr/bin/env python3 +import bisect import math import os from enum import IntEnum from collections.abc import Callable -from sortedcontainers import SortedList from cereal import log, car import cereal.messaging as messaging @@ -49,12 +49,12 @@ EVENT_NAME = {v: k for k, v in EventName.schema.enumerants.items()} class Events: def __init__(self): - self.events: SortedList[int] = SortedList() - self.static_events: SortedList[int] = SortedList() + self.events: list[int] = [] + self.static_events: list[int] = [] self.events_prev = dict.fromkeys(EVENTS.keys(), 0) @property - def names(self) -> SortedList[int]: + def names(self) -> list[int]: return self.events def __len__(self) -> int: @@ -62,8 +62,8 @@ class Events: def add(self, event_name: int, static: bool=False) -> None: if static: - self.static_events.add(event_name) - self.events.add(event_name) + bisect.insort(self.static_events, event_name) + bisect.insort(self.events, event_name) def clear(self) -> None: self.events_prev = {k: (v + 1 if k in self.events else 0) for k, v in self.events_prev.items()} @@ -93,7 +93,7 @@ class Events: def add_from_msg(self, events): for e in events: - self.events.add(e.name.raw) + bisect.insort(self.events, e.name.raw) def to_msg(self): ret = []