      fix.heading = float(orientation_ned_euler[2]*180/np.pi)
  
      fix.gyro = [float(predicted_state[10]), float(predicted_state[11]), float(predicted_state[12])]
      fix.accel = [float(predicted_state[19]), float(predicted_state[20]), float(predicted_state[21])]
      local_vel = rotations_from_quats(predicted_state[3:7]).T.dot(predicted_state[7:10])
      fix.pitchCalibration = float((np.arctan2(local_vel[2], local_vel[0]))*180/np.pi)
      fix.yawCalibration = float((np.arctan2(local_vel[1], local_vel[0]))*180/np.pi)
      fix.imuFrame = [(180/np.pi)*float(predicted_state[23]), (180/np.pi)*float(predicted_state[24]), (180/np.pi)*float(predicted_state[25])]
      return fix
  
 
</s> remove     fix.imuFrame = [(180/np.pi)*float(predicted_state[23]), (180/np.pi)*float(predicted_state[24]), (180/np.pi)*float(predicted_state[25])]
 </s> add     #fix.imuFrame = [(180/np.pi)*float(predicted_state[23]), (180/np.pi)*float(predicted_state[24]), (180/np.pi)*float(predicted_state[25])] </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])) </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     self.filter = EKF_sym(name, Q, x_initial, P_initial, self.dim_state, self.dim_state_err)
 </s> add     self.filter = EKF_sym(name, Q, initial_x, np.diag(initial_P_diag), self.dim_state, self.dim_state_err)
    local_vel = rotations_from_quats(predicted_state[States.ECEF_ORIENTATION]).T.dot(predicted_state[States.ECEF_VELOCITY])
      fix.heading = float(orientation_ned_euler[2]*180/np.pi)
  
      fix.gyro = [float(predicted_state[10]), float(predicted_state[11]), float(predicted_state[12])]
      fix.accel = [float(predicted_state[19]), float(predicted_state[20]), float(predicted_state[21])]
    local_vel = rotations_from_quats(predicted_state[States.ECEF_ORIENTATION]).T.dot(predicted_state[States.ECEF_VELOCITY])
      fix.pitchCalibration = float((np.arctan2(local_vel[2], local_vel[0]))*180/np.pi)
      fix.yawCalibration = float((np.arctan2(local_vel[1], local_vel[0]))*180/np.pi)
      fix.imuFrame = [(180/np.pi)*float(predicted_state[23]), (180/np.pi)*float(predicted_state[24]), (180/np.pi)*float(predicted_state[25])]
      return fix
  
keep keep keep keep replace keep keep keep keep keep
 get ready for live localizer 
selfdrive/locationd/locationd.py