parameters: (
          metrics: Dict[str, float], sensor_checks: List[str], innov_fail_checks: List[str],
          check_levels: Dict[str, float])
return_statement: return combined_status, master_status
docstring: # performs the imu, sensor, amd ekf checks and calculates a master status.
      :param metrics:
      :param sensor_checks:
      :param innov_fail_checks:
      :param check_levels:
      :return:
docstring_summary: # performs the imu, sensor, amd ekf checks and calculates a master status.
      :param metrics:
      :param sensor_checks:
      :param innov_fail_checks:
      :param check_levels:
      :return:
docstring_tokens: # performs the imu sensor amd ekf checks and calculates a master status . : param metrics : : param sensor_checks : : param innov_fail_checks : : param check_levels : : return :
function: def perform_ecl_ekf_checks(
          metrics: Dict[str, float], sensor_checks: List[str], innov_fail_checks: List[str],
          check_levels: Dict[str, float]) -> Tuple[Dict[str, str], str]:
      """
      # performs the imu, sensor, amd ekf checks and calculates a master status.
      :param metrics:
      :param sensor_checks:
      :param innov_fail_checks:
      :param check_levels:
      :return:
      """
  
      imu_status = perform_imu_checks(metrics, check_levels)
  
      sensor_status = perform_sensor_innov_checks(
          metrics, sensor_checks, innov_fail_checks, check_levels)
  
      ekf_status = dict()
      ekf_status['filter_fault_status'] = 'Fail' if metrics['filter_faults_max'] > 0 else 'Pass'
  
      # combine the status from the checks
      combined_status = dict()
      combined_status.update(imu_status)
      combined_status.update(sensor_status)
      combined_status.update(ekf_status)
      if any(val == 'Fail' for val in combined_status.values()):
          master_status = 'Fail'
      elif any(val == 'Warning' for val in combined_status.values()):
          master_status = 'Warning'
      else:
          master_status = 'Pass'
  
      return combined_status, master_status
function_tokens: def perform_ecl_ekf_checks ( metrics : Dict [ str , float ] , sensor_checks : List [ str ] , innov_fail_checks : List [ str ] , check_levels : Dict [ str , float ] ) -> Tuple [ Dict [ str , str ] , str ] : imu_status = perform_imu_checks ( metrics , check_levels ) sensor_status = perform_sensor_innov_checks ( metrics , sensor_checks , innov_fail_checks , check_levels ) ekf_status = dict ( ) ekf_status [ 'filter_fault_status' ] = 'Fail' if metrics [ 'filter_faults_max' ] > 0 else 'Pass' # combine the status from the checks combined_status = dict ( ) combined_status . update ( imu_status ) combined_status . update ( sensor_status ) combined_status . update ( ekf_status ) if any ( val == 'Fail' for val in combined_status . values ( ) ) : master_status = 'Fail' elif any ( val == 'Warning' for val in combined_status . values ( ) ) : master_status = 'Warning' else : master_status = 'Pass' return combined_status , master_status