|
|
|
@ -282,7 +282,7 @@ class RadarD: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# fuses camera and radar data for best lead detection |
|
|
|
|
def radard_thread(sm: Optional[messaging.SubMaster] = None, pm: Optional[messaging.PubMaster] = None, can_sock: Optional[messaging.SubSocket] = None): |
|
|
|
|
def main(): |
|
|
|
|
config_realtime_process(5, Priority.CTRL_LOW) |
|
|
|
|
|
|
|
|
|
# wait for stats about the car to come in from controls |
|
|
|
@ -296,12 +296,9 @@ def radard_thread(sm: Optional[messaging.SubMaster] = None, pm: Optional[messagi |
|
|
|
|
RadarInterface = importlib.import_module(f'selfdrive.car.{CP.carName}.radar_interface').RadarInterface |
|
|
|
|
|
|
|
|
|
# *** setup messaging |
|
|
|
|
if can_sock is None: |
|
|
|
|
can_sock = messaging.sub_sock('can') |
|
|
|
|
if sm is None: |
|
|
|
|
sm = messaging.SubMaster(['modelV2', 'carState'], ignore_avg_freq=['modelV2', 'carState']) # Can't check average frequency, since radar determines timing |
|
|
|
|
if pm is None: |
|
|
|
|
pm = messaging.PubMaster(['radarState', 'liveTracks']) |
|
|
|
|
can_sock = messaging.sub_sock('can') |
|
|
|
|
sm = messaging.SubMaster(['modelV2', 'carState'], ignore_avg_freq=['modelV2', 'carState']) # Can't check average frequency, since radar determines timing |
|
|
|
|
pm = messaging.PubMaster(['radarState', 'liveTracks']) |
|
|
|
|
|
|
|
|
|
RI = RadarInterface(CP) |
|
|
|
|
|
|
|
|
@ -323,9 +320,5 @@ def radard_thread(sm: Optional[messaging.SubMaster] = None, pm: Optional[messagi |
|
|
|
|
rk.monitor_time() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def main(sm: Optional[messaging.SubMaster] = None, pm: Optional[messaging.PubMaster] = None, can_sock: messaging.SubSocket = None): |
|
|
|
|
radard_thread(sm, pm, can_sock) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
|
|
main() |
|
|
|
|