Model {
  Name			  "fuelsys"
  Version		  6.2
  MdlSubVersion		  0
  GraphicalInterface {
    NumRootInports	    0
    NumRootOutports	    0
    ParameterArgumentNames  ""
    ComputedModelVersion    "1.106"
    NumModelReferences	    0
    NumTestPointedSignals   0
  }
  SavedCharacterEncoding  "US-ASCII"
  PreLoadFcn		  "load fsysdat"
  SaveDefaultBlockParams  on
  SampleTimeColors	  off
  LibraryLinkDisplay	  "none"
  WideLines		  on
  ShowLineDimensions	  off
  ShowPortDataTypes	  off
  ShowLoopsOnError	  on
  IgnoreBidirectionalLines off
  ShowStorageClass	  off
  ShowTestPointIcons	  on
  ShowViewerIcons	  on
  SortedOrder		  off
  ExecutionContextIcon	  off
  ShowLinearizationAnnotations on
  RecordCoverage	  off
  CovPath		  "/"
  CovSaveName		  "covdata"
  CovMetricSettings	  "dcmtr"
  CovNameIncrementing	  off
  CovHtmlReporting	  on
  covSaveCumulativeToWorkspaceVar on
  CovSaveSingleToWorkspaceVar on
  CovCumulativeVarName	  "covCumulativeData"
  CovCumulativeReport	  off
  CovReportOnPause	  on
  ScopeRefreshTime	  0.035000
  OverrideScopeRefreshTime on
  DisableAllScopes	  off
  DataTypeOverride	  "UseLocalSettings"
  MinMaxOverflowLogging	  "UseLocalSettings"
  MinMaxOverflowArchiveMode "Overwrite"
  BlockNameDataTip	  off
  BlockParametersDataTip  on
  BlockDescriptionStringDataTip	off
  ToolBar		  on
  StatusBar		  on
  BrowserShowLibraryLinks off
  BrowserLookUnderMasks	  off
  Created		  "Tue Jun 02 16:11:43 1998"
  Creator		  "The MathWorks Inc."
  UpdateHistory		  "UpdateHistoryNever"
  ModifiedByFormat	  "%<Auto>"
  LastModifiedBy	  "batserve"
  ModifiedDateFormat	  "%<Auto>"
  LastModifiedDate	  "Sat Jan 22 19:11:44 2005"
  ModelVersionFormat	  "1.%<AutoIncrement:106>"
  ConfigurationManager	  "none"
  LinearizationMsg	  "none"
  Profile		  off
  ParamWorkspaceSource	  "MATLABWorkspace"
  AccelSystemTargetFile	  "accel.tlc"
  AccelTemplateMakefile	  "accel_default_tmf"
  AccelMakeCommand	  "make_rtw"
  TryForcingSFcnDF	  off
  ExtModeBatchMode	  off
  ExtModeEnableFloating	  on
  ExtModeTrigType	  "manual"
  ExtModeTrigMode	  "oneshot"
  ExtModeTrigPort	  "1"
  ExtModeTrigElement	  "any"
  ExtModeTrigDuration	  1000
  ExtModeTrigDurationFloating "auto"
  ExtModeTrigHoldOff	  0
  ExtModeTrigDelay	  0
  ExtModeTrigDirection	  "rising"
  ExtModeTrigLevel	  0
  ExtModeArchiveMode	  "off"
  ExtModeAutoIncOneShot	  off
  ExtModeIncDirWhenArm	  off
  ExtModeAddSuffixToVar	  off
  ExtModeWriteAllDataToWs off
  ExtModeArmWhenConnect	  off
  ExtModeSkipDownloadWhenConnect off
  ExtModeLogAll		  on
  ExtModeAutoUpdateStatusClock off
  BufferReuse		  on
  StrictBusMsg		  "None"
  ProdHWDeviceType	  "32-bit Generic"
  ShowModelReferenceBlockVersion off
  ShowModelReferenceBlockIO off
  Array {
    Type		    "Handle"
    Dimension		    1
    Simulink.ConfigSet {
      $ObjectID		      1
      Version		      "1.1.0"
      Array {
	Type			"Handle"
	Dimension		7
	Simulink.SolverCC {
	  $ObjectID		  2
	  Version		  "1.1.0"
	  StartTime		  "0.0"
	  StopTime		  "2000"
	  AbsTol		  "1e-6"
	  FixedStep		  "0.001"
	  InitialStep		  "auto"
	  MaxNumMinSteps	  "-1"
	  MaxOrder		  5
	  ExtrapolationOrder	  4
	  NumberNewtonIterations  1
	  MaxStep		  "auto"
	  MinStep		  "auto"
	  RelTol		  "1e-5"
	  SolverMode		  "SingleTasking"
	  Solver		  "ode45"
	  SolverName		  "ode45"
	  ZeroCrossControl	  "UseLocalSettings"
	  AlgebraicLoopSolver	  "TrustRegion"
	  SolverResetMethod	  "Fast"
	  PositivePriorityOrder	  off
	  AutoInsertRateTranBlk	  off
	  SampleTimeConstraint	  "Unconstrained"
	  RateTranMode		  "Deterministic"
	}
	Simulink.DataIOCC {
	  $ObjectID		  3
	  Version		  "1.1.0"
	  Decimation		  "1"
	  ExternalInput		  "[t, u]"
	  FinalStateName	  "xFinal"
	  InitialState		  "xInitial"
	  LimitDataPoints	  off
	  MaxDataPoints		  "1000"
	  LoadExternalInput	  off
	  LoadInitialState	  off
	  SaveFinalState	  off
	  SaveFormat		  "Array"
	  SaveOutput		  off
	  SaveState		  off
	  SignalLogging		  on
	  SaveTime		  off
	  StateSaveName		  "xout"
	  TimeSaveName		  "tout"
	  OutputSaveName	  "yout"
	  SignalLoggingName	  "logsout"
	  OutputOption		  "RefineOutputTimes"
	  OutputTimes		  "[]"
	  Refine		  "1"
	}
	Simulink.OptimizationCC {
	  $ObjectID		  4
	  Array {
	    Type		    "Cell"
	    Dimension		    5
	    Cell		    "ZeroExternalMemoryAtStartup"
	    Cell		    "ZeroInternalMemoryAtStartup"
	    Cell		    "InitFltsAndDblsToZero"
	    Cell		    "OptimizeModelRefInitCode"
	    Cell		    "NoFixptDivByZeroProtection"
	    PropName		    "DisabledProps"
	  }
	  Version		  "1.1.0"
	  BlockReduction	  on
	  BooleanDataType	  on
	  ConditionallyExecuteInputs on
	  InlineParams		  off
	  InlineInvariantSignals  on
	  OptimizeBlockIOStorage  on
	  BufferReuse		  on
	  EnforceIntegerDowncast  on
	  ExpressionFolding	  on
	  FoldNonRolledExpr	  on
	  LocalBlockOutputs	  on
	  ParameterPooling	  on
	  RollThreshold		  5
	  SystemCodeInlineAuto	  off
	  StateBitsets		  off
	  DataBitsets		  off
	  UseTempVars		  off
	  ZeroExternalMemoryAtStartup on
	  ZeroInternalMemoryAtStartup on
	  InitFltsAndDblsToZero	  on
	  NoFixptDivByZeroProtection off
	  EfficientFloat2IntCast  off
	  OptimizeModelRefInitCode off
	  LifeSpan		  "inf"
	  BufferReusableBoundary  on
	}
	Simulink.DebuggingCC {
	  $ObjectID		  5
	  Version		  "1.1.0"
	  RTPrefix		  "error"
	  ConsistencyChecking	  "none"
	  ArrayBoundsChecking	  "none"
	  SignalInfNanChecking	  "none"
	  AlgebraicLoopMsg	  "warning"
	  ArtificialAlgebraicLoopMsg "warning"
	  CheckSSInitialOutputMsg on
	  CheckExecutionContextPreStartOutputMsg off
	  CheckExecutionContextRuntimeOutputMsg	off
	  SignalResolutionControl "TryResolveAllWithWarning"
	  BlockPriorityViolationMsg "warning"
	  MinStepSizeMsg	  "warning"
	  SolverPrmCheckMsg	  "none"
	  InheritedTsInSrcMsg	  "warning"
	  DiscreteInheritContinuousMsg "warning"
	  MultiTaskDSMMsg	  "warning"
	  MultiTaskRateTransMsg	  "error"
	  SingleTaskRateTransMsg  "none"
	  TasksWithSamePriorityMsg "warning"
	  CheckMatrixSingularityMsg "none"
	  IntegerOverflowMsg	  "none"
	  Int32ToFloatConvMsg	  "warning"
	  ParameterDowncastMsg	  "error"
	  ParameterOverflowMsg	  "error"
	  ParameterPrecisionLossMsg "warning"
	  UnderSpecifiedDataTypeMsg "none"
	  UnnecessaryDatatypeConvMsg "none"
	  VectorMatrixConversionMsg "none"
	  InvalidFcnCallConnMsg	  "error"
	  FcnCallInpInsideContextMsg "Use local settings"
	  SignalLabelMismatchMsg  "none"
	  UnconnectedInputMsg	  "warning"
	  UnconnectedOutputMsg	  "warning"
	  UnconnectedLineMsg	  "warning"
	  SFcnCompatibilityMsg	  "none"
	  UniqueDataStoreMsg	  "none"
	  BusObjectLabelMismatch  "warning"
	  RootOutportRequireBusObject "warning"
	  AssertControl		  "UseLocalSettings"
	  EnableOverflowDetection off
	  ModelReferenceIOMsg	  "none"
	  ModelReferenceVersionMismatchMessage "none"
	  ModelReferenceIOMismatchMessage "none"
	  ModelReferenceCSMismatchMessage "none"
	  ModelReferenceSimTargetVerbose off
	  UnknownTsInhSupMsg	  "warning"
	  ModelReferenceDataLoggingMessage "warning"
	  ModelReferenceSymbolNameMessage "warning"
	  ModelReferenceExtraNoncontSigs "error"
	}
	Simulink.HardwareCC {
	  $ObjectID		  6
	  Version		  "1.1.0"
	  ProdBitPerChar	  8
	  ProdBitPerShort	  16
	  ProdBitPerInt		  32
	  ProdBitPerLong	  32
	  ProdIntDivRoundTo	  "Undefined"
	  ProdEndianess		  "Unspecified"
	  ProdWordSize		  32
	  ProdShiftRightIntArith  on
	  ProdHWDeviceType	  "32-bit Generic"
	  TargetBitPerChar	  8
	  TargetBitPerShort	  16
	  TargetBitPerInt	  32
	  TargetBitPerLong	  32
	  TargetShiftRightIntArith on
	  TargetIntDivRoundTo	  "Undefined"
	  TargetEndianess	  "Unspecified"
	  TargetWordSize	  32
	  TargetTypeEmulationWarnSuppressLevel 0
	  TargetPreprocMaxBitsSint 32
	  TargetPreprocMaxBitsUint 32
	  TargetHWDeviceType	  "Specified"
	  TargetUnknown		  on
	  ProdEqTarget		  on
	}
	Simulink.ModelReferenceCC {
	  $ObjectID		  7
	  Version		  "1.1.0"
	  UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange"
	  CheckModelReferenceTargetMessage "error"
	  ModelReferenceNumInstancesAllowed "Multi"
	  ModelReferencePassRootInputsByReference on
	  ModelReferenceMinAlgLoopOccurrences off
	}
	Simulink.RTWCC {
	  $BackupClass		  "Simulink.RTWCC"
	  $ObjectID		  8
	  Array {
	    Type		    "Cell"
	    Dimension		    1
	    Cell		    "IncludeHyperlinkInReport"
	    PropName		    "DisabledProps"
	  }
	  Version		  "1.1.0"
	  SystemTargetFile	  "grt.tlc"
	  GenCodeOnly		  off
	  MakeCommand		  "make_rtw"
	  TemplateMakefile	  "grt_default_tmf"
	  GenerateReport	  off
	  SaveLog		  off
	  RTWVerbose		  on
	  RetainRTWFile		  off
	  ProfileTLC		  off
	  TLCDebug		  off
	  TLCCoverage		  off
	  TLCAssert		  off
	  ProcessScriptMode	  "Default"
	  ConfigurationMode	  "Optimized"
	  ConfigAtBuild		  off
	  IncludeHyperlinkInReport off
	  LaunchReport		  off
	  TargetLang		  "C"
	  Array {
	    Type		    "Handle"
	    Dimension		    2
	    Simulink.CodeAppCC {
	      $ObjectID		      9
	      Array {
		Type			"Cell"
		Dimension		9
		Cell			"IgnoreCustomStorageClasses"
		Cell			"InsertBlockDesc"
		Cell			"SFDataObjDesc"
		Cell			"SimulinkDataObjDesc"
		Cell			"DefineNamingRule"
		Cell			"SignalNamingRule"
		Cell			"ParamNamingRule"
		Cell			"InlinedPrmAccess"
		Cell			"CustomSymbolStr"
		PropName		"DisabledProps"
	      }
	      Version		      "1.1.0"
	      ForceParamTrailComments off
	      GenerateComments	      on
	      IgnoreCustomStorageClasses on
	      IncHierarchyInIds	      off
	      MaxIdLength	      31
	      PreserveName	      off
	      PreserveNameWithParent  off
	      ShowEliminatedStatement off
	      IncAutoGenComments      off
	      SimulinkDataObjDesc     off
	      SFDataObjDesc	      off
	      IncDataTypeInIds	      off
	      PrefixModelToSubsysFcnNames on
	      CustomSymbolStr	      "$R$N$M"
	      MangleLength	      1
	      DefineNamingRule	      "None"
	      ParamNamingRule	      "None"
	      SignalNamingRule	      "None"
	      InsertBlockDesc	      off
	      SimulinkBlockComments   on
	      EnableCustomComments    off
	      InlinedPrmAccess	      "Literals"
	      ReqsInCode	      off
	    }
	    Simulink.GRTTargetCC {
	      $BackupClass	      "Simulink.TargetCC"
	      $ObjectID		      10
	      Array {
		Type			"Cell"
		Dimension		12
		Cell			"IncludeMdlTerminateFcn"
		Cell			"CombineOutputUpdateFcns"
		Cell			"SuppressErrorStatus"
		Cell			"ERTCustomFileBanners"
		Cell			"GenerateSampleERTMain"
		Cell			"MultiInstanceERTCode"
		Cell			"PurelyIntegerCode"
		Cell			"SupportNonFinite"
		Cell			"SupportComplex"
		Cell			"SupportAbsoluteTime"
		Cell			"SupportContinuousTime"
		Cell			"SupportNonInlinedSFcns"
		PropName		"DisabledProps"
	      }
	      Version		      "1.1.0"
	      TargetFcnLib	      "ansi_tfl_tmw.mat"
	      TargetLibSuffix	      ""
	      TargetPreCompLibLocation ""
	      GenFloatMathFcnCalls    "ANSI_C"
	      UtilityFuncGeneration   "Auto"
	      GenerateFullHeader      on
	      GenerateSampleERTMain   off
	      IsPILTarget	      off
	      ModelReferenceCompliant on
	      IncludeMdlTerminateFcn  on
	      CombineOutputUpdateFcns off
	      SuppressErrorStatus     off
	      IncludeFileDelimiter    "Auto"
	      ERTCustomFileBanners    off
	      SupportAbsoluteTime     on
	      LogVarNameModifier      "rt_"
	      MatFileLogging	      on
	      MultiInstanceERTCode    off
	      SupportNonFinite	      on
	      SupportComplex	      on
	      PurelyIntegerCode	      off
	      SupportContinuousTime   on
	      SupportNonInlinedSFcns  on
	      ExtMode		      off
	      ExtModeStaticAlloc      off
	      ExtModeTesting	      off
	      ExtModeStaticAllocSize  1000000
	      ExtModeTransport	      0
	      ExtModeMexFile	      "ext_comm"
	      RTWCAPISignals	      off
	      RTWCAPIParams	      off
	      RTWCAPIStates	      off
	      GenerateASAP2	      off
	    }
	    PropName		    "Components"
	  }
	}
	PropName		"Components"
      }
      Name		      "Configuration"
      SimulationMode	      "normal"
      CurrentDlgPage	      "Diagnostics"
    }
    PropName		    "ConfigurationSets"
  }
  Simulink.ConfigSet {
    $PropName		    "ActiveConfigurationSet"
    $ObjectID		    1
  }
  BlockDefaults {
    Orientation		    "right"
    ForegroundColor	    "black"
    BackgroundColor	    "white"
    DropShadow		    off
    NamePlacement	    "normal"
    FontName		    "Helvetica"
    FontSize		    10
    FontWeight		    "normal"
    FontAngle		    "normal"
    ShowName		    on
  }
  BlockParameterDefaults {
    Block {
      BlockType		      Clock
      DisplayTime	      off
    }
    Block {
      BlockType		      Constant
      Value		      "1"
      VectorParams1D	      on
      OutDataTypeMode	      "Inherit from 'Constant value'"
      OutDataType	      "sfix(16)"
      ConRadixGroup	      "Use specified scaling"
      OutScaling	      "2^0"
      SampleTime	      "inf"
    }
    Block {
      BlockType		      DataTypeConversion
      OutDataTypeMode	      "Inherit via back propagation"
      OutDataType	      "sfix(16)"
      OutScaling	      "2^0"
      LockScale		      off
      ConvertRealWorld	      "Real World Value (RWV)"
      RndMeth		      "Zero"
      SaturateOnIntegerOverflow	on
      SampleTime	      "-1"
    }
    Block {
      BlockType		      Demux
      Outputs		      "4"
      DisplayOption	      "none"
      BusSelectionMode	      off
    }
    Block {
      BlockType		      DiscreteIntegrator
      IntegratorMethod	      "Integration: Forward Euler"
      gainval		      "1.0"
      ExternalReset	      "none"
      InitialConditionSource  "internal"
      InitialCondition	      "0"
      InitialConditionMode    "State and output"
      SampleTime	      "1"
      OutDataTypeMode	      "Inherit via internal rule"
      OutDataType	      "sfix(16)"
      OutScaling	      "2^0"
      LockScale		      off
      RndMeth		      "Floor"
      SaturateOnIntegerOverflow	off
      LimitOutput	      off
      UpperSaturationLimit    "inf"
      LowerSaturationLimit    "-inf"
      ShowSaturationPort      off
      ShowStatePort	      off
      IgnoreLimit	      off
      StateMustResolveToSignalObject off
      RTWStateStorageClass    "Auto"
    }
    Block {
      BlockType		      DiscreteTransferFcn
      Numerator		      "[1]"
      Denominator	      "[1 0.5]"
      SampleTime	      "1"
      StateMustResolveToSignalObject off
      RTWStateStorageClass    "Auto"
      Realization	      "auto"
    }
    Block {
      BlockType		      EnablePort
      StatesWhenEnabling      "held"
      ShowOutputPort	      off
      ZeroCross		      on
    }
    Block {
      BlockType		      Fcn
      Expr		      "sin(u[1])"
      SampleTime	      "-1"
    }
    Block {
      BlockType		      Gain
      Gain		      "1"
      Multiplication	      "Element-wise(K.*u)"
      ParameterDataTypeMode   "Same as input"
      ParameterDataType	      "sfix(16)"
      ParameterScalingMode    "Best Precision: Matrix-wise"
      ParameterScaling	      "2^0"
      OutDataTypeMode	      "Same as input"
      OutDataType	      "sfix(16)"
      OutScaling	      "2^0"
      LockScale		      off
      RndMeth		      "Floor"
      SaturateOnIntegerOverflow	on
      SampleTime	      "-1"
    }
    Block {
      BlockType		      SignalConversion
      OverrideOpt	      off
    }
    Block {
      BlockType		      Inport
      UseBusObject	      off
      BusObject		      "BusObject"
      BusOutputAsStruct	      off
      PortDimensions	      "-1"
      SampleTime	      "-1"
      DataType		      "auto"
      OutDataType	      "sfix(16)"
      OutScaling	      "2^0"
      SignalType	      "auto"
      SamplingMode	      "auto"
      Interpolate	      on
    }
    Block {
      BlockType		      Integrator
      ExternalReset	      "none"
      InitialConditionSource  "internal"
      InitialCondition	      "0"
      LimitOutput	      off
      UpperSaturationLimit    "inf"
      LowerSaturationLimit    "-inf"
      ShowSaturationPort      off
      ShowStatePort	      off
      AbsoluteTolerance	      "auto"
      IgnoreLimit	      off
      ZeroCross		      on
    }
    Block {
      BlockType		      Logic
      Operator		      "AND"
      Inputs		      "2"
      AllPortsSameDT	      on
      OutDataTypeMode	      "Logical (see Configuration Parameters: Optimiza"
"tion)"
      LogicDataType	      "uint(8)"
      SampleTime	      "-1"
    }
    Block {
      BlockType		      Lookup
      InputValues	      "[-4:5]"
      OutputValues	      " rand(1,10)-0.5"
      LookUpMeth	      "Interpolation-Extrapolation"
      OutDataTypeMode	      "Same as input"
      OutDataType	      "sfix(16)"
      OutScaling	      "2^0"
      LockScale		      off
      RndMeth		      "Floor"
      SaturateOnIntegerOverflow	on
      SampleTime	      "-1"
      LUTDesignTableMode      "Redesign Table"
      LUTDesignDataSource     "Block Dialog"
      LUTDesignFunctionName   "sqrt(x)"
      LUTDesignUseExistingBP  on
      LUTDesignRelError	      "0.01"
      LUTDesignAbsError	      "1e-6"
    }
    Block {
      BlockType		      MinMax
      Function		      "min"
      Inputs		      "1"
      InputSameDT	      on
      OutDataTypeMode	      "Inherit via internal rule"
      OutDataType	      "sfix(16)"
      OutScaling	      "2^0"
      LockScale		      off
      RndMeth		      "Floor"
      SaturateOnIntegerOverflow	on
      ZeroCross		      on
      SampleTime	      "-1"
    }
    Block {
      BlockType		      MultiPortSwitch
      Inputs		      "4"
      zeroidx		      off
      InputSameDT	      on
      OutDataTypeMode	      "Inherit via internal rule"
      RndMeth		      "Floor"
      SaturateOnIntegerOverflow	on
      SampleTime	      "-1"
    }
    Block {
      BlockType		      Mux
      Inputs		      "4"
      DisplayOption	      "none"
      UseBusObject	      off
      BusObject		      "BusObject"
      NonVirtualBus	      off
    }
    Block {
      BlockType		      Outport
      Port		      "1"
      UseBusObject	      off
      BusObject		      "BusObject"
      BusOutputAsStruct	      off
      PortDimensions	      "-1"
      SampleTime	      "-1"
      DataType		      "auto"
      OutDataType	      "sfix(16)"
      OutScaling	      "2^0"
      SignalType	      "auto"
      SamplingMode	      "auto"
      OutputWhenDisabled      "held"
      InitialOutput	      "[]"
    }
    Block {
      BlockType		      Product
      Inputs		      "2"
      Multiplication	      "Element-wise(.*)"
      InputSameDT	      on
      OutDataTypeMode	      "Same as first input"
      OutDataType	      "sfix(16)"
      OutScaling	      "2^0"
      LockScale		      off
      RndMeth		      "Zero"
      SaturateOnIntegerOverflow	on
      SampleTime	      "-1"
    }
    Block {
      BlockType		      Reference
    }
    Block {
      BlockType		      RelationalOperator
      Operator		      ">="
      InputSameDT	      on
      LogicOutDataTypeMode    "Logical (see Configuration Parameters: Optimiza"
"tion)"
      LogicDataType	      "uint(8)"
      ZeroCross		      on
      SampleTime	      "-1"
    }
    Block {
      BlockType		      Saturate
      UpperLimit	      "0.5"
      LowerLimit	      "-0.5"
      LinearizeAsGain	      on
      ZeroCross		      on
      SampleTime	      "-1"
    }
    Block {
      BlockType		      Scope
      Floating		      off
      ModelBased	      off
      TickLabels	      "OneTimeTick"
      ZoomMode		      "on"
      Grid		      "on"
      TimeRange		      "auto"
      YMin		      "-5"
      YMax		      "5"
      SaveToWorkspace	      off
      SaveName		      "ScopeData"
      LimitDataPoints	      on
      MaxDataPoints	      "5000"
      Decimation	      "1"
      SampleInput	      off
      SampleTime	      "0"
    }
    Block {
      BlockType		      Selector
      InputType		      "Vector"
      IndexMode		      "One-based"
      ElementSrc	      "Internal"
      Elements		      "1"
      RowSrc		      "Internal"
      Rows		      "1"
      ColumnSrc		      "Internal"
      Columns		      "1"
      InputPortWidth	      "-1"
      IndexIsStartValue	      off
      OutputPortSize	      "1"
    }
    Block {
      BlockType		      "S-Function"
      FunctionName	      "system"
      SFunctionModules	      "''"
      PortCounts	      "[]"
    }
    Block {
      BlockType		      Signum
      ZeroCross		      on
      SampleTime	      "-1"
    }
    Block {
      BlockType		      SubSystem
      ShowPortLabels	      on
      Permissions	      "ReadWrite"
      PermitHierarchicalResolution "All"
      SystemSampleTime	      "-1"
      RTWFcnNameOpts	      "Auto"
      RTWFileNameOpts	      "Auto"
      SimViewingDevice	      off
      DataTypeOverride	      "UseLocalSettings"
      MinMaxOverflowLogging   "UseLocalSettings"
    }
    Block {
      BlockType		      Sum
      IconShape		      "rectangular"
      Inputs		      "++"
      InputSameDT	      on
      OutDataTypeMode	      "Same as first input"
      OutDataType	      "sfix(16)"
      OutScaling	      "2^0"
      LockScale		      off
      RndMeth		      "Floor"
      SaturateOnIntegerOverflow	on
      SampleTime	      "-1"
    }
    Block {
      BlockType		      Switch
      Criteria		      "u2 >= Threshold"
      Threshold		      "0"
      InputSameDT	      on
      OutDataTypeMode	      "Inherit via internal rule"
      RndMeth		      "Floor"
      SaturateOnIntegerOverflow	on
      ZeroCross		      on
      SampleTime	      "-1"
    }
    Block {
      BlockType		      Terminator
    }
    Block {
      BlockType		      ZeroOrderHold
      SampleTime	      "1"
    }
  }
  AnnotationDefaults {
    HorizontalAlignment	    "center"
    VerticalAlignment	    "middle"
    ForegroundColor	    "black"
    BackgroundColor	    "white"
    DropShadow		    off
    FontName		    "Helvetica"
    FontSize		    10
    FontWeight		    "normal"
    FontAngle		    "normal"
  }
  LineDefaults {
    FontName		    "Helvetica"
    FontSize		    9
    FontWeight		    "normal"
    FontAngle		    "normal"
  }
  System {
    Name		    "fuelsys"
    Location		    [30, 81, 587, 516]
    Open		    on
    ModelBrowserVisibility  off
    ModelBrowserWidth	    200
    ScreenColor		    "white"
    PaperOrientation	    "portrait"
    PaperPositionMode	    "auto"
    PaperType		    "usletter"
    PaperUnits		    "inches"
    ZoomFactor		    "100"
    ReportName		    "simulink-default.rpt"
    Block {
      BlockType		      Constant
      Name		      "Constant2"
      Position		      [195, 175, 215, 195]
      Orientation	      "up"
      NamePlacement	      "alternate"
      ShowName		      off
      Value		      "0"
    }
    Block {
      BlockType		      Constant
      Name		      "Constant3"
      Position		      [190, 230, 210, 250]
      Orientation	      "up"
      NamePlacement	      "alternate"
      ShowName		      off
      Value		      "12"
    }
    Block {
      BlockType		      Constant
      Name		      "Constant4"
      Position		      [200, 115, 220, 135]
      Orientation	      "up"
      NamePlacement	      "alternate"
      ShowName		      off
      Value		      "0"
    }
    Block {
      BlockType		      Constant
      Name		      "Constant5"
      Position		      [190, 295, 210, 315]
      Orientation	      "up"
      NamePlacement	      "alternate"
      ShowName		      off
      Value		      "0"
    }
    Block {
      BlockType		      Reference
      Name		      "EGO sensor"
      Ports		      [2, 1]
      Position		      [230, 193, 270, 237]
      SourceBlock	      "simulink/Signal\nRouting/Manual Switch"
      SourceType	      "Manual Switch"
      ShowPortLabels	      on
      sw		      "1"
      action		      "0"
    }
    Block {
      BlockType		      Constant
      Name		      "High \nSpeed\n(rad./Sec.)"
      Position		      [30, 183, 60, 197]
      Value		      "700"
    }
    Block {
      BlockType		      Reference
      Name		      "MAP sensor"
      Ports		      [2, 1]
      Position		      [230, 254, 270, 296]
      SourceBlock	      "simulink/Signal\nRouting/Manual Switch"
      SourceType	      "Manual Switch"
      ShowPortLabels	      on
      sw		      "1"
      action		      "0"
    }
    Block {
      BlockType		      Scope
      Name		      "Metered Fuel"
      Ports		      [1]
      Position		      [400, 265, 430, 295]
      Location		      [25, 518, 300, 694]
      Open		      on
      NumInputPorts	      "1"
      TickLabels	      "on"
      List {
	ListType		AxesTitles
	axes1			"%<SignalLabel>"
      }
      TimeRange		      "8"
      YMin		      "0.75"
      YMax		      "2.25"
      DataFormat	      "Array"
      LimitDataPoints	      off
    }
    Block {
      BlockType		      Constant
      Name		      "Nominal\nSpeed"
      Position		      [30, 163, 60, 177]
      NamePlacement	      "alternate"
      Value		      "300"
    }
    Block {
      BlockType		      Scope
      Name		      "air/fuel\nmixture ratio"
      Ports		      [1]
      Position		      [470, 265, 500, 295]
      Orientation	      "left"
      Location		      [301, 495, 580, 672]
      Open		      on
      NumInputPorts	      "1"
      TickLabels	      "on"
      List {
	ListType		AxesTitles
	axes1			"%<SignalLabel>"
      }
      TimeRange		      "8"
      YMin		      "11"
      YMax		      "16"
      DataFormat	      "Array"
      LimitDataPoints	      off
    }
    Block {
      BlockType		      Reference
      Name		      "engine\nspeed"
      Ports		      [2, 1]
      Position		      [85, 158, 130, 202]
      NamePlacement	      "alternate"
      SourceBlock	      "simulink/Signal\nRouting/Manual Switch"
      SourceType	      "Manual Switch"
      ShowPortLabels	      on
      sw		      "1"
      action		      "0"
    }
    Block {
      BlockType		      SubSystem
      Name		      "engine \ngas\ndynamics"
      Ports		      [3, 3]
      Position		      [405, 60, 500, 210]
      TreatAsAtomicUnit	      off
      MinAlgLoopOccurrences   off
      RTWSystemCode	      "Auto"
      System {
	Name			"engine \ngas\ndynamics"
	Location		[611, 194, 1199, 390]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	Block {
	  BlockType		  Inport
	  Name			  "engine speed"
	  Position		  [25, 63, 55, 77]
	  Port			  "1"
	  IconDisplay		  "Port number"
	  LatchInput		  off
	}
	Block {
	  BlockType		  Inport
	  Name			  "throttle angle"
	  Position		  [30, 145, 60, 160]
	  Orientation		  "up"
	  Port			  "2"
	  IconDisplay		  "Port number"
	  LatchInput		  off
	}
	Block {
	  BlockType		  Inport
	  Name			  "fuel"
	  Position		  [25, 33, 55, 47]
	  NamePlacement		  "alternate"
	  Port			  "3"
	  IconDisplay		  "Port number"
	  LatchInput		  off
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "Mixing & Combustion"
	  Ports			  [2, 2]
	  Position		  [330, 25, 450, 85]
	  NamePlacement		  "alternate"
	  TreatAsAtomicUnit	  off
	  MinAlgLoopOccurrences	  off
	  RTWSystemCode		  "Auto"
	  System {
	    Name		    "Mixing & Combustion"
	    Location		    [606, 497, 1198, 676]
	    Open		    off
	    ModelBrowserVisibility  off
	    ModelBrowserWidth	    200
	    ScreenColor		    "white"
	    PaperOrientation	    "landscape"
	    PaperPositionMode	    "auto"
	    PaperType		    "usletter"
	    PaperUnits		    "inches"
	    ZoomFactor		    "100"
	    Block {
	      BlockType		      Inport
	      Name		      "fuel\nrate"
	      Position		      [30, 68, 60, 82]
	      Port		      "1"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "air flow"
	      Position		      [30, 43, 60, 57]
	      NamePlacement	      "alternate"
	      Port		      "2"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Constant
	      Name		      "Constant4"
	      Position		      [72, 120, 98, 140]
	      Orientation	      "up"
	      NamePlacement	      "alternate"
	      ShowName		      off
	      Value		      "0.1"
	    }
	    Block {
	      BlockType		      Fcn
	      Name		      "EGO Sensor"
	      Position		      [340, 60, 505, 80]
	      Expr		      "(1-tanh(4*(u[1]-14.6)))/2"
	    }
	    Block {
	      BlockType		      MinMax
	      Name		      "MinMax"
	      Ports		      [2, 1]
	      Position		      [100, 67, 130, 98]
	      ShowName		      off
	      Function		      "max"
	      Inputs		      "2"
	    }
	    Block {
	      BlockType		      Product
	      Name		      "Product"
	      Ports		      [2, 1]
	      Position		      [160, 33, 195, 102]
	      ShowName		      off
	      Inputs		      "*/"
	    }
	    Block {
	      BlockType		      Reference
	      Name		      "system lag"
	      Ports		      [1, 1]
	      Position		      [225, 52, 285, 88]
	      SourceBlock	      "simulink_extras/Additional\nLinear/Tran"
"sfer Fcn\n(with initial outputs)"
	      SourceType	      "Transfer Function with Initial Outputs"
	      N			      "3"
	      D			      "[1 3]"
	      Y0		      "1/14.6"
	      U0		      "1/14.6"
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "o2_out"
	      Position		      [540, 63, 570, 77]
	      IconDisplay	      "Port number"
	      BusOutputAsStruct	      off
	      InitialOutput	      "0"
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "air/fuel\nratio"
	      Position		      [540, 103, 570, 117]
	      Port		      "2"
	      IconDisplay	      "Port number"
	      BusOutputAsStruct	      off
	      InitialOutput	      "0"
	    }
	    Line {
	      SrcBlock		      "Constant4"
	      SrcPort		      1
	      DstBlock		      "MinMax"
	      DstPort		      2
	    }
	    Line {
	      SrcBlock		      "fuel\nrate"
	      SrcPort		      1
	      DstBlock		      "MinMax"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "MinMax"
	      SrcPort		      1
	      DstBlock		      "Product"
	      DstPort		      2
	    }
	    Line {
	      SrcBlock		      "Product"
	      SrcPort		      1
	      DstBlock		      "system lag"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "system lag"
	      SrcPort		      1
	      Points		      [20, 0]
	      Branch {
		Points			[0, 40]
		DstBlock		"air/fuel\nratio"
		DstPort			1
	      }
	      Branch {
		DstBlock		"EGO Sensor"
		DstPort			1
	      }
	    }
	    Line {
	      SrcBlock		      "EGO Sensor"
	      SrcPort		      1
	      DstBlock		      "o2_out"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "air flow"
	      SrcPort		      1
	      DstBlock		      "Product"
	      DstPort		      1
	    }
	  }
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "Throttle & Manifold"
	  Ports			  [2, 2]
	  Position		  [100, 51, 280, 124]
	  TreatAsAtomicUnit	  off
	  MinAlgLoopOccurrences	  off
	  RTWSystemCode		  "Auto"
	  System {
	    Name		    "Throttle & Manifold"
	    Location		    [274, 543, 854, 896]
	    Open		    off
	    ModelBrowserVisibility  off
	    ModelBrowserWidth	    200
	    ScreenColor		    "white"
	    PaperOrientation	    "landscape"
	    PaperPositionMode	    "auto"
	    PaperType		    "usletter"
	    PaperUnits		    "inches"
	    ZoomFactor		    "100"
	    Block {
	      BlockType		      Inport
	      Name		      "Engine Speed, N"
	      Position		      [130, 220, 150, 240]
	      Port		      "1"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "Throttle Ang."
	      Position		      [30, 50, 50, 70]
	      Port		      "2"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Constant
	      Name		      "Atmospheric\nPressure, Pa\n(bar)"
	      Position		      [100, 110, 120, 130]
	      Value		      "1.0"
	    }
	    Block {
	      BlockType		      SubSystem
	      Name		      "Intake Manifold"
	      Ports		      [2, 2]
	      Position		      [215, 178, 450, 247]
	      TreatAsAtomicUnit	      off
	      MinAlgLoopOccurrences   off
	      RTWSystemCode	      "Auto"
	      System {
		Name			"Intake Manifold"
		Location		[52, 472, 898, 741]
		Open			off
		ModelBrowserVisibility	off
		ModelBrowserWidth	200
		ScreenColor		"white"
		PaperOrientation	"landscape"
		PaperPositionMode	"auto"
		PaperType		"usletter"
		PaperUnits		"inches"
		ZoomFactor		"100"
		Block {
		  BlockType		  Inport
		  Name			  "mdot Input \n(g/s)"
		  Position		  [40, 60, 60, 80]
		  Port			  "1"
		  IconDisplay		  "Port number"
		  LatchInput		  off
		}
		Block {
		  BlockType		  Inport
		  Name			  "N (rad/sec)"
		  Position		  [250, 140, 270, 160]
		  Port			  "2"
		  IconDisplay		  "Port number"
		  LatchInput		  off
		}
		Block {
		  BlockType		  Mux
		  Name			  "Mux"
		  Ports			  [2, 1]
		  Position		  [350, 61, 355, 179]
		  BackgroundColor	  "black"
		  ShowName		  off
		  Inputs		  "2"
		}
		Block {
		  BlockType		  Fcn
		  Name			  "Pumping"
		  Position		  [400, 106, 755, 134]
		  Expr			  "-0.366 + 0.08979*u[1]*u[2] - 0.0337"
"*u[2]*u[1]*u[1] + 0.0001*u[1]*u[2]*u[2]"
		}
		Block {
		  BlockType		  Gain
		  Name			  "RT/Vm"
		  Position		  [170, 70, 265, 110]
		  Gain			  "0.41328"
		}
		Block {
		  BlockType		  Sum
		  Name			  "Sum"
		  Ports			  [2, 1]
		  Position		  [125, 49, 140, 131]
		  ShowName		  off
		  Inputs		  "+-"
		}
		Block {
		  BlockType		  Integrator
		  Name			  "p0 = 0.589 bar"
		  Ports			  [1, 1]
		  Position		  [285, 61, 315, 119]
		  InitialCondition	  ".589"
		}
		Block {
		  BlockType		  Outport
		  Name			  "mdot to\nCylinder\n (g/s)"
		  Position		  [795, 110, 815, 130]
		  IconDisplay		  "Port number"
		  BusOutputAsStruct	  off
		  InitialOutput		  "0"
		}
		Block {
		  BlockType		  Outport
		  Name			  "Manifold Pressure,\nPm (bar)"
		  Position		  [430, 15, 450, 35]
		  Port			  "2"
		  IconDisplay		  "Port number"
		  BusOutputAsStruct	  off
		  InitialOutput		  "0"
		}
		Line {
		  SrcBlock		  "mdot Input \n(g/s)"
		  SrcPort		  1
		  DstBlock		  "Sum"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "RT/Vm"
		  SrcPort		  1
		  DstBlock		  "p0 = 0.589 bar"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "N (rad/sec)"
		  SrcPort		  1
		  DstBlock		  "Mux"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "Mux"
		  SrcPort		  1
		  DstBlock		  "Pumping"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "p0 = 0.589 bar"
		  SrcPort		  1
		  Points		  [5, 0]
		  Branch {
		    DstBlock		    "Mux"
		    DstPort		    1
		  }
		  Branch {
		    Points		    [0, -65]
		    DstBlock		    "Manifold Pressure,\nPm (bar)"
		    DstPort		    1
		  }
		}
		Line {
		  SrcBlock		  "Sum"
		  SrcPort		  1
		  DstBlock		  "RT/Vm"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Pumping"
		  SrcPort		  1
		  Points		  [10, 0]
		  Branch {
		    Points		    [0, 90; -680, 0; 0, -100]
		    DstBlock		    "Sum"
		    DstPort		    2
		  }
		  Branch {
		    DstBlock		    "mdot to\nCylinder\n (g/s)"
		    DstPort		    1
		  }
		}
		Annotation {
		  Name			  "Intake Manifold Vacuum"
		  Position		  [427, 243]
		  FontName		  "Arial"
		  FontSize		  16
		  FontWeight		  "bold"
		}
	      }
	    }
	    Block {
	      BlockType		      Saturate
	      Name		      "Limit to Positive"
	      Position		      [115, 48, 135, 72]
	      UpperLimit	      "inf"
	      LowerLimit	      "0"
	    }
	    Block {
	      BlockType		      SubSystem
	      Name		      "Throttle"
	      Ports		      [3, 1]
	      Position		      [180, 48, 485, 132]
	      TreatAsAtomicUnit	      off
	      MinAlgLoopOccurrences   off
	      RTWSystemCode	      "Auto"
	      System {
		Name			"Throttle"
		Location		[32, 254, 616, 683]
		Open			off
		ModelBrowserVisibility	off
		ModelBrowserWidth	200
		ScreenColor		"white"
		PaperOrientation	"landscape"
		PaperPositionMode	"auto"
		PaperType		"usletter"
		PaperUnits		"inches"
		ZoomFactor		"100"
		Block {
		  BlockType		  Inport
		  Name			  "Throttle Angle,\ntheta (deg)"
		  Position		  [65, 65, 85, 85]
		  NamePlacement		  "alternate"
		  Port			  "1"
		  IconDisplay		  "Port number"
		  LatchInput		  off
		}
		Block {
		  BlockType		  Inport
		  Name			  "Manifold Pressure,\nPm (bar)"
		  Position		  [65, 110, 85, 130]
		  Port			  "2"
		  IconDisplay		  "Port number"
		  LatchInput		  off
		}
		Block {
		  BlockType		  Inport
		  Name			  "Atmospheric Pressure,\nPa (bar) "
		  Position		  [65, 180, 85, 200]
		  Port			  "3"
		  IconDisplay		  "Port number"
		  LatchInput		  off
		}
		Block {
		  BlockType		  MinMax
		  Name			  "MinMax"
		  Ports			  [2, 1]
		  Position		  [240, 100, 265, 215]
		  ShowName		  off
		  Function		  "min"
		  Inputs		  "2"
		  Port {
		    PortNumber		    1
		    Name		    "pratio"
		    RTWStorageClass	    "Auto"
		    DataLoggingNameMode	    "SignalName"
		    ShowSigGenPortName	    on
		  }
		}
		Block {
		  BlockType		  Product
		  Name			  "Product"
		  Ports			  [3, 1]
		  Position		  [470, 22, 490, 338]
		  ShowName		  off
		  Inputs		  "3"
		}
		Block {
		  BlockType		  Product
		  Name			  "Product1"
		  Ports			  [2, 1]
		  Position		  [180, 112, 210, 143]
		  ShowName		  off
		  Inputs		  "*/"
		}
		Block {
		  BlockType		  Product
		  Name			  "Product2"
		  Ports			  [2, 1]
		  Position		  [180, 167, 210, 198]
		  ShowName		  off
		  Inputs		  "/*"
		}
		Block {
		  BlockType		  Constant
		  Name			  "Sonic Flow "
		  Position		  [345, 190, 365, 210]
		  Value			  "1.0"
		}
		Block {
		  BlockType		  Sum
		  Name			  "Sum"
		  Ports			  [2, 1]
		  Position		  [180, 267, 210, 298]
		  ShowName		  off
		  Inputs		  "+-"
		}
		Block {
		  BlockType		  Signum
		  Name			  "direction"
		  Position		  [300, 269, 335, 301]
		}
		Block {
		  BlockType		  Fcn
		  Name			  "f(theta)"
		  Position		  [110, 64, 440, 86]
		  NamePlacement		  "alternate"
		  Expr			  "2.821 - 0.05231*u[1] + 0.10299*u[1]"
"*u[1] - 0.00063*u[1]*u[1]*u[1]"
		}
		Block {
		  BlockType		  Fcn
		  Name			  "g(pratio)"
		  Position		  [315, 148, 390, 172]
		  NamePlacement		  "alternate"
		  Expr			  "2*sqrt(u - u*u)"
		}
		Block {
		  BlockType		  Switch
		  Name			  "threshold\n= 0.5"
		  Position		  [420, 148, 445, 212]
		  Threshold		  "0.5"
		}
		Block {
		  BlockType		  Outport
		  Name			  "Throttle \nFlow, mdot\n (g/s)"
		  Position		  [535, 170, 555, 190]
		  IconDisplay		  "Port number"
		  BusOutputAsStruct	  off
		  InitialOutput		  "0"
		}
		Line {
		  SrcBlock		  "Manifold Pressure,\nPm (bar)"
		  SrcPort		  1
		  Points		  [40, 0]
		  Branch {
		    Points		    [0, 55]
		    Branch {
		    Points		    [0, 115]
		    DstBlock		    "Sum"
		    DstPort		    2
		    }
		    Branch {
		    DstBlock		    "Product2"
		    DstPort		    1
		    }
		  }
		  Branch {
		    DstBlock		    "Product1"
		    DstPort		    1
		  }
		}
		Line {
		  SrcBlock		  "Product2"
		  SrcPort		  1
		  DstBlock		  "MinMax"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "Product1"
		  SrcPort		  1
		  DstBlock		  "MinMax"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Atmospheric Pressure,\nPa (bar) "
		  SrcPort		  1
		  Points		  [55, 0]
		  Branch {
		    Points		    [15, 0]
		    Branch {
		    Points		    [0, 85]
		    DstBlock		    "Sum"
		    DstPort		    1
		    }
		    Branch {
		    DstBlock		    "Product2"
		    DstPort		    2
		    }
		  }
		  Branch {
		    Points		    [0, -55]
		    DstBlock		    "Product1"
		    DstPort		    2
		  }
		}
		Line {
		  SrcBlock		  "g(pratio)"
		  SrcPort		  1
		  DstBlock		  "threshold\n= 0.5"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Sonic Flow "
		  SrcPort		  1
		  DstBlock		  "threshold\n= 0.5"
		  DstPort		  3
		}
		Line {
		  SrcBlock		  "threshold\n= 0.5"
		  SrcPort		  1
		  DstBlock		  "Product"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "direction"
		  SrcPort		  1
		  DstBlock		  "Product"
		  DstPort		  3
		}
		Line {
		  SrcBlock		  "Sum"
		  SrcPort		  1
		  DstBlock		  "direction"
		  DstPort		  1
		}
		Line {
		  Name			  "pratio"
		  Labels		  [1, 0]
		  SrcBlock		  "MinMax"
		  SrcPort		  1
		  Points		  [20, 0]
		  Branch {
		    Points		    [0, 20]
		    DstBlock		    "threshold\n= 0.5"
		    DstPort		    2
		  }
		  Branch {
		    DstBlock		    "g(pratio)"
		    DstPort		    1
		  }
		}
		Line {
		  SrcBlock		  "Throttle Angle,\ntheta (deg)"
		  SrcPort		  1
		  DstBlock		  "f(theta)"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Product"
		  SrcPort		  1
		  DstBlock		  "Throttle \nFlow, mdot\n (g/s)"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "f(theta)"
		  SrcPort		  1
		  DstBlock		  "Product"
		  DstPort		  1
		}
		Annotation {
		  Name			  "Throttle Flow vs. Valve Angle and P"
"ressure"
		  Position		  [291, 372]
		  FontName		  "Arial"
		  FontSize		  16
		  FontWeight		  "bold"
		}
	      }
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "Mass Airflow Rate"
	      Position		      [510, 185, 530, 205]
	      IconDisplay	      "Port number"
	      BusOutputAsStruct	      off
	      InitialOutput	      "0"
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "MAP (bar)"
	      Position		      [515, 220, 535, 240]
	      Port		      "2"
	      IconDisplay	      "Port number"
	      BusOutputAsStruct	      off
	      InitialOutput	      "0"
	    }
	    Line {
	      SrcBlock		      "Limit to Positive"
	      SrcPort		      1
	      DstBlock		      "Throttle"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Throttle Ang."
	      SrcPort		      1
	      DstBlock		      "Limit to Positive"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Throttle"
	      SrcPort		      1
	      Points		      [35, 0; 0, 70; -330, 0; 0, 35]
	      DstBlock		      "Intake Manifold"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Engine Speed, N"
	      SrcPort		      1
	      DstBlock		      "Intake Manifold"
	      DstPort		      2
	    }
	    Line {
	      SrcBlock		      "Intake Manifold"
	      SrcPort		      1
	      DstBlock		      "Mass Airflow Rate"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Atmospheric\nPressure, Pa\n(bar)"
	      SrcPort		      1
	      DstBlock		      "Throttle"
	      DstPort		      3
	    }
	    Line {
	      SrcBlock		      "Intake Manifold"
	      SrcPort		      2
	      Points		      [20, 0]
	      Branch {
		Points			[0, 40; -410, 0; 0, -180]
		DstBlock		"Throttle"
		DstPort			2
	      }
	      Branch {
		DstBlock		"MAP (bar)"
		DstPort			1
	      }
	    }
	    Annotation {
	      Name		      "Air-Fuel Intake Dynamics"
	      Position		      [282, 313]
	      FontName		      "Arial"
	      FontSize		      16
	      FontWeight	      "bold"
	    }
	  }
	}
	Block {
	  BlockType		  Outport
	  Name			  "o2_out"
	  Position		  [505, 33, 535, 47]
	  IconDisplay		  "Port number"
	  BusOutputAsStruct	  off
	  InitialOutput		  "0"
	}
	Block {
	  BlockType		  Outport
	  Name			  "MAP"
	  Position		  [505, 98, 535, 112]
	  Port			  "2"
	  IconDisplay		  "Port number"
	  BusOutputAsStruct	  off
	  InitialOutput		  "0"
	}
	Block {
	  BlockType		  Outport
	  Name			  "air/fuel ratio"
	  Position		  [505, 63, 535, 77]
	  Port			  "3"
	  IconDisplay		  "Port number"
	  BusOutputAsStruct	  off
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "Throttle & Manifold"
	  SrcPort		  1
	  DstBlock		  "Mixing & Combustion"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "fuel"
	  SrcPort		  1
	  DstBlock		  "Mixing & Combustion"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "engine speed"
	  SrcPort		  1
	  DstBlock		  "Throttle & Manifold"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "throttle angle"
	  SrcPort		  1
	  Points		  [0, -35]
	  DstBlock		  "Throttle & Manifold"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Mixing & Combustion"
	  SrcPort		  2
	  DstBlock		  "air/fuel ratio"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Throttle & Manifold"
	  SrcPort		  2
	  DstBlock		  "MAP"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Mixing & Combustion"
	  SrcPort		  1
	  DstBlock		  "o2_out"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "fuel rate\ncontroller"
      Ports		      [4, 1]
      Position		      [290, 67, 360, 303]
      TreatAsAtomicUnit	      off
      MinAlgLoopOccurrences   off
      RTWSystemCode	      "Auto"
      System {
	Name			"fuel rate\ncontroller"
	Location		[32, 260, 680, 665]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	Block {
	  BlockType		  Inport
	  Name			  "throttle"
	  Position		  [15, 38, 45, 52]
	  Port			  "1"
	  IconDisplay		  "Port number"
	  LatchInput		  off
	}
	Block {
	  BlockType		  Inport
	  Name			  "engine\nspeed"
	  Position		  [15, 128, 45, 142]
	  Port			  "2"
	  IconDisplay		  "Port number"
	  LatchInput		  off
	}
	Block {
	  BlockType		  Inport
	  Name			  "EGO"
	  Position		  [15, 213, 45, 227]
	  Port			  "3"
	  IconDisplay		  "Port number"
	  LatchInput		  off
	}
	Block {
	  BlockType		  Inport
	  Name			  "MAP"
	  Position		  [15, 303, 45, 317]
	  Port			  "4"
	  IconDisplay		  "Port number"
	  LatchInput		  off
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "Airflow calculation"
	  Ports			  [3, 2]
	  Position		  [365, 86, 460, 204]
	  NamePlacement		  "alternate"
	  TreatAsAtomicUnit	  off
	  MinAlgLoopOccurrences	  off
	  RTWSystemCode		  "Auto"
	  System {
	    Name		    "Airflow calculation"
	    Location		    [67, 340, 676, 878]
	    Open		    off
	    ModelBrowserVisibility  off
	    ModelBrowserWidth	    200
	    ScreenColor		    "white"
	    PaperOrientation	    "landscape"
	    PaperPositionMode	    "auto"
	    PaperType		    "usletter"
	    PaperUnits		    "inches"
	    ZoomFactor		    "100"
	    Block {
	      BlockType		      Inport
	      Name		      "sens_in"
	      Position		      [15, 218, 45, 232]
	      Port		      "1"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "Failures"
	      Position		      [20, 423, 50, 437]
	      Port		      "2"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "mode"
	      Position		      [20, 458, 50, 472]
	      Port		      "3"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Constant
	      Name		      "Constant"
	      Position		      [240, 280, 270, 300]
	      Orientation	      "down"
	      NamePlacement	      "alternate"
	      ShowName		      off
	      Value		      "0.5"
	    }
	    Block {
	      BlockType		      Constant
	      Name		      "Constant2"
	      Position		      [407, 395, 423, 415]
	      Orientation	      "up"
	      ShowName		      off
	      Value		      "0"
	    }
	    Block {
	      BlockType		      DataTypeConversion
	      Name		      "Data Type \nConversion"
	      Position		      [240, 345, 280, 365]
	      ShowName		      off
	      OutDataTypeMode	      "double"
	    }
	    Block {
	      BlockType		      Demux
	      Name		      "Demux"
	      Ports		      [1, 4]
	      Position		      [115, 76, 125, 369]
	      BackgroundColor	      "black"
	      ShowName		      off
	      Port {
		PortNumber		1
		Name			"throttle angle"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	      Port {
		PortNumber		2
		Name			"engine speed, N"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	      Port {
		PortNumber		3
		Name			"manifold pressure, Pm"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	      Port {
		PortNumber		4
		Name			"EGO, residual \nexhaust oxygen"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	    }
	    Block {
	      BlockType		      DiscreteIntegrator
	      Name		      "Integrator"
	      Ports		      [1, 1]
	      Position		      [495, 342, 535, 378]
	      IntegratorMethod	      "Integration: Forward Euler"
	      ExternalReset	      "none"
	      InitialConditionSource  "internal"
	      InitialCondition	      "-0.01"
	      SampleTime	      ".01"
	      ICPrevOutput	      "DiscIntNeverNeededParam"
	      ICPrevScaledInput	      "DiscIntNeverNeededParam"
	      Port {
		PortNumber		1
		Name			"e2"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	    }
	    Block {
	      BlockType		      Logic
	      Name		      "Logic1"
	      Ports		      [2, 1]
	      Position		      [315, 407, 345, 498]
	      ShowName		      off
	      Operator		      "NOR"
	      Port {
		PortNumber		1
		Name			"enable integration"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	    }
	    Block {
	      BlockType		      Constant
	      Name		      "Oxygen Sensor\nSwitching Threshold"
	      Position		      [140, 360, 165, 380]
	      Value		      "0.5"
	    }
	    Block {
	      BlockType		      Product
	      Name		      "Product"
	      Ports		      [3, 1]
	      Position		      [410, 123, 430, 287]
	      ShowName		      off
	      Inputs		      "3"
	    }
	    Block {
	      BlockType		      Product
	      Name		      "Product1"
	      Ports		      [2, 1]
	      Position		      [370, 321, 410, 354]
	      ShowName		      off
	      Port {
		PortNumber		1
		Name			"e1"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	    }
	    Block {
	      BlockType		      Reference
	      Name		      "Pumping Constant"
	      Ports		      [2, 1]
	      Position		      [230, 167, 300, 238]
	      SourceBlock	      "simulink3/Functions\n& Tables/Look-Up\n"
"Table (2-D)"
	      SourceType	      "Lookup Table (2-D)"
	      x			      "SpeedVect"
	      y			      "press"
	      t			      "pumpCon"
	    }
	    Block {
	      BlockType		      Reference
	      Name		      "Ramp\nRate (Ki)"
	      Ports		      [2, 1]
	      Position		      [325, 280, 360, 320]
	      Orientation	      "down"
	      SourceBlock	      "simulink3/Functions\n& Tables/Look-Up\n"
"Table (2-D)"
	      SourceType	      "Lookup Table (2-D)"
	      x			      "[100:100:500]"
	      y			      "[0:0.2:1]"
	      t			      "[1:5]'*[1:6]*Ki"
	    }
	    Block {
	      BlockType		      RelationalOperator
	      Name		      "Relational\nOperator1"
	      Position		      [170, 457, 200, 488]
	      ShowName		      off
	      Operator		      "~="
	      Port {
		PortNumber		1
		Name			"not normal operation"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	    }
	    Block {
	      BlockType		      RelationalOperator
	      Name		      "Relational\nOperator3"
	      Position		      [195, 319, 220, 386]
	      ShowName		      off
	      Operator		      "<="
	    }
	    Block {
	      BlockType		      Selector
	      Name		      "Selector"
	      Ports		      [1, 1]
	      Position		      [220, 414, 235, 446]
	      ShowName		      off
	      Elements		      "3"
	      InputPortWidth	      "4"
	      Port {
		PortNumber		1
		Name			"O2 fail\n(warmup)"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	    }
	    Block {
	      BlockType		      Selector
	      Name		      "Selector1"
	      Ports		      [1, 1]
	      Position		      [65, 210, 95, 240]
	      ShowName		      off
	      Elements		      "[1 2 4 3]"
	      InputPortWidth	      "4"
	    }
	    Block {
	      BlockType		      Sum
	      Name		      "Sum"
	      Ports		      [2, 1]
	      Position		      [485, 64, 505, 251]
	      ShowName		      off
	      Inputs		      "2"
	    }
	    Block {
	      BlockType		      Sum
	      Name		      "Sum1"
	      Ports		      [2, 1]
	      Position		      [300, 326, 315, 364]
	      ShowName		      off
	      Inputs		      "-+"
	      Port {
		PortNumber		1
		Name			"e0"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	    }
	    Block {
	      BlockType		      DiscreteTransferFcn
	      Name		      "Throttle transient\ncorrection"
	      Position		      [245, 91, 310, 129]
	      NamePlacement	      "alternate"
	      Numerator		      "[0.01 -0.01]"
	      Denominator	      "[1 -0.8]"
	      SampleTime	      ".01"
	    }
	    Block {
	      BlockType		      Constant
	      Name		      "disablemode"
	      Position		      [100, 471, 150, 489]
	      NamePlacement	      "alternate"
	      ShowName		      off
	      Value		      "LOW"
	    }
	    Block {
	      BlockType		      Switch
	      Name		      "hold\nintegrator"
	      Position		      [445, 329, 470, 391]
	      Threshold		      "1"
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "est.\nair\nflow"
	      Position		      [565, 153, 595, 167]
	      IconDisplay	      "Port number"
	      BusOutputAsStruct	      off
	      InitialOutput	      "0"
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "feedback\ncorrection"
	      Position		      [565, 353, 595, 367]
	      Port		      "2"
	      IconDisplay	      "Port number"
	      BusOutputAsStruct	      off
	      InitialOutput	      "0"
	    }
	    Line {
	      Name		      "e2"
	      Labels		      [0, 1]
	      SrcBlock		      "Integrator"
	      SrcPort		      1
	      DstBlock		      "feedback\ncorrection"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "mode"
	      SrcPort		      1
	      DstBlock		      "Relational\nOperator1"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "sens_in"
	      SrcPort		      1
	      DstBlock		      "Selector1"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Pumping Constant"
	      SrcPort		      1
	      DstBlock		      "Product"
	      DstPort		      2
	    }
	    Line {
	      SrcBlock		      "Product"
	      SrcPort		      1
	      DstBlock		      "Sum"
	      DstPort		      2
	    }
	    Line {
	      Name		      "manifold pressure, Pm"
	      Labels		      [0, 0]
	      SrcBlock		      "Demux"
	      SrcPort		      3
	      Points		      [40, 0]
	      Branch {
		Points			[180, 0]
		Branch {
		  DstBlock		  "Ramp\nRate (Ki)"
		  DstPort		  2
		}
		Branch {
		  DstBlock		  "Product"
		  DstPort		  3
		}
	      }
	      Branch {
		Points			[0, -40]
		DstBlock		"Pumping Constant"
		DstPort			2
	      }
	    }
	    Line {
	      Name		      "engine speed, N"
	      SrcBlock		      "Demux"
	      SrcPort		      2
	      Points		      [40, 0]
	      Branch {
		Labels			[-1, 0]
		DstBlock		"Pumping Constant"
		DstPort			1
	      }
	      Branch {
		Points			[0, -35; 165, 0]
		Branch {
		  DstBlock		  "Product"
		  DstPort		  1
		}
		Branch {
		  DstBlock		  "Ramp\nRate (Ki)"
		  DstPort		  1
		}
	      }
	    }
	    Line {
	      SrcBlock		      "Selector1"
	      SrcPort		      1
	      DstBlock		      "Demux"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Throttle transient\ncorrection"
	      SrcPort		      1
	      DstBlock		      "Sum"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Sum"
	      SrcPort		      1
	      DstBlock		      "est.\nair\nflow"
	      DstPort		      1
	    }
	    Line {
	      Name		      "throttle angle"
	      Labels		      [0, 0]
	      SrcBlock		      "Demux"
	      SrcPort		      1
	      DstBlock		      "Throttle transient\ncorrection"
	      DstPort		      1
	    }
	    Line {
	      Name		      "O2 fail\n(warmup)"
	      FontName		      "Arial"
	      Labels		      [0, 0]
	      SrcBlock		      "Selector"
	      SrcPort		      1
	      DstBlock		      "Logic1"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Failures"
	      SrcPort		      1
	      DstBlock		      "Selector"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "disablemode"
	      SrcPort		      1
	      DstBlock		      "Relational\nOperator1"
	      DstPort		      2
	    }
	    Line {
	      Name		      "not normal operation"
	      Labels		      [0, 0]
	      SrcBlock		      "Relational\nOperator1"
	      SrcPort		      1
	      DstBlock		      "Logic1"
	      DstPort		      2
	    }
	    Line {
	      Name		      "EGO, residual \nexhaust oxygen"
	      Labels		      [0, 1]
	      SrcBlock		      "Demux"
	      SrcPort		      4
	      DstBlock		      "Relational\nOperator3"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Oxygen Sensor\nSwitching Threshold"
	      SrcPort		      1
	      DstBlock		      "Relational\nOperator3"
	      DstPort		      2
	    }
	    Line {
	      SrcBlock		      "Constant"
	      SrcPort		      1
	      Points		      [0, 30]
	      DstBlock		      "Sum1"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Ramp\nRate (Ki)"
	      SrcPort		      1
	      Points		      [0, 5]
	      DstBlock		      "Product1"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Constant2"
	      SrcPort		      1
	      Points		      [0, -10]
	      DstBlock		      "hold\nintegrator"
	      DstPort		      3
	    }
	    Line {
	      Name		      "e1"
	      Labels		      [0, 1]
	      SrcBlock		      "Product1"
	      SrcPort		      1
	      DstBlock		      "hold\nintegrator"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "hold\nintegrator"
	      SrcPort		      1
	      DstBlock		      "Integrator"
	      DstPort		      1
	    }
	    Line {
	      Name		      "enable integration"
	      Labels		      [0, 0]
	      SrcBlock		      "Logic1"
	      SrcPort		      1
	      Points		      [35, 0; 0, -95]
	      DstBlock		      "hold\nintegrator"
	      DstPort		      2
	    }
	    Line {
	      Name		      "e0"
	      Labels		      [0, 0]
	      SrcBlock		      "Sum1"
	      SrcPort		      1
	      DstBlock		      "Product1"
	      DstPort		      2
	    }
	    Line {
	      SrcBlock		      "Relational\nOperator3"
	      SrcPort		      1
	      DstBlock		      "Data Type \nConversion"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Data Type \nConversion"
	      SrcPort		      1
	      DstBlock		      "Sum1"
	      DstPort		      2
	    }
	    Annotation {
	      Name		      "Intake Airflow Estimation and Closed-Lo"
"op Correction"
	      Position		      [338, 33]
	      FontName		      "Arial"
	      FontSize		      18
	      FontWeight	      "bold"
	    }
	    Annotation {
	      Name		      "Feedback Control"
	      Position		      [519, 441]
	      FontName		      "Arial"
	      FontSize		      14
	      FontWeight	      "bold"
	    }
	    Annotation {
	      Name		      "Feedforward Control"
	      Position		      [522, 276]
	      FontName		      "Arial"
	      FontSize		      14
	      FontWeight	      "bold"
	    }
	  }
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "Fuel  Calculation"
	  Ports			  [4, 1]
	  Position		  [485, 80, 575, 330]
	  NamePlacement		  "alternate"
	  TreatAsAtomicUnit	  off
	  MinAlgLoopOccurrences	  off
	  RTWSystemCode		  "Auto"
	  System {
	    Name		    "Fuel  Calculation"
	    Location		    [437, 325, 1068, 766]
	    Open		    off
	    ModelBrowserVisibility  off
	    ModelBrowserWidth	    200
	    ScreenColor		    "white"
	    PaperOrientation	    "landscape"
	    PaperPositionMode	    "auto"
	    PaperType		    "usletter"
	    PaperUnits		    "inches"
	    ZoomFactor		    "100"
	    Block {
	      BlockType		      Inport
	      Name		      "est.\nair\nflow"
	      Position		      [15, 93, 45, 107]
	      Port		      "1"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "feedback\ncorrection"
	      Position		      [15, 343, 45, 357]
	      Port		      "2"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "Failures"
	      Position		      [15, 273, 45, 287]
	      Port		      "3"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "mode"
	      Position		      [15, 248, 45, 262]
	      NamePlacement	      "alternate"
	      Port		      "4"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Constant
	      Name		      "F/A Norm"
	      Position		      [115, 144, 190, 166]
	      Value		      "1/14.6"
	    }
	    Block {
	      BlockType		      Constant
	      Name		      "F/A Rich"
	      Position		      [115, 180, 190, 200]
	      Value		      "1/(14.6*0.8)"
	    }
	    Block {
	      BlockType		      MultiPortSwitch
	      Name		      "Multiport\nSwitch"
	      Ports		      [4, 1]
	      Position		      [250, 105, 280, 240]
	      ShowName		      off
	      Inputs		      "3"
	    }
	    Block {
	      BlockType		      Product
	      Name		      "Product"
	      Ports		      [2, 1]
	      Position		      [345, 60, 370, 215]
	      ShowName		      off
	    }
	    Block {
	      BlockType		      Constant
	      Name		      "Shutdown"
	      Position		      [115, 215, 190, 235]
	      Value		      "0"
	    }
	    Block {
	      BlockType		      SubSystem
	      Name		      "Switchable\nCompensation"
	      Ports		      [4, 1]
	      Position		      [405, 105, 505, 385]
	      TreatAsAtomicUnit	      off
	      MinAlgLoopOccurrences   off
	      RTWSystemCode	      "Auto"
	      MaskIconFrame	      on
	      MaskIconOpaque	      on
	      MaskIconRotate	      "none"
	      MaskIconUnits	      "autoscale"
	      System {
		Name			"Switchable\nCompensation"
		Location		[469, 415, 1192, 914]
		Open			off
		ModelBrowserVisibility	off
		ModelBrowserWidth	200
		ScreenColor		"white"
		PaperOrientation	"landscape"
		PaperPositionMode	"auto"
		PaperType		"usletter"
		PaperUnits		"inches"
		ZoomFactor		"100"
		Block {
		  BlockType		  Inport
		  Name			  "feedforward\nfuel rate"
		  Position		  [35, 210, 55, 230]
		  Port			  "1"
		  IconDisplay		  "Port number"
		  LatchInput		  off
		}
		Block {
		  BlockType		  Inport
		  Name			  "mode"
		  Position		  [30, 25, 50, 45]
		  Port			  "2"
		  IconDisplay		  "Port number"
		  LatchInput		  off
		}
		Block {
		  BlockType		  Inport
		  Name			  "Failures"
		  Position		  [35, 115, 55, 135]
		  Port			  "3"
		  IconDisplay		  "Port number"
		  LatchInput		  off
		}
		Block {
		  BlockType		  Inport
		  Name			  "feedback\ncorrection"
		  Position		  [40, 280, 60, 300]
		  Port			  "4"
		  IconDisplay		  "Port number"
		  LatchInput		  off
		}
		Block {
		  BlockType		  Constant
		  Name			  "F/A Norm"
		  Position		  [278, 105, 312, 125]
		  Orientation		  "up"
		  ShowName		  off
		  Value			  "LOW"
		}
		Block {
		  BlockType		  Constant
		  Name			  "F/A Norm1"
		  Position		  [400, 270, 440, 290]
		  ShowName		  off
		  Value			  "RICH"
		}
		Block {
		  BlockType		  Constant
		  Name			  "F/A Norm2"
		  Position		  [160, 125, 200, 145]
		  ShowName		  off
		  Value			  "RICH"
		}
		Block {
		  BlockType		  Constant
		  Name			  "F/A Norm3"
		  Position		  [30, 70, 60, 90]
		  ShowName		  off
		  Value			  "LOW"
		}
		Block {
		  BlockType		  SubSystem
		  Name			  "LOW Mode"
		  Ports			  [1, 1, 1]
		  Position		  [310, 145, 400, 205]
		  TreatAsAtomicUnit	  off
		  MinAlgLoopOccurrences	  off
		  RTWSystemCode		  "Auto"
		  MaskType		  "enabled discrete-time transfer func"
"tion"
		  MaskPromptString	  "numerator polynomial|denominator po"
"lynomial|initial input|initial output|sample time"
		  MaskStyleString	  "edit,edit,edit,edit,edit"
		  MaskTunableValueString  "on,on,on,on,on"
		  MaskCallbackString	  "||||"
		  MaskEnableString	  "on,on,on,on,on"
		  MaskVisibilityString	  "on,on,on,on,on"
		  MaskToolTipString	  "on,on,on,on,on"
		  MaskVarAliasString	  ",,,,"
		  MaskVariables		  "num=@1;den=@2;u0=@3;y0=@4;Ts=@5;"
		  MaskDisplay		  "dpoly(num,den,'z')"
		  MaskIconFrame		  on
		  MaskIconOpaque	  off
		  MaskIconRotate	  "none"
		  MaskIconUnits		  "autoscale"
		  MaskValueString	  "B1|A1|-0.01|-0.01|0.01"
		  MaskTabNameString	  ",,,,"
		  System {
		    Name		    "LOW Mode"
		    Location		    [70, 158, 365, 340]
		    Open		    off
		    ModelBrowserVisibility  off
		    ModelBrowserWidth	    200
		    ScreenColor		    "white"
		    PaperOrientation	    "landscape"
		    PaperPositionMode	    "auto"
		    PaperType		    "usletter"
		    PaperUnits		    "inches"
		    ZoomFactor		    "100"
		    Block {
		    BlockType		    Inport
		    Name		    "In1"
		    Position		    [25, 38, 55, 52]
		    ShowName		    off
		    Port		    "1"
		    IconDisplay		    "Port number"
		    LatchInput		    off
		    }
		    Block {
		    BlockType		    EnablePort
		    Name		    "Enable"
		    Ports		    []
		    Position		    [130, 130, 150, 150]
		    ShowName		    off
		    StatesWhenEnabling	    "reset"
		    }
		    Block {
		    BlockType		    Reference
		    Name		    "Discrete\nTransfer Fcn\n(with ini"
"tial outputs)"
		    Ports		    [1, 1]
		    Position		    [80, 26, 230, 64]
		    SourceBlock		    "simulink_extras/Additional\nDiscr"
"ete/Discrete\nTransfer Fcn\n(with initial outputs)"
		    SourceType		    "Discrete Transfer Function with I"
"nitial Outputs"
		    N			    "num"
		    D			    "den"
		    U0			    "u0"
		    Y0			    "y0"
		    TS			    "Ts"
		    }
		    Block {
		    BlockType		    Outport
		    Name		    "Out1"
		    Position		    [255, 38, 285, 52]
		    ShowName		    off
		    IconDisplay		    "Port number"
		    BusOutputAsStruct	    off
		    InitialOutput	    "y0"
		    }
		    Line {
		    SrcBlock		    "Discrete\nTransfer Fcn\n(with ini"
"tial outputs)"
		    SrcPort		    1
		    DstBlock		    "Out1"
		    DstPort		    1
		    }
		    Line {
		    SrcBlock		    "In1"
		    SrcPort		    1
		    DstBlock		    "Discrete\nTransfer Fcn\n(with ini"
"tial outputs)"
		    DstPort		    1
		    }
		  }
		}
		Block {
		  BlockType		  Logic
		  Name			  "Logical\nOperator"
		  Ports			  [2, 1]
		  Position		  [155, 69, 195, 96]
		  ShowName		  off
		  Operator		  "NAND"
		}
		Block {
		  BlockType		  MultiPortSwitch
		  Name			  "Multiport\nSwitch2"
		  Ports			  [4, 1]
		  Position		  [590, 31, 625, 484]
		  ShowName		  off
		  Inputs		  "3"
		}
		Block {
		  BlockType		  Selector
		  Name			  "O2 fail\n(warmup)"
		  Ports			  [1, 1]
		  Position		  [80, 109, 95, 141]
		  Elements		  "3"
		  InputPortWidth	  "4"
		}
		Block {
		  BlockType		  SubSystem
		  Name			  "RICH Mode"
		  Ports			  [1, 1, 1]
		  Position		  [490, 287, 565, 343]
		  TreatAsAtomicUnit	  off
		  MinAlgLoopOccurrences	  off
		  RTWSystemCode		  "Auto"
		  MaskType		  "enabled discrete-time transfer func"
"tion"
		  MaskPromptString	  "numerator polynomial|denominator po"
"lynomial|initial input|initial output|sample time"
		  MaskStyleString	  "edit,edit,edit,edit,edit"
		  MaskTunableValueString  "on,on,on,on,on"
		  MaskCallbackString	  "||||"
		  MaskEnableString	  "on,on,on,on,on"
		  MaskVisibilityString	  "on,on,on,on,on"
		  MaskToolTipString	  "on,on,on,on,on"
		  MaskVarAliasString	  ",,,,"
		  MaskVariables		  "num=@1;den=@2;u0=@3;y0=@4;Ts=@5;"
		  MaskDisplay		  "dpoly(num,den,'z')"
		  MaskIconFrame		  on
		  MaskIconOpaque	  off
		  MaskIconRotate	  "none"
		  MaskIconUnits		  "autoscale"
		  MaskValueString	  "B2|A2|1.6|1.6|0.01"
		  MaskTabNameString	  ",,,,"
		  System {
		    Name		    "RICH Mode"
		    Location		    [328, 156, 623, 338]
		    Open		    off
		    ModelBrowserVisibility  off
		    ModelBrowserWidth	    200
		    ScreenColor		    "white"
		    PaperOrientation	    "landscape"
		    PaperPositionMode	    "auto"
		    PaperType		    "usletter"
		    PaperUnits		    "inches"
		    ZoomFactor		    "100"
		    Block {
		    BlockType		    Inport
		    Name		    "In1"
		    Position		    [25, 38, 55, 52]
		    ShowName		    off
		    Port		    "1"
		    IconDisplay		    "Port number"
		    LatchInput		    off
		    }
		    Block {
		    BlockType		    EnablePort
		    Name		    "Enable"
		    Ports		    []
		    Position		    [130, 130, 150, 150]
		    ShowName		    off
		    StatesWhenEnabling	    "reset"
		    }
		    Block {
		    BlockType		    Reference
		    Name		    "Discrete\nTransfer Fcn\n(with ini"
"tial outputs)"
		    Ports		    [1, 1]
		    Position		    [80, 26, 230, 64]
		    SourceBlock		    "simulink_extras/Additional\nDiscr"
"ete/Discrete\nTransfer Fcn\n(with initial outputs)"
		    SourceType		    "Discrete Transfer Function with I"
"nitial Outputs"
		    N			    "num"
		    D			    "den"
		    U0			    "u0"
		    Y0			    "y0"
		    TS			    "Ts"
		    }
		    Block {
		    BlockType		    Outport
		    Name		    "Out1"
		    Position		    [255, 38, 285, 52]
		    ShowName		    off
		    IconDisplay		    "Port number"
		    BusOutputAsStruct	    off
		    InitialOutput	    "y0"
		    }
		    Line {
		    SrcBlock		    "In1"
		    SrcPort		    1
		    DstBlock		    "Discrete\nTransfer Fcn\n(with ini"
"tial outputs)"
		    DstPort		    1
		    }
		    Line {
		    SrcBlock		    "Discrete\nTransfer Fcn\n(with ini"
"tial outputs)"
		    SrcPort		    1
		    DstBlock		    "Out1"
		    DstPort		    1
		    }
		  }
		}
		Block {
		  BlockType		  RelationalOperator
		  Name			  "Relational\nOperator"
		  Position		  [335, 110, 375, 130]
		  Orientation		  "down"
		  NamePlacement		  "alternate"
		  ShowName		  off
		  Operator		  "=="
		}
		Block {
		  BlockType		  RelationalOperator
		  Name			  "Relational\nOperator1"
		  Position		  [490, 244, 515, 266]
		  ShowName		  off
		  Operator		  "=="
		}
		Block {
		  BlockType		  RelationalOperator
		  Name			  "Relational\nOperator2"
		  Position		  [90, 58, 115, 87]
		  ShowName		  off
		  Operator		  "=="
		}
		Block {
		  BlockType		  Constant
		  Name			  "Shutoff\nMode"
		  Position		  [540, 420, 560, 440]
		  NamePlacement		  "alternate"
		  Value			  "0"
		}
		Block {
		  BlockType		  Sum
		  Name			  "Sum2"
		  Ports			  [2, 1]
		  Position		  [260, 267, 280, 358]
		  ShowName		  off
		}
		Block {
		  BlockType		  Sum
		  Name			  "Sum3"
		  Ports			  [2, 1]
		  Position		  [430, 153, 450, 242]
		  ShowName		  off
		}
		Block {
		  BlockType		  Switch
		  Name			  "Switch"
		  Position		  [240, 61, 260, 109]
		  ShowName		  off
		  Threshold		  "1"
		}
		Block {
		  BlockType		  Outport
		  Name			  "fuel rate"
		  Position		  [670, 253, 700, 267]
		  IconDisplay		  "Port number"
		  BusOutputAsStruct	  off
		  InitialOutput		  "0"
		}
		Line {
		  SrcBlock		  "feedforward\nfuel rate"
		  SrcPort		  1
		  Points		  [175, 0]
		  Branch {
		    DstBlock		    "Sum3"
		    DstPort		    2
		  }
		  Branch {
		    Points		    [0, 70]
		    DstBlock		    "Sum2"
		    DstPort		    1
		  }
		}
		Line {
		  SrcBlock		  "feedback\ncorrection"
		  SrcPort		  1
		  Points		  [110, 0]
		  Branch {
		    Points		    [0, -115]
		    DstBlock		    "LOW Mode"
		    DstPort		    1
		  }
		  Branch {
		    Points		    [0, 45]
		    DstBlock		    "Sum2"
		    DstPort		    2
		  }
		}
		Line {
		  SrcBlock		  "RICH Mode"
		  SrcPort		  1
		  DstBlock		  "Multiport\nSwitch2"
		  DstPort		  3
		}
		Line {
		  SrcBlock		  "LOW Mode"
		  SrcPort		  1
		  DstBlock		  "Sum3"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Sum3"
		  SrcPort		  1
		  DstBlock		  "Multiport\nSwitch2"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "Sum2"
		  SrcPort		  1
		  DstBlock		  "RICH Mode"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Shutoff\nMode"
		  SrcPort		  1
		  DstBlock		  "Multiport\nSwitch2"
		  DstPort		  4
		}
		Line {
		  SrcBlock		  "F/A Norm1"
		  SrcPort		  1
		  Points		  [20, 0; 0, -20]
		  DstBlock		  "Relational\nOperator1"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "Relational\nOperator1"
		  SrcPort		  1
		  Points		  [5, 0]
		  DstBlock		  "RICH Mode"
		  DstPort		  enable
		}
		Line {
		  SrcBlock		  "Relational\nOperator"
		  SrcPort		  1
		  DstBlock		  "LOW Mode"
		  DstPort		  enable
		}
		Line {
		  SrcBlock		  "Multiport\nSwitch2"
		  SrcPort		  1
		  DstBlock		  "fuel rate"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Switch"
		  SrcPort		  1
		  Points		  [100, 0]
		  Branch {
		    Points		    [100, 0]
		    Branch {
		    Points		    [0, 165]
		    DstBlock		    "Relational\nOperator1"
		    DstPort		    1
		    }
		    Branch {
		    DstBlock		    "Multiport\nSwitch2"
		    DstPort		    1
		    }
		  }
		  Branch {
		    DstBlock		    "Relational\nOperator"
		    DstPort		    2
		  }
		}
		Line {
		  SrcBlock		  "F/A Norm"
		  SrcPort		  1
		  Points		  [0, -5]
		  DstBlock		  "Relational\nOperator"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "F/A Norm2"
		  SrcPort		  1
		  Points		  [20, 0]
		  DstBlock		  "Switch"
		  DstPort		  3
		}
		Line {
		  SrcBlock		  "Logical\nOperator"
		  SrcPort		  1
		  DstBlock		  "Switch"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "mode"
		  SrcPort		  1
		  Points		  [10, 0]
		  Branch {
		    Points		    [160, 0]
		    DstBlock		    "Switch"
		    DstPort		    1
		  }
		  Branch {
		    Points		    [0, 30]
		    DstBlock		    "Relational\nOperator2"
		    DstPort		    1
		  }
		}
		Line {
		  SrcBlock		  "F/A Norm3"
		  SrcPort		  1
		  DstBlock		  "Relational\nOperator2"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "Relational\nOperator2"
		  SrcPort		  1
		  DstBlock		  "Logical\nOperator"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Failures"
		  SrcPort		  1
		  DstBlock		  "O2 fail\n(warmup)"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "O2 fail\n(warmup)"
		  SrcPort		  1
		  Points		  [25, 0; 0, -35]
		  DstBlock		  "Logical\nOperator"
		  DstPort		  2
		}
		Annotation {
		  Name			  "Loop Compensation and Filtering"
		  Position		  [324, 446]
		  FontName		  "Arial"
		  FontSize		  18
		  FontWeight		  "bold"
		}
	      }
	    }
	    Block {
	      BlockType		      Saturate
	      Name		      "limit\noutput"
	      Position		      [535, 230, 565, 260]
	      UpperLimit	      "100"
	      LowerLimit	      "0"
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "fuel\nrate"
	      Position		      [590, 238, 620, 252]
	      IconDisplay	      "Port number"
	      BusOutputAsStruct	      off
	      InitialOutput	      "0"
	    }
	    Line {
	      SrcBlock		      "limit\noutput"
	      SrcPort		      1
	      DstBlock		      "fuel\nrate"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "feedback\ncorrection"
	      SrcPort		      1
	      DstBlock		      "Switchable\nCompensation"
	      DstPort		      4
	    }
	    Line {
	      SrcBlock		      "Shutdown"
	      SrcPort		      1
	      DstBlock		      "Multiport\nSwitch"
	      DstPort		      4
	    }
	    Line {
	      SrcBlock		      "F/A Rich"
	      SrcPort		      1
	      DstBlock		      "Multiport\nSwitch"
	      DstPort		      3
	    }
	    Line {
	      SrcBlock		      "F/A Norm"
	      SrcPort		      1
	      DstBlock		      "Multiport\nSwitch"
	      DstPort		      2
	    }
	    Line {
	      SrcBlock		      "est.\nair\nflow"
	      SrcPort		      1
	      DstBlock		      "Product"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Multiport\nSwitch"
	      SrcPort		      1
	      DstBlock		      "Product"
	      DstPort		      2
	    }
	    Line {
	      SrcBlock		      "mode"
	      SrcPort		      1
	      Points		      [30, 0]
	      Branch {
		Points			[305, 0; 0, -45]
		DstBlock		"Switchable\nCompensation"
		DstPort			2
	      }
	      Branch {
		Points			[0, -135]
		DstBlock		"Multiport\nSwitch"
		DstPort			1
	      }
	    }
	    Line {
	      SrcBlock		      "Failures"
	      SrcPort		      1
	      DstBlock		      "Switchable\nCompensation"
	      DstPort		      3
	    }
	    Line {
	      SrcBlock		      "Product"
	      SrcPort		      1
	      DstBlock		      "Switchable\nCompensation"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Switchable\nCompensation"
	      SrcPort		      1
	      DstBlock		      "limit\noutput"
	      DstPort		      1
	    }
	    Annotation {
	      Name		      "Fuel Rate Calculation"
	      Position		      [314, 28]
	      FontName		      "Arial"
	      FontSize		      18
	      FontWeight	      "bold"
	    }
	  }
	}
	Block {
	  BlockType		  Mux
	  Name			  "Mux1"
	  Ports			  [4, 1]
	  Position		  [180, 28, 185, 137]
	  BackgroundColor	  "black"
	  ShowName		  off
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "Sensor correction and \nFault Redundancy"
	  Ports			  [2, 1]
	  Position		  [275, 66, 340, 139]
	  NamePlacement		  "alternate"
	  TreatAsAtomicUnit	  off
	  MinAlgLoopOccurrences	  off
	  RTWSystemCode		  "Auto"
	  System {
	    Name		    "Sensor correction and \nFault Redundancy"
	    Location		    [136, 183, 831, 913]
	    Open		    off
	    ModelBrowserVisibility  off
	    ModelBrowserWidth	    200
	    ScreenColor		    "white"
	    PaperOrientation	    "landscape"
	    PaperPositionMode	    "auto"
	    PaperType		    "usletter"
	    PaperUnits		    "inches"
	    ZoomFactor		    "100"
	    Block {
	      BlockType		      Inport
	      Name		      "Sensors"
	      Position		      [20, 613, 50, 627]
	      Port		      "1"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "Failures"
	      Position		      [70, 673, 100, 687]
	      Port		      "2"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Demux
	      Name		      "Demux"
	      Ports		      [1, 4]
	      Position		      [165, 88, 170, 602]
	      BackgroundColor	      "black"
	      ShowName		      off
	      Port {
		PortNumber		1
		Name			"throttle"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	      Port {
		PortNumber		2
		Name			"speed"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	      Port {
		PortNumber		3
		Name			"EGO"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	      Port {
		PortNumber		4
		Name			"MAP"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	    }
	    Block {
	      BlockType		      Demux
	      Name		      "Demux1"
	      Ports		      [1, 4]
	      Position		      [190, 641, 195, 719]
	      BackgroundColor	      "black"
	      ShowName		      off
	      Port {
		PortNumber		1
		Name			"throttle sensor failure"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	      Port {
		PortNumber		2
		Name			"speed sensor failure"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	      Port {
		PortNumber		4
		Name			"pressure sensor failure"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	    }
	    Block {
	      BlockType		      SubSystem
	      Name		      "MAP Estimate"
	      Ports		      [1, 1, 1]
	      Position		      [390, 428, 465, 472]
	      NamePlacement	      "alternate"
	      TreatAsAtomicUnit	      off
	      MinAlgLoopOccurrences   off
	      RTWSystemCode	      "Auto"
	      System {
		Name			"MAP Estimate"
		Location		[504, 236, 944, 486]
		Open			off
		ModelBrowserVisibility	off
		ModelBrowserWidth	200
		ScreenColor		"white"
		PaperOrientation	"landscape"
		PaperPositionMode	"auto"
		PaperType		"usletter"
		PaperUnits		"inches"
		ZoomFactor		"100"
		Block {
		  BlockType		  Inport
		  Name			  "Sensors"
		  Position		  [40, 83, 70, 97]
		  Port			  "1"
		  IconDisplay		  "Port number"
		  LatchInput		  off
		}
		Block {
		  BlockType		  EnablePort
		  Name			  "Enable"
		  Ports			  []
		  Position		  [210, 205, 230, 225]
		}
		Block {
		  BlockType		  Reference
		  Name			  "Pressure Estimate (2-D)"
		  Ports			  [2, 1]
		  Position		  [255, 58, 350, 187]
		  SourceBlock		  "simulink3/Functions\n& Tables/Look-"
"Up\nTable (2-D)"
		  SourceType		  "Lookup Table (2-D)"
		  x			  "SpeedVect"
		  y			  "ThrotVect"
		  t			  "PressEst"
		}
		Block {
		  BlockType		  Selector
		  Name			  "Selector"
		  Ports			  [1, 1]
		  Position		  [130, 140, 160, 170]
		  ShowName		  off
		  InputPortWidth	  "4"
		  Port {
		    PortNumber		    1
		    Name		    "throttle"
		    RTWStorageClass	    "Auto"
		    DataLoggingNameMode	    "SignalName"
		    ShowSigGenPortName	    on
		  }
		}
		Block {
		  BlockType		  Selector
		  Name			  "Selector1"
		  Ports			  [1, 1]
		  Position		  [125, 75, 155, 105]
		  ShowName		  off
		  Elements		  "2"
		  InputPortWidth	  "4"
		  Port {
		    PortNumber		    1
		    Name		    "speed"
		    RTWStorageClass	    "Auto"
		    DataLoggingNameMode	    "SignalName"
		    ShowSigGenPortName	    on
		  }
		}
		Block {
		  BlockType		  Outport
		  Name			  "map"
		  Position		  [400, 118, 430, 132]
		  IconDisplay		  "Port number"
		  BusOutputAsStruct	  off
		  InitialOutput		  "0"
		}
		Line {
		  SrcBlock		  "Sensors"
		  SrcPort		  1
		  Points		  [20, 0]
		  Branch {
		    DstBlock		    "Selector1"
		    DstPort		    1
		  }
		  Branch {
		    Points		    [0, 65]
		    DstBlock		    "Selector"
		    DstPort		    1
		  }
		}
		Line {
		  Name			  "speed"
		  Labels		  [1, 0]
		  SrcBlock		  "Selector1"
		  SrcPort		  1
		  DstBlock		  "Pressure Estimate (2-D)"
		  DstPort		  1
		}
		Line {
		  Name			  "throttle"
		  Labels		  [1, 0]
		  SrcBlock		  "Selector"
		  SrcPort		  1
		  DstBlock		  "Pressure Estimate (2-D)"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "Pressure Estimate (2-D)"
		  SrcPort		  1
		  DstBlock		  "map"
		  DstPort		  1
		}
		Annotation {
		  Name			  "MAP Estimation"
		  Position		  [218, 29]
		  FontName		  "Arial"
		  FontSize		  14
		  FontWeight		  "bold"
		}
	      }
	    }
	    Block {
	      BlockType		      Mux
	      Name		      "Mux"
	      Ports		      [4, 1]
	      Position		      [565, 35, 570, 565]
	      BackgroundColor	      "black"
	      ShowName		      off
	    }
	    Block {
	      BlockType		      SubSystem
	      Name		      "Speed Estimate"
	      Ports		      [1, 1, 1]
	      Position		      [405, 166, 480, 214]
	      NamePlacement	      "alternate"
	      TreatAsAtomicUnit	      off
	      MinAlgLoopOccurrences   off
	      RTWSystemCode	      "Auto"
	      System {
		Name			"Speed Estimate"
		Location		[453, 488, 998, 705]
		Open			off
		ModelBrowserVisibility	off
		ModelBrowserWidth	200
		ScreenColor		"white"
		PaperOrientation	"landscape"
		PaperPositionMode	"auto"
		PaperType		"usletter"
		PaperUnits		"inches"
		ZoomFactor		"100"
		Block {
		  BlockType		  Inport
		  Name			  "Sensors"
		  Position		  [40, 68, 70, 82]
		  Port			  "1"
		  IconDisplay		  "Port number"
		  LatchInput		  off
		}
		Block {
		  BlockType		  EnablePort
		  Name			  "Enable"
		  Ports			  []
		  Position		  [225, 15, 245, 35]
		}
		Block {
		  BlockType		  Selector
		  Name			  "Selector"
		  Ports			  [1, 1]
		  Position		  [130, 60, 160, 90]
		  ShowName		  off
		  InputPortWidth	  "4"
		  Port {
		    PortNumber		    1
		    Name		    "throttle"
		    RTWStorageClass	    "Auto"
		    DataLoggingNameMode	    "SignalName"
		    ShowSigGenPortName	    on
		  }
		}
		Block {
		  BlockType		  Selector
		  Name			  "Selector1"
		  Ports			  [1, 1]
		  Position		  [130, 115, 160, 145]
		  ShowName		  off
		  Elements		  "4"
		  InputPortWidth	  "4"
		  Port {
		    PortNumber		    1
		    Name		    "Manifold pressure"
		    RTWStorageClass	    "Auto"
		    DataLoggingNameMode	    "SignalName"
		    ShowSigGenPortName	    on
		  }
		}
		Block {
		  BlockType		  Reference
		  Name			  "Speed\nTable (2-D)"
		  Ports			  [2, 1]
		  Position		  [280, 45, 385, 160]
		  SourceBlock		  "simulink3/Functions\n& Tables/Look-"
"Up\nTable (2-D)"
		  SourceType		  "Lookup Table (2-D)"
		  x			  "ThrotVect"
		  y			  "press"
		  t			  "SpeedEst"
		}
		Block {
		  BlockType		  Outport
		  Name			  "we"
		  Position		  [445, 98, 475, 112]
		  IconDisplay		  "Port number"
		  BusOutputAsStruct	  off
		  InitialOutput		  "0"
		}
		Line {
		  SrcBlock		  "Speed\nTable (2-D)"
		  SrcPort		  1
		  DstBlock		  "we"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Sensors"
		  SrcPort		  1
		  Points		  [20, 0]
		  Branch {
		    Points		    [0, 55]
		    DstBlock		    "Selector1"
		    DstPort		    1
		  }
		  Branch {
		    DstBlock		    "Selector"
		    DstPort		    1
		  }
		}
		Line {
		  Name			  "throttle"
		  Labels		  [1, 1]
		  SrcBlock		  "Selector"
		  SrcPort		  1
		  DstBlock		  "Speed\nTable (2-D)"
		  DstPort		  1
		}
		Line {
		  Name			  "Manifold pressure"
		  Labels		  [1, 1]
		  SrcBlock		  "Selector1"
		  SrcPort		  1
		  DstBlock		  "Speed\nTable (2-D)"
		  DstPort		  2
		}
	      }
	    }
	    Block {
	      BlockType		      Switch
	      Name		      "Switch"
	      Position		      [360, 35, 385, 175]
	      ShowName		      off
	      Threshold		      "1"
	    }
	    Block {
	      BlockType		      Switch
	      Name		      "Switch3"
	      Position		      [505, 166, 530, 304]
	      ShowName		      off
	      Threshold		      "1"
	    }
	    Block {
	      BlockType		      Switch
	      Name		      "Switch4"
	      Position		      [500, 424, 525, 566]
	      ShowName		      off
	      Threshold		      "1"
	    }
	    Block {
	      BlockType		      Terminator
	      Name		      "Terminator1"
	      Position		      [230, 680, 250, 700]
	      ShowName		      off
	    }
	    Block {
	      BlockType		      SubSystem
	      Name		      "Throttle Estimate"
	      Ports		      [1, 1, 1]
	      Position		      [255, 33, 335, 87]
	      NamePlacement	      "alternate"
	      TreatAsAtomicUnit	      off
	      MinAlgLoopOccurrences   off
	      RTWSystemCode	      "Auto"
	      System {
		Name			"Throttle Estimate"
		Location		[256, 436, 699, 673]
		Open			off
		ModelBrowserVisibility	off
		ModelBrowserWidth	200
		ScreenColor		"white"
		PaperOrientation	"landscape"
		PaperPositionMode	"auto"
		PaperType		"usletter"
		PaperUnits		"inches"
		ZoomFactor		"100"
		Block {
		  BlockType		  Inport
		  Name			  "Sensors"
		  Position		  [25, 53, 55, 67]
		  Port			  "1"
		  IconDisplay		  "Port number"
		  LatchInput		  off
		}
		Block {
		  BlockType		  EnablePort
		  Name			  "Enable"
		  Ports			  []
		  Position		  [205, 180, 225, 200]
		}
		Block {
		  BlockType		  Selector
		  Name			  "Selector1"
		  Ports			  [1, 1]
		  Position		  [125, 95, 155, 125]
		  ShowName		  off
		  Elements		  "4"
		  InputPortWidth	  "4"
		  Port {
		    PortNumber		    1
		    Name		    "Manifold pressure"
		    RTWStorageClass	    "Auto"
		    DataLoggingNameMode	    "SignalName"
		    ShowSigGenPortName	    on
		  }
		}
		Block {
		  BlockType		  Selector
		  Name			  "Selector2"
		  Ports			  [1, 1]
		  Position		  [125, 45, 155, 75]
		  ShowName		  off
		  Elements		  "2"
		  InputPortWidth	  "4"
		  Port {
		    PortNumber		    1
		    Name		    "speed"
		    RTWStorageClass	    "Auto"
		    DataLoggingNameMode	    "SignalName"
		    ShowSigGenPortName	    on
		  }
		}
		Block {
		  BlockType		  Reference
		  Name			  "Thrott Estimation\nTable (2-D)"
		  Ports			  [2, 1]
		  Position		  [255, 35, 325, 135]
		  SourceBlock		  "simulink3/Functions\n& Tables/Look-"
"Up\nTable (2-D)"
		  SourceType		  "Lookup Table (2-D)"
		  x			  "SpeedVect"
		  y			  "press"
		  t			  "ThrotEst"
		}
		Block {
		  BlockType		  Outport
		  Name			  "throtle"
		  Position		  [380, 78, 410, 92]
		  IconDisplay		  "Port number"
		  BusOutputAsStruct	  off
		  InitialOutput		  "0"
		}
		Line {
		  SrcBlock		  "Sensors"
		  SrcPort		  1
		  Points		  [35, 0]
		  Branch {
		    DstBlock		    "Selector2"
		    DstPort		    1
		  }
		  Branch {
		    Points		    [0, 50]
		    DstBlock		    "Selector1"
		    DstPort		    1
		  }
		}
		Line {
		  Name			  "speed"
		  Labels		  [0, 0]
		  SrcBlock		  "Selector2"
		  SrcPort		  1
		  DstBlock		  "Thrott Estimation\nTable (2-D)"
		  DstPort		  1
		}
		Line {
		  Name			  "Manifold pressure"
		  Labels		  [0, 0]
		  SrcBlock		  "Selector1"
		  SrcPort		  1
		  DstBlock		  "Thrott Estimation\nTable (2-D)"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "Thrott Estimation\nTable (2-D)"
		  SrcPort		  1
		  DstBlock		  "throtle"
		  DstPort		  1
		}
	      }
	    }
	    Block {
	      BlockType		      ZeroOrderHold
	      Name		      "Zero-Order\nHold"
	      Position		      [80, 605, 110, 635]
	      ShowName		      off
	      SampleTime	      "0.01"
	      Port {
		PortNumber		1
		Name			"Raw sensor input"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "Corrected"
	      Position		      [625, 293, 655, 307]
	      IconDisplay	      "Port number"
	      BusOutputAsStruct	      off
	      InitialOutput	      "0"
	    }
	    Line {
	      SrcBlock		      "Sensors"
	      SrcPort		      1
	      DstBlock		      "Zero-Order\nHold"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "MAP Estimate"
	      SrcPort		      1
	      DstBlock		      "Switch4"
	      DstPort		      1
	    }
	    Line {
	      Name		      "MAP"
	      Labels		      [0, 0]
	      SrcBlock		      "Demux"
	      SrcPort		      4
	      DstBlock		      "Switch4"
	      DstPort		      3
	    }
	    Line {
	      SrcBlock		      "Switch4"
	      SrcPort		      1
	      DstBlock		      "Mux"
	      DstPort		      4
	    }
	    Line {
	      Name		      "pressure sensor failure"
	      Labels		      [0, 0]
	      SrcBlock		      "Demux1"
	      SrcPort		      4
	      Points		      [225, 0; 0, -215]
	      Branch {
		DstBlock		"Switch4"
		DstPort			2
	      }
	      Branch {
		DstBlock		"MAP Estimate"
		DstPort			enable
	      }
	    }
	    Line {
	      Name		      "speed sensor failure"
	      Labels		      [0, 1]
	      SrcBlock		      "Demux1"
	      SrcPort		      2
	      Points		      [135, 0; 0, -435; 105, 0]
	      Branch {
		DstBlock		"Switch3"
		DstPort			2
	      }
	      Branch {
		DstBlock		"Speed Estimate"
		DstPort			enable
	      }
	    }
	    Line {
	      SrcBlock		      "Speed Estimate"
	      SrcPort		      1
	      DstBlock		      "Switch3"
	      DstPort		      1
	    }
	    Line {
	      Name		      "speed"
	      Labels		      [0, 0]
	      SrcBlock		      "Demux"
	      SrcPort		      2
	      DstBlock		      "Switch3"
	      DstPort		      3
	    }
	    Line {
	      SrcBlock		      "Switch3"
	      SrcPort		      1
	      DstBlock		      "Mux"
	      DstPort		      2
	    }
	    Line {
	      Name		      "throttle sensor failure"
	      Labels		      [0, 1]
	      SrcBlock		      "Demux1"
	      SrcPort		      1
	      Points		      [95, 0; 0, -545]
	      Branch {
		DstBlock		"Switch"
		DstPort			2
	      }
	      Branch {
		DstBlock		"Throttle Estimate"
		DstPort			enable
	      }
	    }
	    Line {
	      SrcBlock		      "Demux1"
	      SrcPort		      3
	      DstBlock		      "Terminator1"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Throttle Estimate"
	      SrcPort		      1
	      DstBlock		      "Switch"
	      DstPort		      1
	    }
	    Line {
	      Name		      "throttle"
	      Labels		      [0, 0]
	      SrcBlock		      "Demux"
	      SrcPort		      1
	      DstBlock		      "Switch"
	      DstPort		      3
	    }
	    Line {
	      SrcBlock		      "Failures"
	      SrcPort		      1
	      DstBlock		      "Demux1"
	      DstPort		      1
	    }
	    Line {
	      Name		      "Raw sensor input"
	      SrcBlock		      "Zero-Order\nHold"
	      SrcPort		      1
	      Points		      [20, 0]
	      Branch {
		Points			[0, -275]
		DstBlock		"Demux"
		DstPort			1
	      }
	      Branch {
		Points			[85, 0; 0, -170]
		Branch {
		  Points		  [0, -390]
		  DstBlock		  "Throttle Estimate"
		  DstPort		  1
		}
		Branch {
		  Points		  [0, -260]
		  Branch {
		    DstBlock		    "Speed Estimate"
		    DstPort		    1
		  }
		  Branch {
		    Points		    [0, 260]
		    DstBlock		    "MAP Estimate"
		    DstPort		    1
		  }
		}
	      }
	    }
	    Line {
	      SrcBlock		      "Switch"
	      SrcPort		      1
	      DstBlock		      "Mux"
	      DstPort		      1
	    }
	    Line {
	      Name		      "EGO"
	      Labels		      [0, 0]
	      SrcBlock		      "Demux"
	      SrcPort		      3
	      Points		      [195, 0; 0, -45]
	      DstBlock		      "Mux"
	      DstPort		      3
	    }
	    Line {
	      SrcBlock		      "Mux"
	      SrcPort		      1
	      DstBlock		      "Corrected"
	      DstPort		      1
	    }
	  }
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "control logic"
	  Description		  "Stateflow diagram to determine control syst"
"em operating mode"
	  Ports			  [4, 2]
	  Position		  [120, 203, 235, 327]
	  TreatAsAtomicUnit	  off
	  MinAlgLoopOccurrences	  off
	  RTWSystemCode		  "Auto"
	  MaskType		  "Stateflow"
	  MaskDescription	  "Stateflow diagram"
	  MaskDisplay		  "plot(sf('Private','sfblk','xIcon'),sf('Priv"
"ate','sfblk','yIcon'));text(0.5,0,sf('Private', 'sfblk', 'tIcon'),'Horizontal"
"Al','Center','VerticalAl','Bottom');"
	  MaskSelfModifiable	  on
	  MaskIconFrame		  off
	  MaskIconOpaque	  off
	  MaskIconRotate	  "none"
	  MaskIconUnits		  "autoscale"
	  System {
	    Name		    "control logic"
	    Location		    [253, 221, 867, 588]
	    Open		    off
	    ModelBrowserVisibility  off
	    ModelBrowserWidth	    200
	    ScreenColor		    "white"
	    PaperOrientation	    "landscape"
	    PaperPositionMode	    "auto"
	    PaperType		    "usletter"
	    PaperUnits		    "inches"
	    ZoomFactor		    "100"
	    Block {
	      BlockType		      Inport
	      Name		      "throt"
	      Position		      [20, 101, 40, 119]
	      Port		      "1"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "speed"
	      Position		      [20, 136, 40, 154]
	      Port		      "2"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "Ego"
	      Position		      [20, 171, 40, 189]
	      Port		      "3"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "press"
	      Position		      [20, 206, 40, 224]
	      Port		      "4"
	      IconDisplay	      "Port number"
	      LatchInput	      off
	    }
	    Block {
	      BlockType		      Demux
	      Name		      " Demux "
	      Ports		      [1, 1]
	      Position		      [270, 205, 320, 245]
	      Outputs		      "1"
	    }
	    Block {
	      BlockType		      "S-Function"
	      Name		      " SFunction "
	      Tag		      "Stateflow S-Function fuelsys 1"
	      Ports		      [4, 3]
	      Position		      [180, 102, 230, 203]
	      FunctionName	      "sf_sfun"
	      Parameters	      "DISABLED,LOW,RICH,hys,max_ego,max_press"
",max_speed,max_throt,min_press,min_throt,o2_t_thresh,zero_thresh"
	      PortCounts	      "[4 3]"
	      Port {
		PortNumber		2
		Name			"fail_state"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	      Port {
		PortNumber		3
		Name			"fuel_mode"
		RTWStorageClass		"Auto"
		DataLoggingNameMode	"SignalName"
		ShowSigGenPortName	on
	      }
	    }
	    Block {
	      BlockType		      Terminator
	      Name		      " Terminator "
	      Position		      [460, 216, 480, 234]
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "fail_state"
	      Position		      [460, 101, 480, 119]
	      IconDisplay	      "Port number"
	      BusOutputAsStruct	      off
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "fuel_mode"
	      Position		      [460, 136, 480, 154]
	      Port		      "2"
	      IconDisplay	      "Port number"
	      BusOutputAsStruct	      off
	    }
	    Line {
	      SrcBlock		      " SFunction "
	      SrcPort		      1
	      Points		      [0, 105]
	      DstBlock		      " Demux "
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      " Demux "
	      SrcPort		      1
	      DstBlock		      " Terminator "
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "throt"
	      SrcPort		      1
	      DstBlock		      " SFunction "
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "speed"
	      SrcPort		      1
	      Points		      [120, 0]
	      DstBlock		      " SFunction "
	      DstPort		      2
	    }
	    Line {
	      SrcBlock		      "Ego"
	      SrcPort		      1
	      DstBlock		      " SFunction "
	      DstPort		      3
	    }
	    Line {
	      SrcBlock		      "press"
	      SrcPort		      1
	      DstBlock		      " SFunction "
	      DstPort		      4
	    }
	    Line {
	      Name		      "fail_state"
	      Labels		      [0, 0]
	      SrcBlock		      " SFunction "
	      SrcPort		      2
	      DstBlock		      "fail_state"
	      DstPort		      1
	    }
	    Line {
	      Name		      "fuel_mode"
	      Labels		      [0, 0]
	      SrcBlock		      " SFunction "
	      SrcPort		      3
	      DstBlock		      "fuel_mode"
	      DstPort		      1
	    }
	  }
	}
	Block {
	  BlockType		  Outport
	  Name			  "fuel\nrate"
	  Position		  [600, 198, 630, 212]
	  IconDisplay		  "Port number"
	  BusOutputAsStruct	  off
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "MAP"
	  SrcPort		  1
	  Points		  [40, 0]
	  Branch {
	    Points		    [0, -190]
	    DstBlock		    "Mux1"
	    DstPort		    4
	  }
	  Branch {
	    DstBlock		    "control logic"
	    DstPort		    4
	  }
	}
	Line {
	  SrcBlock		  "EGO"
	  SrcPort		  1
	  Points		  [30, 0]
	  Branch {
	    Points		    [0, -125]
	    DstBlock		    "Mux1"
	    DstPort		    3
	  }
	  Branch {
	    Points		    [0, 60]
	    DstBlock		    "control logic"
	    DstPort		    3
	  }
	}
	Line {
	  SrcBlock		  "engine\nspeed"
	  SrcPort		  1
	  Points		  [20, 0]
	  Branch {
	    Points		    [0, -65]
	    DstBlock		    "Mux1"
	    DstPort		    2
	  }
	  Branch {
	    Points		    [0, 115]
	    DstBlock		    "control logic"
	    DstPort		    2
	  }
	}
	Line {
	  SrcBlock		  "throttle"
	  SrcPort		  1
	  Points		  [10, 0]
	  Branch {
	    DstBlock		    "Mux1"
	    DstPort		    1
	  }
	  Branch {
	    Points		    [0, 175]
	    DstBlock		    "control logic"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Mux1"
	  SrcPort		  1
	  DstBlock		  "Sensor correction and \nFault Redundancy"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "control logic"
	  SrcPort		  2
	  Points		  [95, 0]
	  Branch {
	    DstBlock		    "Fuel  Calculation"
	    DstPort		    4
	  }
	  Branch {
	    Points		    [0, -110]
	    DstBlock		    "Airflow calculation"
	    DstPort		    3
	  }
	}
	Line {
	  SrcBlock		  "Airflow calculation"
	  SrcPort		  2
	  DstBlock		  "Fuel  Calculation"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Fuel  Calculation"
	  SrcPort		  1
	  DstBlock		  "fuel\nrate"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Airflow calculation"
	  SrcPort		  1
	  DstBlock		  "Fuel  Calculation"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Sensor correction and \nFault Redundancy"
	  SrcPort		  1
	  DstBlock		  "Airflow calculation"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "control logic"
	  SrcPort		  1
	  Points		  [10, 0]
	  Branch {
	    Points		    [0, -90]
	    Branch {
	      Points		      [0, -25]
	      DstBlock		      "Sensor correction and \nFault Redundanc"
"y"
	      DstPort		      2
	    }
	    Branch {
	      DstBlock		      "Airflow calculation"
	      DstPort		      2
	    }
	  }
	  Branch {
	    DstBlock		    "Fuel  Calculation"
	    DstPort		    3
	  }
	}
	Annotation {
	  Name			  "fuel rate controller"
	  Position		  [318, 367]
	  FontName		  "Arial"
	  FontSize		  18
	  FontWeight		  "bold"
	}
      }
    }
    Block {
      BlockType		      Reference
      Name		      "speed sensor"
      Ports		      [2, 1]
      Position		      [230, 134, 270, 176]
      SourceBlock	      "simulink/Signal\nRouting/Manual Switch"
      SourceType	      "Manual Switch"
      ShowPortLabels	      on
      sw		      "1"
      action		      "0"
    }
    Block {
      BlockType		      SubSystem
      Name		      "throttle\ncommand"
      Ports		      [0, 1]
      Position		      [160, 70, 190, 100]
      TreatAsAtomicUnit	      off
      MinAlgLoopOccurrences   off
      RTWSystemCode	      "Auto"
      MaskType		      "Repeating table"
      MaskDescription	      "Repeating table."
      MaskHelp		      "Repeats cycle given in table. Time values shoul"
"d be monotonically increasing."
      MaskPromptString	      "Time values:|Output values:"
      MaskStyleString	      "edit,edit"
      MaskTunableValueString  "on,on"
      MaskCallbackString      "|"
      MaskEnableString	      "on,on"
      MaskVisibilityString    "on,on"
      MaskToolTipString	      "on,on"
      MaskVarAliasString      ","
      MaskVariables	      "rep_seq_t=@1;rep_seq_y=@2;"
      MaskInitialization      "period = max(rep_seq_t);\n"
      MaskDisplay	      "plot([rep_seq_t,rep_seq_t+period,rep_seq_t+2*pe"
"riod,rep_seq_t(1)+3*period],[rep_seq_y,rep_seq_y,rep_seq_y,rep_seq_y(1)])"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "[0 2 4]|[10 20 10]"
      MaskTabNameString	      ","
      System {
	Name			"throttle\ncommand"
	Location		[382, 184, 692, 340]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	Block {
	  BlockType		  Clock
	  Name			  "Clock"
	  Position		  [45, 60, 65, 80]
	  Decimation		  "10"
	}
	Block {
	  BlockType		  Fcn
	  Name			  "Fcn1"
	  Position		  [110, 60, 150, 80]
	  Expr			  "rem(u[1],period)"
	}
	Block {
	  BlockType		  Lookup
	  Name			  "Look-Up Table"
	  Position		  [210, 58, 250, 82]
	  InputValues		  "rep_seq_t"
	  OutputValues		  "rep_seq_y"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out_1"
	  Position		  [285, 60, 305, 80]
	  IconDisplay		  "Port number"
	  BusOutputAsStruct	  off
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "Look-Up Table"
	  SrcPort		  1
	  DstBlock		  "out_1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Clock"
	  SrcPort		  1
	  DstBlock		  "Fcn1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Fcn1"
	  SrcPort		  1
	  DstBlock		  "Look-Up Table"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      Reference
      Name		      "throttle sensor"
      Ports		      [2, 1]
      Position		      [230, 75, 270, 115]
      NamePlacement	      "alternate"
      SourceBlock	      "simulink/Signal\nRouting/Manual Switch"
      SourceType	      "Manual Switch"
      ShowPortLabels	      on
      sw		      "1"
      action		      "0"
    }
    Line {
      SrcBlock		      "engine \ngas\ndynamics"
      SrcPort		      3
      Points		      [10, 0]
      DstBlock		      "air/fuel\nmixture ratio"
      DstPort		      1
    }
    Line {
      SrcBlock		      "engine\nspeed"
      SrcPort		      1
      Points		      [15, 0; 0, -35]
      Branch {
	Points			[0, -100; 240, 0]
	DstBlock		"engine \ngas\ndynamics"
	DstPort			1
      }
      Branch {
	DstBlock		"speed sensor"
	DstPort			1
      }
    }
    Line {
      SrcBlock		      "MAP sensor"
      SrcPort		      1
      DstBlock		      "fuel rate\ncontroller"
      DstPort		      4
    }
    Line {
      SrcBlock		      "EGO sensor"
      SrcPort		      1
      DstBlock		      "fuel rate\ncontroller"
      DstPort		      3
    }
    Line {
      SrcBlock		      "speed sensor"
      SrcPort		      1
      DstBlock		      "fuel rate\ncontroller"
      DstPort		      2
    }
    Line {
      SrcBlock		      "throttle sensor"
      SrcPort		      1
      DstBlock		      "fuel rate\ncontroller"
      DstPort		      1
    }
    Line {
      SrcBlock		      "fuel rate\ncontroller"
      SrcPort		      1
      Points		      [15, 0]
      Branch {
	DstBlock		"engine \ngas\ndynamics"
	DstPort			3
      }
      Branch {
	Points			[0, 95]
	DstBlock		"Metered Fuel"
	DstPort			1
      }
    }
    Line {
      SrcBlock		      "engine \ngas\ndynamics"
      SrcPort		      1
      Points		      [40, 0; 0, 260; -395, 0; 0, -140]
      DstBlock		      "EGO sensor"
      DstPort		      1
    }
    Line {
      SrcBlock		      "Constant5"
      SrcPort		      1
      Points		      [0, -5]
      DstBlock		      "MAP sensor"
      DstPort		      2
    }
    Line {
      SrcBlock		      "Constant3"
      SrcPort		      1
      DstBlock		      "EGO sensor"
      DstPort		      2
    }
    Line {
      SrcBlock		      "throttle\ncommand"
      SrcPort		      1
      Points		      [10, 0]
      Branch {
	Labels			[3, 0]
	Points			[0, -30; 170, 0; 0, 80]
	DstBlock		"engine \ngas\ndynamics"
	DstPort			2
      }
      Branch {
	DstBlock		"throttle sensor"
	DstPort			1
      }
    }
    Line {
      SrcBlock		      "Constant2"
      SrcPort		      1
      Points		      [0, -5]
      DstBlock		      "speed sensor"
      DstPort		      2
    }
    Line {
      SrcBlock		      "Constant4"
      SrcPort		      1
      Points		      [0, -5]
      DstBlock		      "throttle sensor"
      DstPort		      2
    }
    Line {
      SrcBlock		      "engine \ngas\ndynamics"
      SrcPort		      2
      Points		      [25, 0; 0, 200; -365, 0; 0, -70]
      DstBlock		      "MAP sensor"
      DstPort		      1
    }
    Line {
      SrcBlock		      "High \nSpeed\n(rad./Sec.)"
      SrcPort		      1
      DstBlock		      "engine\nspeed"
      DstPort		      2
    }
    Line {
      SrcBlock		      "Nominal\nSpeed"
      SrcPort		      1
      DstBlock		      "engine\nspeed"
      DstPort		      1
    }
    Annotation {
      Name		      "Use these switches to\nsimulate any combination"
"\nof sensor failures"
      Position		      [231, 372]
      DropShadow	      on
    }
    Annotation {
      Name		      "Use this switch\nto force the\nengine to \nover"
"speed"
      Position		      [76, 272]
      DropShadow	      on
      FontName		      "Arial"
    }
    Annotation {
      Name		      "Fault-Tolerant Fuel Control System"
      Position		      [280, 20]
      FontName		      "Arial"
      FontSize		      24
      FontWeight	      "bold"
    }
    Annotation {
      Name		      "Choose Start from\nthe Simulation\nmenu to run"
"\nthe model."
      Position		      [78, 85]
      FontName		      "Century Schoolbook"
      FontSize		      12
      FontWeight	      "bold"
      FontAngle		      "italic"
    }
    Annotation {
      Name		      "To toggle \na switch, \ndouble-click \non its i"
"con."
      Position		      [78, 350]
      FontName		      "Century Schoolbook"
      FontSize		      12
      FontWeight	      "bold"
      FontAngle		      "italic"
    }
  }
}

# Finite State Machines
#
#    Stateflow Version 6.2 (R14SP2) dated Jan 21 2005, 03:46:19
#
#

Stateflow {

	machine {
		id                   		1
		name                 		"fuelsys"
		creator              		"The MathWorks Inc."
		version              		"1.0"
		isLibrary            		0
		firstTarget          		96
		document             		"www.stateflow.com"
		sfVersion            		62014000
		sfDemoChecksum       		[3788090422 2166189630 211837318 777012741]
	}

	chart {
		id                                        		2
		name                                      		"fuel rate\n"
					"controller/control logic"
		windowPosition                            		[288.171 106.623 472.6 454.349]
		viewLimits                                		[0 1019.044 0 993.099]
		zoomFactor                                		2.391
		screen                                    		[1 1 1600 1200 1.25]
		treeNode                                  		[0 3 0 0]
		viewObj                                   		2
		visible                                   		1
		machine                                   		1
		subviewS {
		}
		decomposition                             		SET_CHART
		firstData                                 		73
		updateMethod                              		DISCRETE
		sampleTime                                		"0.01"
		chartFileNumber                           		1
		disableImplicitCasting                    		1
	}

	state {
		id                  		3
		description         		"This state determines the validity of the exhaust gas oxyg"
						"en sensor (EGO) data."
		labelString         		"Oxygen_Sensor_Mode"
		position            		[3.964 1.213 467.741 205.387]
		fontSize            		13.54
		arrowSize           		12
		chart               		2
		treeNode            		[2 5 0 4]
		firstTransition     		38
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		AND_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		4
		description         		"This state assesses the validity of the manifold absolute "
						"pressure (MAP) sensor."
		labelString         		"Pressure_Sensor_Mode"
		position            		[483.372 2.782 483.135 205.308]
		fontSize            		13.153
		arrowSize           		12
		chart               		2
		treeNode            		[2 7 3 10]
		firstTransition     		37
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		AND_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		5
		description         		"The EGO sensor has failed."
		labelString         		"O2_fail\n"
						"entry: fail_state[O2] = 1;"
		position            		[246.675 15.656 164.709 43.425]
		fontSize            		14
		arrowSize           		12
		chart               		2
		treeNode            		[3 0 0 6]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		6
		description         		"The EGO sensor must come up to temperature before its data"
						" is reliable."
		labelString         		"O2_warmup\n"
						"entry: fail_state[O2] = 1;"
		position            		[23.97 60.816 156.905 49.31]
		fontSize            		13.54
		arrowSize           		12
		chart               		2
		treeNode            		[3 0 5 9]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		7
		description         		"The manifold pressure sensor gives a reliable indication o"
						"f absolute pressure (MAP)."
		labelString         		"press_norm\n"
						"entry:  fail_state[PRESS] = 0"
		position            		[517.672 83.699 196.64 51.628]
		fontSize            		13.511
		arrowSize           		12.088
		chart               		2
		treeNode            		[4 0 0 8]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		8
		description         		"The pressure sensor (manifold, or MAP) no longer produces "
						"reliable data."
		labelString         		"press_fail\n"
						"entry: fail_state[PRESS] = 1\n"
						""
		position            		[762.913 84.551 196.451 54.055]
		fontSize            		13.511
		arrowSize           		12.088
		chart               		2
		treeNode            		[4 0 7 0]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		9
		description         		"Normal EGO sensor operation gives a reliable indication of"
						" excess oxygen in the exhaust gas, from which air/fuel mix"
						"ture can be inferred."
		labelString         		"O2_normal\n"
						"entry: fail_state[O2] = 0;"
		position            		[118.137 145.868 161.56 50.851]
		fontSize            		13.54
		arrowSize           		12
		chart               		2
		treeNode            		[3 0 6 0]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		10
		description         		"This state determines the validity of the throttle sensor "
						"signal."
		labelString         		"Throttle_Sensor_Mode"
		position            		[5.188 215.205 466.415 220.444]
		fontSize            		13.54
		arrowSize           		12
		chart               		2
		treeNode            		[2 12 4 11]
		firstTransition     		44
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		AND_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		11
		description         		"This state infers the validity of the speed sensor data.  "
						"A failure is indicated by the presence of manifold vacuum "
						"at zero speed."
		labelString         		"Speed_Sensor_Mode"
		position            		[483.88 217.722 484.999 222.031]
		fontSize            		13.54
		arrowSize           		12
		chart               		2
		treeNode            		[2 14 10 16]
		firstTransition     		46
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		AND_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		12
		description         		"The throttle sensor gives a reliable indication of the ang"
						"le of the throttle plate."
		labelString         		"throt_norm\n"
						"entry: fail_state[THROT] = 0;"
		position            		[40.434 293.862 192.378 55.303]
		fontSize            		13.54
		arrowSize           		12
		chart               		2
		treeNode            		[10 0 0 13]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		13
		description         		"Signal levels indicate that the throttle sensor data is no"
						" longer valid."
		labelString         		"throt_fail\n"
						"entry: fail_state[THROT] = 1;\n"
						""
		position            		[280.007 315.861 184.529 55.76]
		fontSize            		13.54
		arrowSize           		12
		chart               		2
		treeNode            		[10 0 12 0]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		14
		description         		"The speed sensor data accurately represents the engine spe"
						"ed."
		labelString         		"speed_norm\n"
						"entry: fail_state[SPEED] = 0"
		position            		[521.449 317.472 188.167 56.727]
		fontSize            		13.54
		arrowSize           		12
		chart               		2
		treeNode            		[11 0 0 15]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		15
		description         		"The engine speed data is no longer available."
		labelString         		"speed_fail\n"
						"entry: fail_state[SPEED] = 1\n"
						""
		position            		[771.955 321.386 188.648 51.287]
		fontSize            		13.54
		arrowSize           		12
		chart               		2
		treeNode            		[11 0 14 0]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		16
		description         		"This state maintains a count of the number of sensors in f"
						"ailure mode."
		labelString         		"Sens_Failure_Counter"
		position            		[29.156 447.211 931.161 129.929]
		fontSize            		13.54
		arrowSize           		12
		chart               		2
		treeNode            		[2 17 11 23]
		firstTransition     		50
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		AND_STATE
		decomposition       		CLUSTER_STATE
		firstEvent          		71
	}

	state {
		id                  		17
		description         		"This state represents any of the conditions in which more "
						"than one sensor is in failure mode."
		labelString         		"MultiFail"
		position            		[444.452 469.302 444.051 94.261]
		fontSize            		13.54
		arrowSize           		14.156
		chart               		2
		treeNode            		[16 18 0 21]
		firstTransition     		51
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		18
		description         		"Three of the engine sensors have failed."
		labelString         		"FL3"
		position            		[670.662 493.064 56.848 46.645]
		fontSize            		13.54
		arrowSize           		14.156
		chart               		2
		treeNode            		[17 0 0 19]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		19
		description         		"All four of the engine sensors have failed."
		labelString         		"FL4"
		position            		[818.211 494.173 52.84 43.677]
		fontSize            		13.54
		arrowSize           		14.156
		chart               		2
		treeNode            		[17 0 18 20]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		20
		description         		"Two of the engine sensors have failed."
		labelString         		"FL2"
		position            		[511.984 496.91 64.256 43.677]
		fontSize            		13.54
		arrowSize           		14.156
		chart               		2
		treeNode            		[17 0 19 0]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		21
		description         		"One of the engine sensors has failed."
		labelString         		"FL1"
		position            		[283.293 501.499 53.845 39.575]
		fontSize            		13.54
		arrowSize           		14.156
		chart               		2
		treeNode            		[16 0 17 22]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		22
		description         		"Zero failures; all sensors are operational."
		labelString         		"FL0"
		position            		[112.581 502.981 56.798 39.575]
		fontSize            		13.54
		arrowSize           		14.156
		chart               		2
		treeNode            		[16 0 21 0]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		23
		description         		"This state interprets the other states in the chart to dir"
						"ectly control the fueling mode."
		labelString         		"Fueling_Mode"
		position            		[21.449 585.8 951.027 331.003]
		fontSize            		13.54
		arrowSize           		12
		chart               		2
		treeNode            		[2 24 16 0]
		firstTransition     		59
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		AND_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		24
		description         		"The fuel is completely shut off while in this state."
		labelString         		"Fuel_Disabled\n"
						"entry: fuel_mode = DISABLED"
		position            		[676.05 595.258 241.534 298.801]
		fontSize            		13.54
		arrowSize           		12
		chart               		2
		treeNode            		[23 26 0 25]
		firstTransition     		60
		firstJunction       		35
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		25
		description         		"The fuel is actively controlled while in this state."
		labelString         		"Running"
		position            		[40.129 641.652 512.619 254.369]
		fontSize            		13.54
		arrowSize           		12
		chart               		2
		treeNode            		[23 27 24 0]
		firstTransition     		62
		firstJunction       		33
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		26
		description         		"The speed is dangerously high, so shut off the fuel."
		labelString         		"Overspeed"
		position            		[789.667 652.824 101.723 61.805]
		fontSize            		13.54
		arrowSize           		12.166
		chart               		2
		treeNode            		[24 0 0 31]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		27
		labelString         		"Low_Emissions\n"
						"entry: fuel_mode = LOW"
		position            		[63.719 671.354 279.568 213.076]
		fontSize            		13.319
		arrowSize           		12.338
		chart               		2
		treeNode            		[25 30 0 28]
		firstTransition     		64
		firstJunction       		34
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		28
		description         		"This mode enriches the mixture, lowering the air/fuel rati"
						"o."
		labelString         		"Rich_Mixture\n"
						"entry: fuel_mode = RICH"
		position            		[357.301 673.771 183.055 165.515]
		fontSize            		13.319
		arrowSize           		12.338
		chart               		2
		treeNode            		[25 29 27 0]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		29
		description         		"Continue uninterrupted engine operation, but with a richer"
						" mixture."
		labelString         		"Single_Failure"
		position            		[389.613 729.499 114.307 63.507]
		fontSize            		13.319
		arrowSize           		12.338
		chart               		2
		treeNode            		[28 0 0 0]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		30
		description         		"All sensors are in correct operating modes, so effective c"
						"losed-loop mixture control can be used."
		labelString         		"Normal"
		position            		[72.981 737.075 88.135 39.717]
		fontSize            		13.319
		arrowSize           		12.338
		chart               		2
		treeNode            		[27 0 0 32]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		31
		description         		"Cut off system operation due to multiple sensor failures."
		labelString         		"Shutdown"
		position            		[758.767 823.607 96.04 58.759]
		fontSize            		13.538
		arrowSize           		12.166
		chart               		2
		treeNode            		[24 0 26 0]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	state {
		id                  		32
		description         		"The sensors are all operational, but the oxygen (EGO) sens"
						"or is warming up.  We'll target a stoichiometric ratio, no"
						"netheless, but won't close the loop around exhaust gas oxy"
						"gen."
		labelString         		"Warmup"
		position            		[216.866 830.997 84.096 49.329]
		fontSize            		13.319
		arrowSize           		12.338
		chart               		2
		treeNode            		[27 0 30 0]
		subviewer           		2
		subviewS {
			fontSize  		2
		}
		type                		OR_STATE
		decomposition       		CLUSTER_STATE
	}

	junction {
		id         		33
		labelString		"H"
		position   		[352.944 656.828 10.281]
		arrowSize  		12.338
		chart      		2
		linkNode   		[25 0 0]
		subviewer  		2
		type       		HISTORY_JUNCTION
	}

	junction {
		id         		34
		labelString		"H"
		position   		[295.181 696.536 10.281]
		arrowSize  		12.338
		chart      		2
		linkNode   		[27 0 36]
		subviewer  		2
		type       		HISTORY_JUNCTION
	}

	junction {
		id         		35
		position   		[703.996 786.421 11.046]
		arrowSize  		16.208
		chart      		2
		linkNode   		[24 0 0]
		subviewer  		2
		type       		CONNECTIVE_JUNCTION
	}

	junction {
		id         		36
		position   		[176.133 823.071 10.999]
		arrowSize  		12.338
		chart      		2
		linkNode   		[27 34 0]
		subviewer  		2
		type       		CONNECTIVE_JUNCTION
	}

	transition {
		id             		37
		labelString    		"[press > max_press | press < min_press]\n"
						"/Sens_Failure_Counter.INC"
		labelPosition  		[643.538 42.561 282.962 44.01]
		fontSize       		13.511
		arrowSize      		12.088
		src {
			id          		7
			intersection		[1 0 -1 0.557 627.214 83.699 0 0]
		}
		dst {
			id          		8
			intersection		[1 0 -1 0.839 927.83 84.551 0 0]
		}
		midPoint       		[861.009 30.839]
		chart          		2
		linkNode       		[4 0 40]
		dataLimits     		[627.214 931.456 25.103 84.551]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		38
		labelString    		"[Ego < max_ego] /\n"
						"Sens_Failure_Counter.DEC"
		labelPosition  		[205.362 71.962 200.75 44.01]
		fontSize       		13.54
		arrowSize      		12
		src {
			id          		5
			intersection		[4 -1 0 0.631 246.675 31.696 0 0]
		}
		dst {
			id          		9
			intersection		[1 0 -1 0.512 200.821 145.868 0 0]
		}
		midPoint       		[214.079 53.356]
		chart          		2
		linkNode       		[3 0 39]
		dataLimits     		[197.221 246.675 31.696 145.868]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		39
		description    		"The failure condition is indicated by excessive output vol"
						"tage."
		labelString    		"[Ego > max_ego]/\n"
						"Sens_Failure_Counter.INC"
		labelPosition  		[281.498 125.698 193.102 44.01]
		fontSize       		13.54
		arrowSize      		12
		src {
			id          		9
			intersection		[2 1 0 0.701 279.697 181.539 0 0]
		}
		dst {
			id          		5
			intersection		[2 1 0 0.46 411.384 35.649 0 0]
		}
		midPoint       		[460.663 120.615]
		chart          		2
		linkNode       		[3 38 41]
		dataLimits     		[279.697 461.067 32.049 194.06]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		40
		labelPosition  		[526.637 58.788 9.56 19.135]
		fontSize       		13.124
		arrowSize      		12.088
		src {
			intersection		[0 0 0 0 511.963 51.86 0 0]
		}
		dst {
			id          		7
			intersection		[1 0 -1 0.145 546.234 83.699 0 0]
		}
		midPoint       		[524.722 58.057]
		chart          		2
		linkNode       		[4 37 43]
		dataLimits     		[511.963 549.86 51.86 83.699]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		41
		labelPosition  		[39.066 130.51 13.383 24.875]
		fontSize       		13.54
		arrowSize      		12
		src {
			intersection		[0 0 0 0.871 18.579 134.697 0 0]
		}
		dst {
			id          		6
			intersection		[3 0 1 0.8 55.295 110.126 0 0]
		}
		midPoint       		[34.247 131.043]
		chart          		2
		linkNode       		[3 39 42]
		dataLimits     		[18.579 58.895 110.126 134.697]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		42
		description    		"It is assumed that the time o2_t_thresh is sufficient for "
						"the sensor to warm up to operational temperature."
		labelString    		"[t > o2_t_thresh]"
		labelPosition  		[75.191 115.04 124.274 24.875]
		fontSize       		13.54
		arrowSize      		12
		src {
			id          		6
			intersection		[3 0 1 0.719 68.101 110.126 0 0]
		}
		dst {
			id          		9
			intersection		[4 -1 0 0.745 118.137 158.816 0 0]
		}
		midPoint       		[73.146 133.996]
		chart          		2
		linkNode       		[3 41 0]
		dataLimits     		[68.101 118.137 110.126 162.416]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		43
		labelString    		"[press > min_press & press < max_press] /\n"
						"Sens_Failure_Counter.DEC"
		labelPosition  		[574.292 139.961 298.257 44.01]
		fontSize       		13.511
		arrowSize      		12.088
		src {
			id          		8
			intersection		[3 0 1 0.581 845.225 138.606 0 0]
		}
		dst {
			id          		7
			intersection		[3 0 1 0.836 549.952 135.327 0 0]
		}
		midPoint       		[696.764 188.815]
		chart          		2
		linkNode       		[4 40 0]
		dataLimits     		[546.326 845.225 135.327 189.278]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		44
		description    		"A failure is indicated by data which is outside the expect"
						"ed range, typically due to an open or short circuit."
		labelString    		"[throt> max_throt | throt < min_throt]/\n"
						"Sens_Failure_Counter.INC"
		labelPosition  		[181.408 255.077 275.314 44.01]
		fontSize       		13.54
		arrowSize      		12
		src {
			id          		12
			intersection		[1 0 -1 0.621 159.854 293.862 0 0]
		}
		dst {
			id          		13
			intersection		[1 0 -1 0.877 441.884 315.861 0 0]
		}
		midPoint       		[238.48 232.478]
		chart          		2
		linkNode       		[10 0 45]
		dataLimits     		[159.854 445.484 224.497 315.861]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		45
		labelPosition  		[31.484 274.956 13.383 24.875]
		fontSize       		13.54
		arrowSize      		12
		src {
			intersection		[0 0 0 0.691 33.341 248.719 0 0]
		}
		dst {
			id          		12
			intersection		[4 -1 0 0.397 40.434 327.206 0 0]
		}
		midPoint       		[26.572 282.15]
		chart          		2
		linkNode       		[10 44 48]
		dataLimits     		[19.952 40.434 248.719 330.806]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		46
		description    		"Loss of a reliable speed sensor signal will indicate zero "
						"speed.  This is deemed invalid when the manifold vacuum in"
						"dicates otherwise."
		labelString    		"[speed==0 & press < zero_thresh]/\n"
						"Sens_Failure_Counter.INC"
		labelPosition  		[629.37 270.846 242.812 44.01]
		fontSize       		13.54
		arrowSize      		12
		src {
			id          		14
			intersection		[1 0 -1 0.378 592.647 317.472 0 0]
		}
		dst {
			id          		15
			intersection		[1 0 -1 0.609 886.757 321.386 0 0]
		}
		midPoint       		[734.624 252.029]
		chart          		2
		linkNode       		[11 0 47]
		dataLimits     		[592.647 890.357 251.721 321.386]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		47
		labelPosition  		[504.163 299.48 13.383 24.875]
		fontSize       		13.54
		arrowSize      		12
		src {
			intersection		[0 0 0 0.577 502.672 283.309 0 0]
		}
		dst {
			id          		14
			intersection		[4 -1 0 0.774 521.449 330.298 0 0]
		}
		midPoint       		[503.346 303.36]
		chart          		2
		linkNode       		[11 46 49]
		dataLimits     		[502.329 521.449 283.309 333.898]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		48
		labelString    		"[throt >  min_throt & throt < max_throt]\n"
						"/ Sens_Failure_Counter.DEC"
		labelPosition  		[118.913 384.115 286.785 44.01]
		fontSize       		13.54
		arrowSize      		12
		src {
			id          		13
			intersection		[3 0 1 0.184 430.618 371.621 0 0]
		}
		dst {
			id          		12
			intersection		[3 0 1 0.834 72.33 349.164 0 0]
		}
		midPoint       		[319.319 427.806]
		chart          		2
		linkNode       		[10 45 0]
		dataLimits     		[68.73 430.618 349.164 430.425]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		49
		labelString    		"[speed > 0] /\n"
						"Sens_Failure_Counter.DEC"
		labelPosition  		[649.503 381.096 200.75 44.01]
		fontSize       		13.54
		arrowSize      		12
		src {
			id          		15
			intersection		[3 0 1 0.53 860.561 372.674 0 0]
		}
		dst {
			id          		14
			intersection		[3 0 1 0.485 618.393 374.2 0 0]
		}
		midPoint       		[746.323 428.896]
		chart          		2
		linkNode       		[11 47 0]
		dataLimits     		[614.793 860.561 372.674 429.87]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		50
		labelPosition  		[87.567 501.141 13.383 24.875]
		fontSize       		13.54
		arrowSize      		14.156
		src {
			intersection		[0 0 0 0 82.795 497.16 0 0]
		}
		dst {
			id          		22
			intersection		[4 -1 0 0.554 112.581 520.639 0 0]
		}
		midPoint       		[88.513 506.227]
		chart          		2
		linkNode       		[16 0 52]
		dataLimits     		[82.795 112.581 497.16 524.886]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		51
		labelString    		"INC"
		labelPosition  		[770.041 486.514 30.59 24.875]
		fontSize       		13.54
		arrowSize      		14.156
		src {
			id          		18
			intersection		[2 1 0 0.296 727.509 506.891 0 0]
		}
		dst {
			id          		19
			intersection		[4 -1 0 0.694 818.211 507.548 0 0]
		}
		midPoint       		[755.112 507.075]
		chart          		2
		linkNode       		[17 0 53]
		dataLimits     		[727.509 818.211 503.301 511.795]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		52
		labelString    		"INC"
		labelPosition  		[204.018 490.673 30.59 24.875]
		fontSize       		13.54
		arrowSize      		14.156
		src {
			id          		22
			intersection		[2 1 0 0.153 169.38 509.032 0 0]
		}
		dst {
			id          		21
			intersection		[4 -1 0 0.81 283.293 509.032 0 0]
		}
		midPoint       		[205.055 509.032]
		chart          		2
		linkNode       		[16 50 54]
		dataLimits     		[169.38 283.293 504.785 513.279]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		53
		labelString    		"INC"
		labelPosition  		[623.226 489.621 30.59 24.875]
		fontSize       		13.54
		arrowSize      		14.156
		src {
			id          		20
			intersection		[2 1 0 0.266 576.239 508.528 0 0]
		}
		dst {
			id          		18
			intersection		[4 -1 0 0.658 670.662 509.032 0 0]
		}
		midPoint       		[605.135 508.669]
		chart          		2
		linkNode       		[17 51 55]
		dataLimits     		[576.239 670.662 504.785 513.279]
		subviewer      		2
		executionOrder 		2
	}

	transition {
		id             		54
		labelString    		"INC"
		labelPosition  		[394.147 493.054 30.59 24.875]
		fontSize       		13.54
		arrowSize      		14.156
		src {
			id          		21
			intersection		[2 1 0 0.261 337.138 511.838 0 0]
		}
		dst {
			id          		20
			intersection		[4 -1 0 0.683 511.984 510.776 0 0]
		}
		midPoint       		[394.363 511.483]
		chart          		2
		linkNode       		[16 52 57]
		dataLimits     		[337.138 511.984 506.529 515.023]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		55
		labelString    		"DEC"
		labelPosition  		[768.465 533.573 38.238 24.875]
		fontSize       		13.54
		arrowSize      		14.156
		src {
			id          		19
			intersection		[4 -1 0 0.227 818.211 527.919 0 0]
		}
		dst {
			id          		18
			intersection		[2 1 0 0.756 727.509 528.325 0 0]
		}
		midPoint       		[790.609 528.032]
		chart          		2
		linkNode       		[17 53 56]
		dataLimits     		[727.509 818.211 524.078 532.572]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		56
		labelString    		"DEC"
		labelPosition  		[607.275 534.373 38.238 24.875]
		fontSize       		13.54
		arrowSize      		14.156
		src {
			id          		18
			intersection		[4 -1 0 0.212 670.662 529.809 0 0]
		}
		dst {
			id          		20
			intersection		[2 1 0 0.729 576.239 528.759 0 0]
		}
		midPoint       		[641.765 529.516]
		chart          		2
		linkNode       		[17 55 0]
		dataLimits     		[576.239 670.662 524.512 533.006]
		subviewer      		2
		executionOrder 		2
	}

	transition {
		id             		57
		labelString    		"DEC"
		labelPosition  		[464.517 535.578 38.238 24.875]
		fontSize       		13.54
		arrowSize      		14.156
		src {
			id          		20
			intersection		[4 -1 0 0.213 511.984 531.293 0 0]
		}
		dst {
			id          		21
			intersection		[2 1 0 0.724 337.138 530.169 0 0]
		}
		midPoint       		[455.114 530.98]
		chart          		2
		linkNode       		[16 54 58]
		dataLimits     		[337.138 511.984 525.922 534.416]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		58
		labelString    		"DEC"
		labelPosition  		[212.844 541.294 38.238 24.875]
		fontSize       		13.54
		arrowSize      		14.156
		src {
			id          		21
			intersection		[4 -1 0 0.21 283.293 532.777 0 0]
		}
		dst {
			id          		22
			intersection		[2 1 0 0.753 169.38 532.777 0 0]
		}
		midPoint       		[247.617 532.777]
		chart          		2
		linkNode       		[16 57 0]
		dataLimits     		[169.38 283.293 528.53 537.024]
		subviewer      		2
		executionOrder 		2
	}

	transition {
		id             		59
		labelString    		"[ speed > max_speed ]"
		labelPosition  		[533.551 616.02 158.688 24.875]
		fontSize       		13.54
		arrowSize      		12.166
		src {
			id          		25
			intersection		[2 1 0 0.192 552.748 690.595 0 0]
		}
		dst {
			id          		26
			intersection		[4 -1 0 0.807 789.667 664.766 0 0]
		}
		midPoint       		[631.72 682.126]
		chart          		2
		linkNode       		[23 0 61]
		dataLimits     		[552.748 789.667 661.116 690.595]
		subviewer      		2
		executionOrder 		2
	}

	transition {
		id             		60
		labelString    		"[in(speed_norm) & ...\n"
						"speed < (max_speed - hys)]"
		labelPosition  		[717.683 723.456 196.926 44.01]
		fontSize       		13.54
		arrowSize      		16.208
		src {
			id          		26
			intersection		[4 -1 0 0.317 789.667 695.037 0 0]
		}
		dst {
			id          		35
			intersection		[0 0 -1 -1 703.996 775.374 0 0]
		}
		midPoint       		[745.385 698.055]
		chart          		2
		linkNode       		[24 0 66]
		dataLimits     		[699.134 789.667 694.544 775.374]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		61
		labelString    		"  [!in(MultiFail)]"
		labelPosition  		[557.42 739.236 107.067 24.875]
		fontSize       		13.539
		arrowSize      		12
		src {
			id          		35
			intersection		[0 -0.587 -0.81 -1 697.511 777.479 0 0]
		}
		dst {
			id          		25
			intersection		[2 1 0 0.312 552.748 721.038 0 0]
		}
		midPoint       		[657.795 742.048]
		chart          		2
		linkNode       		[23 59 67]
		dataLimits     		[552.748 697.511 717.438 777.479]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		62
		labelString    		"[in(FL1)]"
		labelPosition  		[218.897 720.784 65.005 24.875]
		fontSize       		13.319
		arrowSize      		12.338
		src {
			id          		30
			intersection		[2 1 0 0.205 161.116 745.214 0 0]
		}
		dst {
			id          		29
			intersection		[4 -1 0 0.799 389.613 742.283 0 0]
		}
		midPoint       		[292.042 739.268]
		chart          		2
		linkNode       		[25 0 63]
		dataLimits     		[161.116 389.613 738.582 745.984]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		63
		labelString    		"[in(FL0)]"
		labelPosition  		[268.163 772.09 65.005 24.875]
		fontSize       		13.319
		arrowSize      		12.338
		src {
			id          		29
			intersection		[4 -1 0 0.359 389.613 770.201 0 0]
		}
		dst {
			id          		30
			intersection		[2 1 0 0.749 161.116 766.808 0 0]
		}
		midPoint       		[313.503 768.862]
		chart          		2
		linkNode       		[25 62 65]
		dataLimits     		[161.116 389.613 763.107 770.509]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		64
		labelPosition  		[111.512 819.065 13.383 24.875]
		fontSize       		13.319
		arrowSize      		12.338
		src {
			id          		36
			intersection		[0 -0.965 -0.263 -1 165.522 820.177 0 0]
		}
		dst {
			id          		30
			intersection		[3 0 1 0.801 90.55 776.792 0 0]
		}
		midPoint       		[140.041 822.915]
		chart          		2
		linkNode       		[27 0 68]
		dataLimits     		[86.849 165.522 776.792 823.722]
		subviewer      		2
		executionOrder 		2
	}

	transition {
		id             		65
		labelString    		"[in(FL1)]"
		labelPosition  		[203.915 799.68 65.005 24.875]
		fontSize       		13.319
		arrowSize      		12.338
		src {
			id          		36
			intersection		[0 0.625 -0.781 -1 183.004 814.482 0 0]
		}
		dst {
			id          		29
			intersection		[3 0 1 0.688 425.331 793.006 0 0]
		}
		midPoint       		[303.96 814.066]
		chart          		2
		linkNode       		[25 63 0]
		dataLimits     		[183.004 429.032 793.006 830.65]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		66
		labelString    		"    [in(MultiFail)]"
		labelPosition  		[737.388 771.069 110.89 24.875]
		fontSize       		13.334
		arrowSize      		12.166
		src {
			id          		35
			intersection		[0 0.757 0.653 -1 712.361 793.635 0 0]
		}
		dst {
			id          		31
			intersection		[1 0 -1 0.754 831.226 823.607 0 0]
		}
		midPoint       		[761.063 798]
		chart          		2
		linkNode       		[24 60 0]
		dataLimits     		[712.361 834.876 793.541 823.607]
		subviewer      		2
		executionOrder 		2
	}

	transition {
		id             		67
		labelString    		"enter(MultiFail)"
		labelPosition  		[562.842 781.199 110.89 24.875]
		fontSize       		13.54
		arrowSize      		12.166
		src {
			id          		25
			intersection		[2 1 0 0.624 552.748 800.325 0 0]
		}
		dst {
			id          		31
			intersection		[4 -1 0 0.824 758.767 833.963 0 0]
		}
		midPoint       		[621.448 809.152]
		chart          		2
		linkNode       		[23 61 69]
		dataLimits     		[552.748 758.767 800.325 837.613]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		68
		labelString    		"[in(O2_normal)]"
		labelPosition  		[109.833 860.744 114.714 24.875]
		fontSize       		13.319
		arrowSize      		12.338
		src {
			id          		32
			intersection		[4 -1 0 0.37 216.866 862.092 0 0]
		}
		dst {
			id          		36
			intersection		[0 0.752 0.659 -1 184.406 830.32 0 0]
		}
		midPoint       		[203.961 854.973]
		chart          		2
		linkNode       		[27 64 0]
		dataLimits     		[184.406 216.866 830.32 862.092]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		69
		labelString    		"exit(MultiFail)"
		labelPosition  		[581.568 839.002 101.331 24.875]
		fontSize       		13.54
		arrowSize      		12.338
		src {
			id          		31
			intersection		[4 -1 0 0.217 758.767 869.619 0 0]
		}
		dst {
			id          		28
			intersection		[3 0 1 0.123 517.884 839.286 0 0]
		}
		midPoint       		[586.732 867.83]
		chart          		2
		linkNode       		[23 67 70]
		dataLimits     		[514.183 758.767 839.286 870.682]
		subviewer      		2
		executionOrder 		1
	}

	transition {
		id             		70
		labelPosition  		[417.676 866.006 13.383 24.875]
		fontSize       		13.54
		arrowSize      		12.338
		src {
			intersection		[0 0 0 0.244 576.344 887.122 0 0]
		}
		dst {
			id          		32
			intersection		[2 1 0 0.582 300.963 859.707 0 0]
		}
		midPoint       		[484.106 875.424]
		chart          		2
		linkNode       		[23 69 0]
		dataLimits     		[300.963 576.344 856.006 887.122]
		subviewer      		2
		executionOrder 		1
	}

	event {
		id         		71
		name       		"DEC"
		description		"decrement the sensor failure counter"
		linkNode   		[16 0 72]
		scope      		LOCAL_EVENT
		trigger    		EITHER_EDGE_EVENT
		machine    		1
	}

	event {
		id         		72
		name       		"INC"
		description		"increment the failure counter"
		linkNode   		[16 71 0]
		scope      		LOCAL_EVENT
		trigger    		EITHER_EDGE_EVENT
		machine    		1
	}

	data {
		id                            		73
		name                          		"throt"
		description                   		"throttle plate angle"
		linkNode                      		[2 0 74]
		scope                         		INPUT_DATA
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"degrees"
		props {
			range {
				minimum		"0"
				maximum		"120"
			}
		}
	}

	data {
		id                            		74
		name                          		"speed"
		description                   		"engine angular velocity"
		linkNode                      		[2 73 75]
		scope                         		INPUT_DATA
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"rad/sec"
		props {
			range {
				minimum		"0"
				maximum		"1000"
			}
		}
	}

	data {
		id                            		75
		name                          		"Ego"
		description                   		"Exhaust Gas Oxygen"
		linkNode                      		[2 74 76]
		scope                         		INPUT_DATA
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"volts"
		props {
			range {
				minimum		"0"
				maximum		"12"
			}
		}
	}

	data {
		id                            		76
		name                          		"press"
		description                   		"Manifold Absolute Pressure (MAP)"
		linkNode                      		[2 75 77]
		scope                         		INPUT_DATA
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"bar (absolute)"
		props {
			range {
				minimum		"0"
				maximum		"2"
			}
		}
		debug                         		[1]
	}

	data {
		id                            		77
		name                          		"fail_state"
		description                   		"array of failure indications for use by Simulink model"
		linkNode                      		[2 76 78]
		scope                         		OUTPUT_DATA
		machine                       		1
		dataType                      		"boolean"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"fail/ok"
		props {
			range {
				minimum		"0"
				maximum		"1"
			}
			array {
				size      		"4"
				firstIndex		"1"
			}
		}
		debug                         		[1]
	}

	data {
		id                            		78
		name                          		"fuel_mode"
		description                   		"fuel control mode: LOW = stoichiometric mixture, RICH = ri"
						"ch mixture, DISABLED = shut down"
		linkNode                      		[2 77 79]
		scope                         		OUTPUT_DATA
		machine                       		1
		dataType                      		"uint8"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"enumerated"
		props {
			range {
				minimum		"1"
				maximum		"3"
			}
			initialValue		"1"
		}
	}

	data {
		id                            		79
		name                          		"o2_t_thresh"
		description                   		"Time required to warm the EGO sensor sufficiently for vali"
						"d data."
		linkNode                      		[2 78 80]
		scope                         		PARAMETER_DATA
		initFromWorkspace             		1
		paramIndexForInitFromWorkspace		10
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"sec"
		props {
			range {
				minimum		"0"
				maximum		"60"
			}
		}
	}

	data {
		id                            		80
		name                          		"max_ego"
		description                   		"parameter represents the upper end of the EGO sensor range"
		linkNode                      		[2 79 81]
		scope                         		PARAMETER_DATA
		initFromWorkspace             		1
		paramIndexForInitFromWorkspace		4
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"volts"
		props {
			range {
				minimum		"0"
				maximum		"2"
			}
		}
	}

	data {
		id                            		81
		name                          		"max_press"
		description                   		"parameter represents the upper limt of valid pressure read"
						"ings"
		linkNode                      		[2 80 82]
		scope                         		PARAMETER_DATA
		initFromWorkspace             		1
		paramIndexForInitFromWorkspace		5
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"bar (absolute)"
		props {
			range {
				minimum		"0"
				maximum		"2"
			}
		}
	}

	data {
		id                            		82
		name                          		"min_press"
		description                   		"parameter for the lower end of the valid pressure sensor r"
						"ange"
		linkNode                      		[2 81 83]
		scope                         		PARAMETER_DATA
		initFromWorkspace             		1
		paramIndexForInitFromWorkspace		8
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"bar (absolute)"
		props {
			range {
				minimum		"0"
				maximum		"2"
			}
		}
	}

	data {
		id                            		83
		name                          		"min_throt"
		description                   		"minimum valid throttle angle"
		linkNode                      		[2 82 84]
		scope                         		PARAMETER_DATA
		initFromWorkspace             		1
		paramIndexForInitFromWorkspace		9
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"degrees"
		props {
			range {
				minimum		"0"
				maximum		"120"
			}
		}
	}

	data {
		id                            		84
		name                          		"max_throt"
		description                   		"parameter to indicate the maximum valid throttle angle rea"
						"ding"
		linkNode                      		[2 83 85]
		scope                         		PARAMETER_DATA
		initFromWorkspace             		1
		paramIndexForInitFromWorkspace		7
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"degrees"
		props {
			range {
				minimum		"0"
				maximum		"120"
			}
		}
	}

	data {
		id                            		85
		name                          		"zero_thresh"
		description                   		"minimum manifold pressure expected at zero speed"
		linkNode                      		[2 84 86]
		scope                         		PARAMETER_DATA
		initFromWorkspace             		1
		paramIndexForInitFromWorkspace		11
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"bar (absolute)"
		props {
			range {
				minimum		"0"
				maximum		"450"
			}
		}
	}

	data {
		id                            		86
		name                          		"max_speed"
		description                   		"parameter for the upper end of the safe engine speed range"
		linkNode                      		[2 85 87]
		scope                         		PARAMETER_DATA
		initFromWorkspace             		1
		paramIndexForInitFromWorkspace		6
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"rad/sec"
		props {
			range {
				minimum		"0"
				maximum		"1000"
			}
		}
	}

	data {
		id                            		87
		name                          		"hys"
		description                   		"Hysteresis in the upper speed limit to avoid chatter at th"
						"e threshold."
		linkNode                      		[2 86 88]
		scope                         		PARAMETER_DATA
		initFromWorkspace             		1
		paramIndexForInitFromWorkspace		3
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"rad/sec"
		props {
			range {
				minimum		"0"
				maximum		"1000"
			}
		}
	}

	data {
		id                            		88
		name                          		"LOW"
		description                   		"constant represents \"low emissions\" or stoichiometric fu"
						"el mixture mode"
		linkNode                      		[2 87 89]
		scope                         		PARAMETER_DATA
		initFromWorkspace             		1
		paramIndexForInitFromWorkspace		1
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		props {
			range {
				minimum		""
				maximum		""
			}
		}
	}

	data {
		id                            		89
		name                          		"RICH"
		description                   		"constant represents rich fuel mixture mode"
		linkNode                      		[2 88 90]
		scope                         		PARAMETER_DATA
		initFromWorkspace             		1
		paramIndexForInitFromWorkspace		2
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		props {
			range {
				minimum		""
				maximum		""
			}
		}
	}

	data {
		id                            		90
		name                          		"DISABLED"
		description                   		"constant represents zero fuel mode"
		linkNode                      		[2 89 91]
		scope                         		PARAMETER_DATA
		initFromWorkspace             		1
		machine                       		1
		dataType                      		"double"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		props {
			range {
				minimum		""
				maximum		""
			}
		}
	}

	data {
		id                            		91
		name                          		"O2"
		description                   		"index into fail_state"
		linkNode                      		[2 90 92]
		scope                         		CONSTANT_DATA
		machine                       		1
		dataType                      		"uint8"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"index"
		props {
			range {
				minimum		""
				maximum		""
			}
			initialValue		"3"
			array {
				firstIndex		""
			}
		}
	}

	data {
		id                            		92
		name                          		"PRESS"
		description                   		"index into fail_state"
		linkNode                      		[2 91 93]
		scope                         		CONSTANT_DATA
		machine                       		1
		dataType                      		"uint8"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"index"
		props {
			range {
				minimum		""
				maximum		""
			}
			initialValue		"4"
			array {
				firstIndex		""
			}
		}
	}

	data {
		id                            		93
		name                          		"THROT"
		description                   		"index into fail_state"
		linkNode                      		[2 92 94]
		scope                         		CONSTANT_DATA
		machine                       		1
		dataType                      		"uint8"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"index"
		props {
			range {
				minimum		""
				maximum		""
			}
			initialValue		"1"
			array {
				firstIndex		""
			}
		}
	}

	data {
		id                            		94
		name                          		"SPEED"
		linkNode                      		[2 93 0]
		scope                         		CONSTANT_DATA
		machine                       		1
		dataType                      		"uint8"
		fixptType {
			bias    		0
			slope   		1
			exponent		0
			baseType		SF_INT16_TYPE
			lock    		0
		}
		dlgFixptMode                  		0
		units                         		"index"
		props {
			range {
				minimum		""
				maximum		""
			}
			initialValue		"2"
			array {
				firstIndex		""
			}
		}
	}

	instance {
		id     		95
		name   		"fuel rate\n"
					"controller/control logic"
		machine		1
		chart  		2
	}

	target {
		id                        		96
		name                      		"sfun"
		description               		"Default S-Function target."
		codeFlags                 		" debug=1 overflow=1 echo=1"
		machine                   		1
		linkNode                  		[1 0 97]
		checksumOld               		[2501901041 1050918098 926884844 3756894111]
	}

	target {
		id                        		97
		name                      		"rtw"
		description               		"Default RTW target."
		codeFlags                 		" comments=1 statebitsets=0 databitsets=0 emitlogicalops=1 el"
						"seifdetection=1 constantfolding=1 redundantloadelimination=0"
						" preserveconstantnames=0 preservenames=0 preservenameswithpa"
						"rent=0 exportcharts=0 debug=0 telemetry=0 project=0 multiins"
						"tanced=0 echo=1 initializer=1 ioformat=1"
		machine                   		1
		linkNode                  		[1 96 0]
	}
}
