    #carstate = messaging.sub_sock('carState', poller, addr=addr, conflate=True)
    gpsLocationExternal = messaging.sub_sock('gpsLocationExternal', poller, addr=addr, conflate=True)
    sensorEvents = messaging.sub_sock('sensorEvents', poller, addr=addr, conflate=True)
  
    liveLocation = messaging.pub_sock('liveLocation')
  
    localizer = Localizer(disabled_logs=disabled_logs)
    print("init done")
 
</s> remove   ubloxGnss = messaging.sub_sock('ubloxGnss', poller, addr=addr, conflate=True)
  qcomGnss = messaging.sub_sock('qcomGnss', poller, addr=addr, conflate=True)
 </s> add  </s> remove def locationd_thread(gctx, addr, disabled_logs):
 </s> add def locationd_thread(gctx, addr, disabled_logs=[]): </s> remove     fix.speed = float(np.linalg.norm(predicted_state[7:10]))
 </s> add     fix.speed = float(np.linalg.norm(predicted_state[States.ECEF_VELOCITY])) </s> remove     fix_ecef = predicted_state[0:3]
 </s> add     fix_ecef = predicted_state[States.ECEF_POS] </s> remove     orientation_ned_euler = ned_euler_from_ecef(fix_ecef, quat2euler(predicted_state[3:7]))
 </s> add     orientation_ned_euler = ned_euler_from_ecef(fix_ecef, quat2euler(predicted_state[States.ECEF_ORIENTATION]))
  cameraOdometry = messaging.sub_sock('cameraOdometry', poller, addr=addr, conflate=True)
    #carstate = messaging.sub_sock('carState', poller, addr=addr, conflate=True)
    gpsLocationExternal = messaging.sub_sock('gpsLocationExternal', poller, addr=addr, conflate=True)
    sensorEvents = messaging.sub_sock('sensorEvents', poller, addr=addr, conflate=True)
  cameraOdometry = messaging.sub_sock('cameraOdometry', poller, addr=addr, conflate=True)
  
    liveLocation = messaging.pub_sock('liveLocation')
  
    localizer = Localizer(disabled_logs=disabled_logs)
    print("init done")
keep keep add keep keep keep keep keep
 get ready for live localizer 
selfdrive/locationd/locationd.py