From 377facf651ce159d3b30d91c42cdeb9b6c066fbe Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Wed, 14 Aug 2024 22:09:08 -0700 Subject: [PATCH] add typing to radard since I didn't realize RI.update() switched from cereal to structs --- selfdrive/controls/radard.py | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/selfdrive/controls/radard.py b/selfdrive/controls/radard.py index a7e3c0211d..eb1cdb2d2c 100755 --- a/selfdrive/controls/radard.py +++ b/selfdrive/controls/radard.py @@ -11,6 +11,7 @@ from openpilot.common.params import Params from openpilot.common.realtime import DT_CTRL, Ratekeeper, Priority, config_realtime_process from openpilot.common.swaglog import cloudlog from openpilot.common.simple_kalman import KF1D +from openpilot.selfdrive.car import structs from openpilot.selfdrive.pandad import can_capnp_to_list @@ -208,23 +209,17 @@ class RadarD: self.ready = False - def update(self, sm: messaging.SubMaster, rr): + def update(self, sm: messaging.SubMaster, rr: structs.RadarData): self.ready = sm.seen['modelV2'] self.current_time = 1e-9*max(sm.logMonoTime.values()) - radar_points = [] - radar_errors = [] - if rr is not None: - radar_points = rr.points - radar_errors = rr.errors - if sm.recv_frame['carState'] != self.last_v_ego_frame: self.v_ego = sm['carState'].vEgo self.v_ego_hist.append(self.v_ego) self.last_v_ego_frame = sm.recv_frame['carState'] ar_pts = {} - for pt in radar_points: + for pt in rr.points: ar_pts[pt.trackId] = [pt.dRel, pt.yRel, pt.vRel, pt.measured] # *** remove missing points from meta data *** @@ -245,10 +240,10 @@ class RadarD: self.tracks[ids].update(rpt[0], rpt[1], rpt[2], v_lead, rpt[3]) # *** publish radarState *** - self.radar_state_valid = sm.all_checks() and len(radar_errors) == 0 + self.radar_state_valid = sm.all_checks() and len(rr.errors) == 0 self.radar_state = log.RadarState.new_message() self.radar_state.mdMonoTime = sm.logMonoTime['modelV2'] - self.radar_state.radarErrors = list(radar_errors) + self.radar_state.radarErrors = list(rr.errors) self.radar_state.carStateMonoTime = sm.logMonoTime['carState'] if len(sm['modelV2'].temporalPose.trans): @@ -283,7 +278,7 @@ class RadarD: # fuses camera and radar data for best lead detection -def main(): +def main() -> None: config_realtime_process(5, Priority.CTRL_LOW) # wait for stats about the car to come in from controls @@ -307,7 +302,7 @@ def main(): while 1: can_strings = messaging.drain_sock_raw(can_sock, wait_for_one=True) - rr = RI.update(can_capnp_to_list(can_strings)) + rr: structs.RadarData | None = RI.update(can_capnp_to_list(can_strings)) sm.update(0) if rr is None: continue