diff --git a/cereal/custom.capnp b/cereal/custom.capnp index 93e0df312..54e797141 100644 --- a/cereal/custom.capnp +++ b/cereal/custom.capnp @@ -26,7 +26,32 @@ enum LaneChangeAssistMode { auto @3; } -struct CustomReserved2 @0xf35cc4560bbf6ec2 { +struct TeToo @0xf35cc4560bbf6ec2 { + lat @0 :Float32; + lon @1 :Float32; + bearing @2 :Float32; + name @3 :Text; + maxspeed @4 :Float32; + tags @5 :Text; + + updatingData @6 :Bool; + nearestFeatures @7 :List(Feature); + + struct Feature { + id @0 :Text; + type @1 :FeatureType; + lat @2 :Float32; + lon @3 :Float32; + bearing @4 :Float32; + distance @5 :Float32; + tags @6 :Text; + } + + enum FeatureType { + trafficSignal @0; + speedCamera @1; + } + } struct CustomReserved3 @0xda96579883444c35 { diff --git a/cereal/log.capnp b/cereal/log.capnp index b53324f3f..ee047f00e 100644 --- a/cereal/log.capnp +++ b/cereal/log.capnp @@ -2351,7 +2351,7 @@ struct Event { # *********** Custom: reserved for forks *********** controlsStateExt @107 :Custom.ControlsStateExt; longitudinalPlanExt @108 :Custom.LongitudinalPlanExt; - customReserved2 @109 :Custom.CustomReserved2; + teToo @109 :Custom.TeToo; customReserved3 @110 :Custom.CustomReserved3; customReserved4 @111 :Custom.CustomReserved4; customReserved5 @112 :Custom.CustomReserved5; diff --git a/cereal/services.py b/cereal/services.py index 261d838aa..d2b613195 100755 --- a/cereal/services.py +++ b/cereal/services.py @@ -91,6 +91,7 @@ _services: dict[str, tuple] = { # dp "controlsStateExt": (False, 100., 10), "longitudinalPlanExt": (False, 20., 5), + "teToo": (False, 5), } SERVICE_LIST = {name: Service(*vals) for idx, (name, vals) in enumerate(_services.items())}