diff --git a/.gitignore b/.gitignore index d0e9e78fe2453df081b7878022f17a1989835db4..7748944b0be6b59c1a5dec3f32de2ac022a3f3e8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *~ -*.autosave \ No newline at end of file +*.autosave +slprj/ \ No newline at end of file diff --git a/iobox/DESCRIPTION b/iobox/DESCRIPTION new file mode 100644 index 0000000000000000000000000000000000000000..e5a8c72b4580bc5ea9b7df0d73a1261dc0e1175a --- /dev/null +++ b/iobox/DESCRIPTION @@ -0,0 +1 @@ +I/O-box 200X test \ No newline at end of file diff --git a/iobox/define_pci.m b/iobox/define_pci.m new file mode 100644 index 0000000000000000000000000000000000000000..ddea5fa6162c0e60ef13d8277e34f2c2551828e7 --- /dev/null +++ b/iobox/define_pci.m @@ -0,0 +1,16 @@ +% Setup for testing PCI I/O box +h=0.04; +analog_out=[ 0 1 ]; +analog_out_amplitude=[ 10 10 ] +analog_out_bias=[ 0 0 ] +analog_out_freq=[ 2 3 ] +analog_out_phase=[ 0 0 ] +% +analog_in=[ 0 1 2 3 4 5 6 7 ] +% Sample based pulse generator +digital_out=[ 0 1 2 3 4 5 6 7] +digital_out_period = round(5/h) +digital_out_width = round(0.4/h) +digital_out_phase = round([ 0.1 0.6 1.1 1.6 2.1 2.6 3.1 3.6]/h) +% +digital_in=[ 0 1 2 3 4 5 6 7 ] diff --git a/iobox/define_serial.m b/iobox/define_serial.m new file mode 100644 index 0000000000000000000000000000000000000000..6dd8ed4cc0e31755d84fdfce1c279bc02e9d7e4e --- /dev/null +++ b/iobox/define_serial.m @@ -0,0 +1,16 @@ +% Setup for testing Serial I/O box +h=0.04; +analog_out=[ 30 31 ]; +analog_out_amplitude=[ 10 10 ] +analog_out_bias=[ 0 0 ] +analog_out_freq=[ 2 3 ] +analog_out_phase=[ 0 0 ] +% +analog_in=[ 30 31 32 33 ] +% Sample based pulse generator +digital_out=[ 30 31 32 33 34 35 ] +digital_out_period = round(5/h) +digital_out_width = round(0.4/h) +digital_out_phase = round([ 0.1 0.6 1.1 1.6 2.1 2.6]/h) +% +digital_in=[ 30 31 32 33 34 35 ] diff --git a/iobox/run b/iobox/run new file mode 100755 index 0000000000000000000000000000000000000000..ff1dc3eee67d8a68f01be9be55f090c684a750d1 --- /dev/null +++ b/iobox/run @@ -0,0 +1,3 @@ +#!/bin/sh + +gnome-terminal --title='I/O-box 200X test' -e '/bin/sh -c "VERSION=R2012a matlab -nodesktop -nosplash -r run_test"' diff --git a/iobox/run_test.mdl b/iobox/run_test.mdl new file mode 100644 index 0000000000000000000000000000000000000000..ff03a19f1d08a7fbfd7ac657e860bd920c132dd7 --- /dev/null +++ b/iobox/run_test.mdl @@ -0,0 +1,1025 @@ +Model { + Name "run_test" + Version 7.9 + MdlSubVersion 0 + GraphicalInterface { + NumRootInports 0 + NumRootOutports 0 + ParameterArgumentNames "" + ComputedModelVersion "1.53" + NumModelReferences 0 + NumTestPointedSignals 0 + } + SavedCharacterEncoding "UTF-8" + SaveDefaultBlockParams on + ScopeRefreshTime 0.035000 + OverrideScopeRefreshTime on + DisableAllScopes off + DataTypeOverride "UseLocalSettings" + DataTypeOverrideAppliesTo "AllNumericTypes" + MinMaxOverflowLogging "UseLocalSettings" + MinMaxOverflowArchiveMode "Overwrite" + FPTRunName "Run 1" + MaxMDLFileLineLength 120 + Created "Fri Jun 30 07:57:47 2000" + Creator "akfed3" + UpdateHistory "UpdateHistoryNever" + ModifiedByFormat "%<Auto>" + LastModifiedBy "andersb" + ModifiedDateFormat "%<Auto>" + LastModifiedDate "Wed Jan 03 11:28:38 2018" + RTWModifiedTimeStamp 436879708 + ModelVersionFormat "1.%<AutoIncrement:53>" + ConfigurationManager "none" + SampleTimeColors off + SampleTimeAnnotations off + LibraryLinkDisplay "none" + WideLines on + ShowLineDimensions off + ShowPortDataTypes off + ShowDesignRanges off + ShowLoopsOnError on + IgnoreBidirectionalLines off + ShowStorageClass off + ShowTestPointIcons on + ShowSignalResolutionIcons on + ShowViewerIcons on + SortedOrder off + ExecutionContextIcon off + ShowLinearizationAnnotations on + BlockNameDataTip off + BlockParametersDataTip on + BlockDescriptionStringDataTip off + ToolBar on + StatusBar on + BrowserShowLibraryLinks off + BrowserLookUnderMasks off + SimulationMode "normal" + LinearizationMsg "none" + Profile off + ParamWorkspaceSource "MATLABWorkspace" + AccelSystemTargetFile "accel.tlc" + AccelTemplateMakefile "accel_default_tmf" + AccelMakeCommand "make_rtw" + TryForcingSFcnDF off + RecordCoverage off + CovPath "/" + CovSaveName "covdata" + CovMetricSettings "dw" + CovNameIncrementing off + CovHtmlReporting on + CovForceBlockReductionOff on + covSaveCumulativeToWorkspaceVar on + CovSaveSingleToWorkspaceVar on + CovCumulativeVarName "covCumulativeData" + CovCumulativeReport off + CovReportOnPause on + CovModelRefEnable "Off" + CovExternalEMLEnable 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 + ShowModelReferenceBlockVersion off + ShowModelReferenceBlockIO off + Array { + Type "Handle" + Dimension 1 + Simulink.ConfigSet { + $ObjectID 1 + Version "1.12.0" + Array { + Type "Handle" + Dimension 8 + Simulink.SolverCC { + $ObjectID 2 + Version "1.12.0" + StartTime "0.0" + StopTime "inf" + AbsTol "1e-6" + FixedStep "h" + InitialStep "auto" + MaxNumMinSteps "-1" + MaxOrder 5 + ZcThreshold "auto" + ConsecutiveZCsStepRelTol "10*128*eps" + MaxConsecutiveZCs "1000" + ExtrapolationOrder 4 + NumberNewtonIterations 1 + MaxStep "auto" + MinStep "auto" + MaxConsecutiveMinStep "1" + RelTol "1e-3" + SolverMode "SingleTasking" + EnableConcurrentExecution off + ConcurrentTasks off + Solver "FixedStepDiscrete" + SolverName "FixedStepDiscrete" + SolverJacobianMethodControl "auto" + ShapePreserveControl "DisableAll" + ZeroCrossControl "UseLocalSettings" + ZeroCrossAlgorithm "Nonadaptive" + AlgebraicLoopSolver "TrustRegion" + SolverResetMethod "Fast" + PositivePriorityOrder off + AutoInsertRateTranBlk off + SampleTimeConstraint "Unconstrained" + InsertRTBMode "Whenever possible" + } + Simulink.DataIOCC { + $ObjectID 3 + Version "1.12.0" + Decimation "1" + ExternalInput "[t, u]" + FinalStateName "xFinal" + InitialState "xInitial" + LimitDataPoints off + MaxDataPoints "1000" + LoadExternalInput off + LoadInitialState off + SaveFinalState off + SaveCompleteFinalSimState off + SaveFormat "Array" + SignalLoggingSaveFormat "ModelDataLogs" + SaveOutput on + SaveState off + SignalLogging on + DSMLogging on + InspectSignalLogs off + SaveTime on + ReturnWorkspaceOutputs off + StateSaveName "xout" + TimeSaveName "tout" + OutputSaveName "yout" + SignalLoggingName "logsout" + DSMLoggingName "dsmout" + OutputOption "RefineOutputTimes" + OutputTimes "[]" + ReturnWorkspaceOutputsName "out" + Refine "1" + } + Simulink.OptimizationCC { + $ObjectID 4 + Version "1.12.0" + Array { + Type "Cell" + Dimension 4 + Cell "ZeroExternalMemoryAtStartup" + Cell "ZeroInternalMemoryAtStartup" + Cell "NoFixptDivByZeroProtection" + Cell "OptimizeModelRefInitCode" + PropName "DisabledProps" + } + BlockReduction on + BooleanDataType off + ConditionallyExecuteInputs on + InlineParams off + UseIntDivNetSlope off + UseFloatMulNetSlope off + UseSpecifiedMinMax off + InlineInvariantSignals off + OptimizeBlockIOStorage on + BufferReuse on + EnhancedBackFolding off + StrengthReduction off + ExpressionFolding on + BooleansAsBitfields off + BitfieldContainerType "uint_T" + EnableMemcpy on + MemcpyThreshold 64 + PassReuseOutputArgsAs "Structure reference" + ExpressionDepthLimit 2147483647 + FoldNonRolledExpr on + LocalBlockOutputs on + RollThreshold 5 + SystemCodeInlineAuto off + StateBitsets off + DataBitsets off + UseTempVars off + ZeroExternalMemoryAtStartup on + ZeroInternalMemoryAtStartup on + InitFltsAndDblsToZero on + NoFixptDivByZeroProtection off + EfficientFloat2IntCast off + EfficientMapNaN2IntZero on + OptimizeModelRefInitCode off + LifeSpan "inf" + MaxStackSize "Inherit from target" + BufferReusableBoundary on + SimCompilerOptimization "Off" + AccelVerboseBuild off + ParallelExecutionInRapidAccelerator on + } + Simulink.DebuggingCC { + $ObjectID 5 + Version "1.12.0" + RTPrefix "error" + ConsistencyChecking "none" + ArrayBoundsChecking "none" + SignalInfNanChecking "none" + SignalRangeChecking "none" + ReadBeforeWriteMsg "UseLocalSettings" + WriteAfterWriteMsg "UseLocalSettings" + WriteAfterReadMsg "UseLocalSettings" + AlgebraicLoopMsg "warning" + ArtificialAlgebraicLoopMsg "warning" + SaveWithDisabledLinksMsg "warning" + SaveWithParameterizedLinksMsg "none" + CheckSSInitialOutputMsg on + UnderspecifiedInitializationDetection "Classic" + MergeDetectMultiDrivingBlocksExec "none" + CheckExecutionContextPreStartOutputMsg off + CheckExecutionContextRuntimeOutputMsg off + SignalResolutionControl "TryResolveAllWithWarning" + BlockPriorityViolationMsg "warning" + MinStepSizeMsg "warning" + TimeAdjustmentMsg "none" + MaxConsecutiveZCsMsg "error" + MaskedZcDiagnostic "warning" + IgnoredZcDiagnostic "warning" + SolverPrmCheckMsg "none" + InheritedTsInSrcMsg "warning" + DiscreteInheritContinuousMsg "warning" + MultiTaskDSMMsg "warning" + MultiTaskCondExecSysMsg "none" + MultiTaskRateTransMsg "error" + SingleTaskRateTransMsg "none" + TasksWithSamePriorityMsg "warning" + SigSpecEnsureSampleTimeMsg "warning" + CheckMatrixSingularityMsg "none" + IntegerOverflowMsg "warning" + Int32ToFloatConvMsg "warning" + ParameterDowncastMsg "error" + ParameterOverflowMsg "error" + ParameterUnderflowMsg "none" + ParameterPrecisionLossMsg "warning" + ParameterTunabilityLossMsg "warning" + FixptConstUnderflowMsg "none" + FixptConstOverflowMsg "none" + FixptConstPrecisionLossMsg "none" + UnderSpecifiedDataTypeMsg "none" + UnnecessaryDatatypeConvMsg "none" + VectorMatrixConversionMsg "none" + InvalidFcnCallConnMsg "error" + FcnCallInpInsideContextMsg "Use local settings" + SignalLabelMismatchMsg "none" + UnconnectedInputMsg "warning" + UnconnectedOutputMsg "warning" + UnconnectedLineMsg "warning" + SFcnCompatibilityMsg "none" + FrameProcessingCompatibilityMsg "warning" + UniqueDataStoreMsg "none" + BusObjectLabelMismatch "warning" + RootOutportRequireBusObject "warning" + AssertControl "UseLocalSettings" + EnableOverflowDetection off + ModelReferenceIOMsg "none" + ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" + ModelReferenceVersionMismatchMessage "none" + ModelReferenceIOMismatchMessage "none" + ModelReferenceCSMismatchMessage "none" + UnknownTsInhSupMsg "warning" + ModelReferenceDataLoggingMessage "warning" + ModelReferenceSymbolNameMessage "warning" + ModelReferenceExtraNoncontSigs "error" + StateNameClashWarn "warning" + SimStateInterfaceChecksumMismatchMsg "warning" + SimStateOlderReleaseMsg "error" + InitInArrayFormatMsg "warning" + StrictBusMsg "None" + BusNameAdapt "WarnAndRepair" + NonBusSignalsTreatedAsBus "none" + LoggingUnavailableSignals "error" + BlockIODiagnostic "none" + SFUnusedDataAndEventsDiag "warning" + SFUnexpectedBacktrackingDiag "warning" + SFInvalidInputDataAccessInChartInitDiag "warning" + SFNoUnconditionalDefaultTransitionDiag "warning" + SFTransitionOutsideNaturalParentDiag "warning" + SFUnconditionalTransitionShadowingDiag "warning" + } + Simulink.HardwareCC { + $ObjectID 6 + Version "1.12.0" + ProdBitPerChar 8 + ProdBitPerShort 16 + ProdBitPerInt 32 + ProdBitPerLong 32 + ProdBitPerFloat 32 + ProdBitPerDouble 64 + ProdBitPerPointer 32 + ProdLargestAtomicInteger "Char" + ProdLargestAtomicFloat "None" + ProdIntDivRoundTo "Undefined" + ProdEndianess "Unspecified" + ProdWordSize 32 + ProdShiftRightIntArith on + ProdHWDeviceType "32-bit Generic" + TargetBitPerChar 8 + TargetBitPerShort 16 + TargetBitPerInt 32 + TargetBitPerLong 32 + TargetBitPerFloat 32 + TargetBitPerDouble 64 + TargetBitPerPointer 32 + TargetLargestAtomicInteger "Char" + TargetLargestAtomicFloat "None" + 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.12.0" + UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" + CheckModelReferenceTargetMessage "error" + EnableParallelModelReferenceBuilds off + ParallelModelReferenceErrorOnInvalidPool on + ParallelModelReferenceMATLABWorkerInit "None" + ModelReferenceNumInstancesAllowed "Multi" + PropagateVarSize "Infer from blocks in model" + ModelReferencePassRootInputsByReference on + ModelReferenceMinAlgLoopOccurrences off + PropagateSignalLabelsOutOfModel off + SupportModelReferenceSimTargetCustomCode off + } + Simulink.SFSimCC { + $ObjectID 8 + Version "1.12.0" + SFSimEnableDebug on + SFSimOverflowDetection on + SFSimEcho on + SimBlas on + SimCtrlC on + SimExtrinsic on + SimIntegrity on + SimUseLocalCustomCode off + SimParseCustomCode on + SimBuildMode "sf_incremental_build" + } + Simulink.RTWCC { + $BackupClass "Simulink.RTWCC" + $ObjectID 9 + Version "1.12.0" + Array { + Type "Cell" + Dimension 1 + Cell "IncludeHyperlinkInReport" + PropName "DisabledProps" + } + SystemTargetFile "grt.tlc" + GenCodeOnly off + MakeCommand "make_rtw" + GenerateMakefile on + 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 + RTWUseLocalCustomCode off + RTWUseSimCustomCode off + IncludeHyperlinkInReport off + LaunchReport off + TargetLang "C" + IncludeBusHierarchyInRTWFileBlockHierarchyMap off + IncludeERTFirstTime on + GenerateTraceInfo off + GenerateTraceReport off + GenerateTraceReportSl off + GenerateTraceReportSf off + GenerateTraceReportEml off + GenerateCodeInfo off + GenerateWebview off + GenerateCodeMetricsReport off + GenerateCodeReplacementReport off + RTWCompilerOptimization "Off" + CheckMdlBeforeBuild "Off" + CustomRebuildMode "OnUpdate" + Array { + Type "Handle" + Dimension 2 + Simulink.CodeAppCC { + $ObjectID 10 + Version "1.12.0" + Array { + Type "Cell" + Dimension 16 + Cell "IgnoreCustomStorageClasses" + Cell "InsertBlockDesc" + Cell "SFDataObjDesc" + Cell "SimulinkDataObjDesc" + Cell "DefineNamingRule" + Cell "SignalNamingRule" + Cell "ParamNamingRule" + Cell "InlinedPrmAccess" + Cell "CustomSymbolStr" + Cell "CustomSymbolStrGlobalVar" + Cell "CustomSymbolStrType" + Cell "CustomSymbolStrField" + Cell "CustomSymbolStrFcn" + Cell "CustomSymbolStrBlkIO" + Cell "CustomSymbolStrTmpVar" + Cell "CustomSymbolStrMacro" + PropName "DisabledProps" + } + ForceParamTrailComments off + GenerateComments on + IgnoreCustomStorageClasses on + IgnoreTestpoints off + IncHierarchyInIds off + MaxIdLength 31 + PreserveName off + PreserveNameWithParent off + ShowEliminatedStatement off + IncAutoGenComments off + SimulinkDataObjDesc off + SFDataObjDesc off + MATLABFcnDesc off + IncDataTypeInIds off + MangleLength 1 + CustomSymbolStrGlobalVar "$R$N$M" + CustomSymbolStrType "$N$R$M" + CustomSymbolStrField "$N$M" + CustomSymbolStrFcn "$R$N$M$F" + CustomSymbolStrFcnArg "rt$I$N$M" + CustomSymbolStrBlkIO "rtb_$N$M" + CustomSymbolStrTmpVar "$N$M" + CustomSymbolStrMacro "$R$N$M" + DefineNamingRule "None" + ParamNamingRule "None" + SignalNamingRule "None" + InsertBlockDesc off + InsertPolySpaceComments off + SimulinkBlockComments on + MATLABSourceComments off + EnableCustomComments off + InlinedPrmAccess "Literals" + ReqsInCode off + UseSimReservedNames off + } + Simulink.GRTTargetCC { + $BackupClass "Simulink.TargetCC" + $ObjectID 11 + Version "1.12.0" + Array { + Type "Cell" + Dimension 12 + Cell "IncludeMdlTerminateFcn" + Cell "CombineOutputUpdateFcns" + Cell "SuppressErrorStatus" + Cell "ERTCustomFileBanners" + Cell "GenerateSampleERTMain" + Cell "GenerateTestInterfaces" + Cell "MultiInstanceERTCode" + Cell "PurelyIntegerCode" + Cell "SupportNonInlinedSFcns" + Cell "SupportComplex" + Cell "SupportAbsoluteTime" + Cell "SupportContinuousTime" + PropName "DisabledProps" + } + TargetFcnLib "ansi_tfl_tmw.mat" + TargetLibSuffix "" + TargetPreCompLibLocation "" + CodeReplacementLibrary "ANSI_C" + UtilityFuncGeneration "Auto" + ERTMultiwordTypeDef "System defined" + CodeExecutionProfiling off + ERTMultiwordLength 256 + MultiwordLength 2048 + GenerateFullHeader on + GenerateSampleERTMain off + GenerateTestInterfaces off + IsPILTarget off + ModelReferenceCompliant on + ParMdlRefBuildCompliant on + CompOptLevelCompliant on + ConcurrentExecutionCompliant on + IncludeMdlTerminateFcn on + GeneratePreprocessorConditionals "Disable all" + CombineOutputUpdateFcns off + CombineSignalStateStructs off + SuppressErrorStatus off + ERTFirstTimeCompliant off + IncludeFileDelimiter "Auto" + ERTCustomFileBanners off + SupportAbsoluteTime on + LogVarNameModifier "rt_" + MatFileLogging on + MultiInstanceERTCode off + SupportNonFinite on + SupportComplex on + PurelyIntegerCode off + SupportContinuousTime on + SupportNonInlinedSFcns on + SupportVariableSizeSignals off + EnableShiftOperators on + ParenthesesLevel "Nominal" + PortableWordSizes off + ModelStepFunctionPrototypeControlCompliant off + CPPClassGenCompliant off + AutosarCompliant off + GRTInterface on + UseMalloc off + ExtMode off + ExtModeStaticAlloc off + ExtModeTesting off + ExtModeStaticAllocSize 1000000 + ExtModeTransport 0 + ExtModeMexFile "ext_comm" + ExtModeIntrfLevel "Level1" + RTWCAPISignals off + RTWCAPIParams off + RTWCAPIStates off + RTWCAPIRootIO off + GenerateASAP2 off + } + PropName "Components" + } + } + PropName "Components" + } + Name "Configuration" + CurrentDlgPage "Solver" + ConfigPrmDlgPosition [ 240, 58, 1120, 688 ] + } + PropName "ConfigurationSets" + } + Simulink.ConfigSet { + $PropName "ActiveConfigurationSet" + $ObjectID 1 + } + ExplicitPartitioning off + BlockDefaults { + ForegroundColor "black" + BackgroundColor "white" + DropShadow off + NamePlacement "normal" + FontName "Helvetica" + FontSize 10 + FontWeight "normal" + FontAngle "normal" + ShowName on + BlockRotation 0 + BlockMirror off + } + AnnotationDefaults { + HorizontalAlignment "center" + VerticalAlignment "middle" + ForegroundColor "black" + BackgroundColor "white" + DropShadow off + FontName "Helvetica" + FontSize 10 + FontWeight "normal" + FontAngle "normal" + UseDisplayTextAsClickCallback off + } + LineDefaults { + FontName "Helvetica" + FontSize 9 + FontWeight "normal" + FontAngle "normal" + } + BlockParameterDefaults { + Block { + BlockType DiscretePulseGenerator + PulseType "Sample based" + TimeSource "Use simulation time" + Amplitude "1" + Period "2" + PulseWidth "1" + PhaseDelay "0" + SampleTime "1" + VectorParams1D on + } + Block { + BlockType Ground + } + Block { + BlockType S-Function + FunctionName "system" + SFunctionModules "''" + PortCounts "[]" + SFunctionDeploymentMode off + } + Block { + BlockType Scope + ModelBased off + TickLabels "OneTimeTick" + ZoomMode "on" + Grid "on" + TimeRange "auto" + YMin "-5" + YMax "5" + SaveToWorkspace off + SaveName "ScopeData" + DataFormat "Array" + LimitDataPoints on + MaxDataPoints "5000" + Decimation "1" + SampleInput off + SampleTime "-1" + } + Block { + BlockType Sin + SineType "Time based" + TimeSource "Use simulation time" + Amplitude "1" + Bias "0" + Frequency "1" + Phase "0" + Samples "10" + Offset "0" + SampleTime "-1" + VectorParams1D on + } + Block { + BlockType Terminator + } + } + System { + Name "run_test" + Location [135, 281, 1202, 943] + Open on + ModelBrowserVisibility off + ModelBrowserWidth 200 + ScreenColor "white" + PaperOrientation "portrait" + PaperPositionMode "auto" + PaperType "usletter" + PaperUnits "inches" + TiledPaperMargins [0.196850, 0.196850, 0.196850, 0.196850] + TiledPageScale 1 + ShowPageBoundaries off + ZoomFactor "89" + ReportName "simulink-default.rpt" + SIDHighWatermark "135" + Block { + BlockType DiscretePulseGenerator + Name "Discrete Pulse\nGenerator" + SID "119" + Ports [0, 1] + Position [30, 280, 60, 310] + Period "digital_out_period" + PulseWidth "digital_out_width" + PhaseDelay "digital_out_phase" + SampleTime "h" + Port { + PortNumber 1 + Name "DigitalOut" + RTWStorageClass "Auto" + DataLoggingNameMode "SignalName" + } + } + Block { + BlockType Ground + Name "Ground" + SID "106" + Position [140, 355, 160, 375] + ZOrder -12 + } + Block { + BlockType S-Function + Name "S-Function" + SID "103" + Ports [2, 1] + Position [190, 92, 250, 123] + ShowName off + FunctionName "analogout" + Parameters "h analog_out" + EnableBusSupport off + } + Block { + BlockType S-Function + Name "S-Function1" + SID "104" + Ports [1, 2] + Position [190, 187, 250, 218] + ShowName off + FunctionName "analogin" + Parameters "h analog_in" + EnableBusSupport off + Port { + PortNumber 2 + Name "AnalogIn" + RTWStorageClass "Auto" + DataLoggingNameMode "SignalName" + } + } + Block { + BlockType S-Function + Name "S-Function2" + SID "102" + Ports [0, 1] + Position [15, 20, 75, 50] + ShowName off + FunctionName "realtimer" + Parameters "h" + EnableBusSupport off + } + Block { + BlockType S-Function + Name "S-Function3" + SID "131" + Ports [2, 1] + Position [190, 272, 250, 303] + ShowName off + FunctionName "digitalout" + Parameters "h digital_out" + EnableBusSupport off + } + Block { + BlockType S-Function + Name "S-Function4" + SID "132" + Ports [1, 2] + Position [190, 347, 250, 378] + ShowName off + FunctionName "digitalin" + Parameters "h digital_in" + EnableBusSupport off + Port { + PortNumber 2 + Name "DigitalIn" + RTWStorageClass "Auto" + DataLoggingNameMode "SignalName" + } + } + Block { + BlockType Scope + Name "Scope" + SID "17" + Ports [1] + Position [95, 20, 125, 50] + Floating off + Location [617, 93, 941, 332] + Open off + NumInputPorts "1" + List { + ListType AxesTitles + axes1 "%<SignalLabel>" + } + List { + ListType ScopeGraphics + FigureColor "[0.5 0.5 0.5]" + AxesColor "[0 0 0]" + AxesTickColor "[1 1 1]" + LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" + LineStyles "-|-|-|-|-|-" + LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" + MarkerStyles "none|none|none|none|none|none" + } + ShowLegends off + YMin "5.55112e-17" + YMax "1" + DataFormat "StructureWithTime" + SampleTime "0" + } + Block { + BlockType Scope + Name "Signals" + SID "105" + Ports [4] + Position [735, 199, 765, 231] + Floating off + Location [1062, 180, 1813, 1081] + Open on + NumInputPorts "4" + List { + ListType AxesTitles + axes1 "%<SignalLabel>" + axes2 "%<SignalLabel>" + axes3 "%<SignalLabel>" + axes4 "%<SignalLabel>" + } + List { + ListType ScopeGraphics + FigureColor "[0.501960784313725 0.501960784313725 0.501960784313725]" + AxesColor "[0 0 0]" + AxesTickColor "[1 1 1]" + LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" + LineStyles "-|-|-|-|-|-" + LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" + MarkerStyles "none|none|none|none|none|none" + } + ShowLegends on + LegendLocations "0.78595 0.91412 0.16578 0.043979\n0.79927 0.6386 0.15246 0.083102\n" + "0.79261 0.36418 0.15912 0.12223\n0.80593 0.12777 0.14581 0.12223" + YMin "-10~-11~0~0" + YMax "10~11~1.1~1.1" + SaveName "ScopeData1" + DataFormat "StructureWithTime" + SampleTime "0" + } + Block { + BlockType Sin + Name "Sine Wave" + SID "129" + Ports [0, 1] + Position [30, 100, 60, 130] + Amplitude "analog_out_amplitude" + Bias "analog_out_bias" + Frequency "analog_out_freq" + Phase "analog_out_phase" + SampleTime "h" + Port { + PortNumber 1 + Name "AnalogOut" + RTWStorageClass "Auto" + DataLoggingNameMode "SignalName" + } + } + Block { + BlockType Terminator + Name "Terminator" + SID "110" + Position [280, 100, 300, 120] + ZOrder -20 + } + Line { + SrcBlock "S-Function2" + SrcPort 1 + DstBlock "Scope" + DstPort 1 + } + Line { + SrcBlock "S-Function" + SrcPort 1 + DstBlock "Terminator" + DstPort 1 + } + Line { + Name "AnalogIn" + Labels [1, 0] + SrcBlock "S-Function1" + SrcPort 2 + DstBlock "Signals" + DstPort 2 + } + Line { + Name "AnalogOut" + Labels [1, 0] + SrcBlock "Sine Wave" + SrcPort 1 + Points [30, 0] + Branch { + Points [0, 30; 625, 0] + DstBlock "Signals" + DstPort 1 + } + Branch { + DstBlock "S-Function" + DstPort 2 + } + } + Line { + SrcBlock "Ground" + SrcPort 1 + DstBlock "S-Function4" + DstPort 1 + } + Line { + SrcBlock "S-Function4" + SrcPort 1 + Points [0, -15; -80, 0] + DstBlock "S-Function1" + DstPort 1 + } + Line { + SrcBlock "S-Function1" + SrcPort 1 + Points [0, -15; -90, 0; 0, 100] + DstBlock "S-Function3" + DstPort 1 + } + Line { + SrcBlock "S-Function3" + SrcPort 1 + Points [5, 0; 0, -25; -105, 0; 0, -165] + DstBlock "S-Function" + DstPort 1 + } + Line { + Name "DigitalOut" + Labels [0, 0] + SrcBlock "Discrete Pulse\nGenerator" + SrcPort 1 + Points [30, 0] + Branch { + DstBlock "S-Function3" + DstPort 2 + } + Branch { + Points [0, 25; 560, 0; 0, -100] + DstBlock "Signals" + DstPort 3 + } + } + Line { + Name "DigitalIn" + Labels [0, 0] + SrcBlock "S-Function4" + SrcPort 2 + Points [425, 0; 0, -140] + DstBlock "Signals" + DstPort 4 + } + Annotation { + SID "93" + Name "% Stop simulation by pressing this text\nset_param('run_test','SimulationCommand','stop')" + Position [32, 630] + HorizontalAlignment "left" + ForegroundColor "red" + DropShadow on + ClickFcn "% Stop simulation by pressing this text\nset_param('run_test','SimulationCommand','stop')" + UseDisplayTextAsClickCallback on + FontSize 14 + } + Annotation { + SID "92" + Name "% Test PCI-card I/O box\nset_param('run_test','SimulationCommand','stop')\nclear all\ndefine_pci\nset_param('run_test','SimulationCommand','start')" + Position [21, 455] + HorizontalAlignment "left" + ForegroundColor "green" + DropShadow on + ClickFcn "% Test PCI-card I/O box\nset_param('run_test','SimulationCommand','stop')\nclear all\ndefine_pci\nset_param('run_test','SimulationCommand','start" + "')" + UseDisplayTextAsClickCallback on + FontSize 14 + } + Annotation { + SID "121" + Name "% Test serial I/O box\nset_param('run_test','SimulationCommand','stop')\nclear all\ndefine_serial\nset_param('run_test','SimulationCommand','start')" + Position [26, 560] + HorizontalAlignment "left" + ForegroundColor "green" + DropShadow on + ClickFcn "% Test serial I/O box\nset_param('run_test','SimulationCommand','stop')\nclear all\ndefine_serial\nset_param('run_test','SimulationCommand','star" + "t')" + UseDisplayTextAsClickCallback on + FontSize 14 + } + Annotation { + SID "134" + Name " " + Position [518, 416] + } + } +} +# Finite State Machines +# +# Stateflow Version 7.6 (R2011b) dated Jan 25 2012, 13:50:40 +# +# + + +Stateflow { + machine { + id 1 + name "run_test" + created "19-Dec-2017 15:55:13" + isLibrary 0 + firstTarget 2 + sfVersion 76014001.00040001 + } + target { + id 2 + name "sfun" + description "Default Simulink S-Function Target." + machine 1 + linkNode [1 0 0] + } +}