From 284dbddd8ab36db5e054b31af083871b8ef03d31 Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Fri, 21 Aug 2026 14:03:08 -0500 Subject: [PATCH] book --- cereal/log.capnp | 1 + cereal/services.h | 1 + cereal/services.py | 1 + selfdrive/ui/feedback/feedbackd.py | 6 +++++- starpilot/system/speed_limit_vision.py | 6 +++--- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/cereal/log.capnp b/cereal/log.capnp index 5510c7352..17ef36acb 100644 --- a/cereal/log.capnp +++ b/cereal/log.capnp @@ -2757,6 +2757,7 @@ struct Event { userBookmark @93 :UserBookmark; bookmarkButton @148 :UserBookmark; audioFeedback @149 :AudioFeedback; + visionSpeedLimitBookmark @153 :UserBookmark; lateralManeuverPlan @150 :LateralManeuverPlan; # *********** debug *********** diff --git a/cereal/services.h b/cereal/services.h index b5576af63..0b780e0ec 100644 --- a/cereal/services.h +++ b/cereal/services.h @@ -69,6 +69,7 @@ static std::map services = { { "rawAudioData", {"rawAudioData", false, 20.000000, -1, 256000}}, { "bookmarkButton", {"bookmarkButton", true, 0.000000, 1, 256000}}, { "audioFeedback", {"audioFeedback", true, 0.000000, 1, 256000}}, + { "visionSpeedLimitBookmark", {"visionSpeedLimitBookmark", false, 0.000000, 1, 256000}}, { "roadEncodeData", {"roadEncodeData", false, 20.000000, -1, 10485760}}, { "driverEncodeData", {"driverEncodeData", false, 20.000000, -1, 10485760}}, { "wideRoadEncodeData", {"wideRoadEncodeData", false, 20.000000, -1, 10485760}}, diff --git a/cereal/services.py b/cereal/services.py index 01593ed66..be51d3e34 100755 --- a/cereal/services.py +++ b/cereal/services.py @@ -86,6 +86,7 @@ _services: dict[str, tuple] = { "rawAudioData": (False, 20.), "bookmarkButton": (True, 0., 1), "audioFeedback": (True, 0., 1), + "visionSpeedLimitBookmark": (False, 0., 1), "roadEncodeData": (False, 20., None, QueueSize.BIG), "driverEncodeData": (False, 20., None, QueueSize.BIG), "wideRoadEncodeData": (False, 20., None, QueueSize.BIG), diff --git a/selfdrive/ui/feedback/feedbackd.py b/selfdrive/ui/feedback/feedbackd.py index b56896ff0..0a1996506 100755 --- a/selfdrive/ui/feedback/feedbackd.py +++ b/selfdrive/ui/feedback/feedbackd.py @@ -13,7 +13,7 @@ def main(): params = Params() params_memory = Params(memory=True) pm = messaging.PubMaster(['userBookmark', 'audioFeedback']) - sm = messaging.SubMaster(['rawAudioData', 'bookmarkButton', 'carState']) + sm = messaging.SubMaster(['rawAudioData', 'bookmarkButton', 'visionSpeedLimitBookmark', 'carState']) should_record_audio = False block_num = 0 waiting_for_release = False @@ -64,6 +64,10 @@ def main(): cloudlog.info("Bookmark button pressed!") bookmark_requests += 1 + if sm.updated['visionSpeedLimitBookmark']: + cloudlog.info("Vision speed limit bookmark requested!") + bookmark_requests += 1 + wheel_bookmark_counter = params_memory.get_int("WheelButtonBookmarkCounter") if wheel_bookmark_counter > last_wheel_bookmark_counter: bookmark_requests += wheel_bookmark_counter - last_wheel_bookmark_counter diff --git a/starpilot/system/speed_limit_vision.py b/starpilot/system/speed_limit_vision.py index 4f83ec01a..520e4d411 100644 --- a/starpilot/system/speed_limit_vision.py +++ b/starpilot/system/speed_limit_vision.py @@ -346,7 +346,7 @@ class SpeedLimitVisionDaemon: from openpilot.common.realtime import Ratekeeper self.messaging = messaging - self.pm = messaging.PubMaster(["userBookmark"]) + self.pm = messaging.PubMaster(["visionSpeedLimitBookmark"]) self.params = Params(return_defaults=True) self.params_memory = Params(memory=True) self.is_metric = self.params.get_bool("IsMetric") @@ -799,8 +799,8 @@ class SpeedLimitVisionDaemon: if not self.use_runtime or self.pm is None or self.messaging is None: return self.ignore_next_user_bookmark = True - msg = self.messaging.new_message("userBookmark", valid=True) - self.pm.send("userBookmark", msg) + msg = self.messaging.new_message("visionSpeedLimitBookmark", valid=True) + self.pm.send("visionSpeedLimitBookmark", msg) def _maybe_commit_auto_bookmark(self, now): pending = self.pending_auto_bookmark