From de6c7f83a499a6390165f412c0dc29b59a86ce9c Mon Sep 17 00:00:00 2001 From: Umar Farooq Date: Tue, 25 Apr 2017 15:11:41 +0000 Subject: [PATCH] AsyncIP endianess fix, test with VILLASnode --- .../com.opalrt.rtlab.ui.application.prefs | 5 +- .../models/send_receive/send_receive.llm | 232 +- .../models/send_receive/send_receive.mdl | 3306 ++++++++--------- .../villas_udp/models/send_receive/src/main.c | 11 +- clients/opal/villas_udp/villas_udp.llp | 40 +- etc/gtnet-skt/emulate_gtnet.conf | 24 + lib/nodes/socket.c | 10 +- 7 files changed, 1830 insertions(+), 1798 deletions(-) create mode 100644 etc/gtnet-skt/emulate_gtnet.conf diff --git a/clients/opal/villas_udp/.settings/com.opalrt.rtlab.ui.application.prefs b/clients/opal/villas_udp/.settings/com.opalrt.rtlab.ui.application.prefs index 2da0b5b3a..4762a96f5 100644 --- a/clients/opal/villas_udp/.settings/com.opalrt.rtlab.ui.application.prefs +++ b/clients/opal/villas_udp/.settings/com.opalrt.rtlab.ui.application.prefs @@ -1,3 +1,2 @@ -#Mon Jul 14 20:43:18 CEST 2014 -eclipse.preferences.version=1 -rtprojectfile=s2ss_tests.llp +eclipse.preferences.version=1 +rtprojectfile=villas_udp.llp diff --git a/clients/opal/villas_udp/models/send_receive/send_receive.llm b/clients/opal/villas_udp/models/send_receive/send_receive.llm index a8165608c..62ff29129 100644 --- a/clients/opal/villas_udp/models/send_receive/send_receive.llm +++ b/clients/opal/villas_udp/models/send_receive/send_receive.llm @@ -1,115 +1,117 @@ -[EnvVars] -ABORT_COMPILE_WHEN_NO_BITSTREAM=0 -ACTION_AFTER_N_OVERRUNS=10 -ACTION_ON_OVERRUNS=0 -AcquisitionMemory=0,2500,24,100 -ActiveGroups=7/0/24/25/26/27/28/29/ -CACHEABLE_DMA_MEMORY_ACCESS=ON -COMM_RT=UDP/IP -ClockPeriodMode=Free-Clock -ClockPeriodTime=10 -DEBUG=0 -DETECT_OVERRUNS=ON -ENABLE_WATCHDOG=ON -EXT_CC_OPTS= -EXT_LD_OPTS= -EXT_LIB= -EXT_LIBPATH= -MODEL_PAUSE_TIME=0.000000 -MODEL_STOP_TIME=0.000000 -MONITORING=ON -MONITORING_BLOCK=OFF -MONITORING_DISPLAY=NEVER -MSG_PRECISION_FACTOR=0 -MaxDynamicSignals=2/0/100/24/100/ -NB_STEP_WITHOUT_OVERRUNS=10 -OPAL_DEBUG=OFF -OP_MATLABR2013A=1 -OS_COMPILE_RELEASE=2.6.29.6-opalrt-5 -PRINT_LOG_LEVEL=ALWAYS -RESET_IO_MISSING=ON -SYSNAME=linux -USER_INCS= -USER_SRCS= -WATCHDOG_TIMEOUT=5000 -[EnvVars_REDHAWK_DYN_1] -INTERNAL_IGN_SOURCE_FILE=sfun_gen_async_ctrl.c sfun_recv_async.c sfun_send_async.c -INTERNAL_LIBRARY2=-lOpalAsyncApiR2013a -INTERNAL_LIBRARY3=-lOpalAsyncApiCore -[ExtraGetFilesComp_1_RT_LAB] -AsyncIP=Binary|Async_Proc -[ExtraPutFilesComp] -include\config.h=Ascii -include\msg.h=Ascii -include\msg_format.h=Ascii -include\socket.h=Ascii -include\utils.h=Ascii -Makefile.mk=Ascii -src\msg.c=Ascii -src\main.c=Ascii -src\socket.c=Ascii -src\utils.c=Ascii -src\compat.c=Ascii -[ExtraPutFilesComp_1_RT_LAB] -C:\OPAL-RT\RT-LAB\v11.0.2.410\common\lib\redhawk\libOpalAsyncApiCore.a=Binary|Other -[ExtraPutFilesLoad_1_RT_LAB] -.\send_receive_sm_model\OpREDHAWKtarget\AsyncIP=Binary|Async_Proc -[General] -ATT_CHECKSUM1=1967915764 -ATT_CHECKSUM2=1071010712 -ATT_CHECKSUM3=752104040 -ATT_CHECKSUM4=1738184673 -ATT_CREATED_BY=jwu -ATT_CREATED_ON=Thu Apr 15 08:21:54 1999 -ATT_ENABLE_PTA=OFF -ATT_HANDLE_CONSOLE=ON -ATT_LAST_SAVED_BY=ACS -ATT_LAST_SAVED_ON=Thu May 19 14:14:01 2016 -ATT_REFERENCE_MDL_PATHS= -ATT_REVISION=1.446 -AutoRetrieveFiles=ON -AutoRetrieveRtlab=ON -CompilerVersion=AUTOMATIC -DESCRIPTION= -DinamoFlag=OFF -FILENAME=D:\svo\s2ss\clients\opal\villas_udp\models\send_receive\send_receive.mdl -FORCE_RECOMPILE=0 -IMPORTED_GLOBAL_VARIABLES=1 -LastCompileRtlabVersion=v11.0.2.410 -LastMatlabUsed=24 -LastMatlabUsedName=v8.1 -MATLAB_USED_IN_MODEL=21 -Name=send_receive -PRINT_CYCLE=OFF -PostBuildCmd= -PreBuildCmd= -QNX_LAST_COMPILE_VERSION= -RH64_LAST_COMPILE_VERSION= -RH_LAST_COMPILE_VERSION=2.6.29.6-opalrt-5 -ReportFileId= -RetrieveBuildTree=ON -RetrieveRootDir= -SimulationMode=2 -TLC=Automatic -TMF=Automatic -TRANSFERFILE_AT_LOAD=OFF -TargetCompileCmd=/usr/bin/make -f /usr/opalrt/common/bin/opalmodelmk -TargetPlatform=REDHAWK -TimeFactor=1.000000000000000 -TimeStep=0.000050000000000 -sc_consoleTimeStep=-1.000000000000000 -sm_modelTimeStep=0.000049999998737 -sm_send_receiveTimeStep=0.000049999998737 -[General_1] -TargetPreCompileCmd=make -f /usr/opalrt/common/bin/opalmodelmk -[NodeMapping] -sm_model=ACS_OPAL_RT -sm_model_CORE_ASSIGNATION=1 -sm_model_CPU=-1 -sm_model_DEBUG=OFF -sm_model_XHP_ENABLE=FALSE -sm_send_receive=ACS_OPAL_RT -sm_send_receive_CORE_ASSIGNATION=1 -sm_send_receive_CPU=-1 -sm_send_receive_DEBUG=OFF -sm_send_receive_XHP_ENABLE=FALSE +[EnvVars] +ABORT_COMPILE_WHEN_NO_BITSTREAM=0 +ACTION_AFTER_N_OVERRUNS=10 +ACTION_ON_OVERRUNS=0 +AcquisitionMemory=0,2500,24,100 +ActiveGroups=7/0/24/25/26/27/28/29/ +CACHEABLE_DMA_MEMORY_ACCESS=ON +COMM_RT=UDP/IP +ClockPeriodMode=Free-Clock +ClockPeriodTime=10 +DEBUG=0 +DETECT_OVERRUNS=ON +ENABLE_WATCHDOG=ON +EXT_CC_OPTS= +EXT_LD_OPTS= +EXT_LIB= +EXT_LIBPATH= +MODEL_PAUSE_TIME=0.000000 +MODEL_STOP_TIME=0.000000 +MONITORING=ON +MONITORING_BLOCK=OFF +MONITORING_DISPLAY=ALL +MSG_PRECISION_FACTOR=0 +MaxDynamicSignals=2/0/100/24/44/ +NB_STEP_WITHOUT_OVERRUNS=10 +OPAL_DEBUG=OFF +OP_MATLABR2013A=1 +OS_COMPILE_RELEASE=2.6.29.6-opalrt-5 +PRINT_LOG_LEVEL=DEBUG_ALL +RESET_IO_MISSING=ON +SYSNAME=linux +USER_INCS= +USER_SRCS= +WATCHDOG_TIMEOUT=5000 +[EnvVars_REDHAWK_DYN_1] +INTERNAL_IGN_SOURCE_FILE=sfun_gen_async_ctrl.c sfun_recv_async.c sfun_send_async.c +INTERNAL_LIBRARY2=-lOpalAsyncApiR2013a +INTERNAL_LIBRARY3=-lOpalAsyncApiCore +[ExtraGetFilesComp_1_RT_LAB] +AsyncIP=Binary|Async_Proc +[ExtraPutFilesComp] +Makefile.mk=Ascii +include\config.h=Ascii +include\msg.h=Ascii +include\msg_format.h=Ascii +include\socket.h=Ascii +include\utils.h=Ascii +src\compat.c=Ascii +src\main.c=Ascii +src\msg.c=Ascii +src\socket.c=Ascii +src\utils.c=Ascii +[ExtraPutFilesComp_1_RT_LAB] +C:\OPAL-RT\RT-LAB\v11.0.2.410\common\lib\redhawk\libOpalAsyncApiCore.a=Binary|Other +[ExtraPutFilesLoad_1_RT_LAB] +.\send_receive_sm_model\OpREDHAWKtarget\AsyncIP=Binary|Async_Proc +[General] +ATT_CHECKSUM1=1015056539 +ATT_CHECKSUM2=1816632134 +ATT_CHECKSUM3=3154910365 +ATT_CHECKSUM4=1473207731 +ATT_CREATED_BY=jwu +ATT_CREATED_ON=Thu Apr 15 08:21:54 1999 +ATT_ENABLE_PTA=OFF +ATT_HANDLE_CONSOLE=ON +ATT_LAST_SAVED_BY=opal-user +ATT_LAST_SAVED_ON=Tue Apr 25 15:37:56 2017 +ATT_REFERENCE_MDL_PATHS= +ATT_REVISION=1.451 +AutoRetrieveFiles=ON +AutoRetrieveRtlab=ON +CompilerVersion=AUTOMATIC +DESCRIPTION= +DinamoFlag=OFF +FILENAME=C:\Users\opal-user\OPAL-RT\msv-ufa\villas_udp\models\send_receive\send_receive.mdl +FORCE_RECOMPILE=0 +IMPORTED_GLOBAL_VARIABLES=1 +LastCompileRtlabVersion=v11.0.2.410 +LastMatlabUsed=24 +LastMatlabUsedName=v8.1 +MATLAB_USED_IN_MODEL=21 +Name=send_receive +PRINT_CYCLE=OFF +PostBuildCmd= +PreBuildCmd= +QNX_LAST_COMPILE_VERSION= +RH64_LAST_COMPILE_VERSION= +RH_LAST_COMPILE_VERSION=2.6.29.6-opalrt-5 +ReportFileId= +RetrieveBuildTree=ON +RetrieveRootDir= +SimulationMode=2 +TLC=Automatic +TMF=Automatic +TRANSFERFILE_AT_LOAD=OFF +TargetCompileCmd=/usr/bin/make -f /usr/opalrt/common/bin/opalmodelmk +TargetPlatform=REDHAWK +TimeFactor=1.000000000000000 +TimeStep=0.000050000000000 +sc_consoleTimeStep=-1.000000000000000 +sm_modelTimeStep=0.000049999998737 +sm_send_receiveTimeStep=0.000049999998737 +[General_1] +TargetPreCompileCmd=make -f /usr/opalrt/common/bin/opalmodelmk +[NodeMapping] +sm_model=ACS_OPAL_RT +sm_model_CORE_ASSIGNATION=1 +sm_model_CPU=-1 +sm_model_DEBUG=OFF +sm_model_XHP_ENABLE=FALSE +sm_send_receive=ACS_OPAL_RT +sm_send_receive_CORE_ASSIGNATION=1 +sm_send_receive_CPU=-1 +sm_send_receive_DEBUG=OFF +sm_send_receive_XHP_ENABLE=FALSE +[UserEnvVars] +PROTOCOL=GTNET_SKT diff --git a/clients/opal/villas_udp/models/send_receive/send_receive.mdl b/clients/opal/villas_udp/models/send_receive/send_receive.mdl index d710bdf25..9c7c97f29 100644 --- a/clients/opal/villas_udp/models/send_receive/send_receive.mdl +++ b/clients/opal/villas_udp/models/send_receive/send_receive.mdl @@ -1,1653 +1,1653 @@ -# $Revision: 1.1 $ -Model { - Name "send_receive" - Version 8.1 - MdlSubVersion 0 - GraphicalInterface { - NumRootInports 0 - NumRootOutports 0 - ParameterArgumentNames "" - ComputedModelVersion "1.446" - NumModelReferences 0 - NumTestPointedSignals 0 - } - SavedCharacterEncoding "windows-1252" - SaveDefaultBlockParams on - ScopeRefreshTime 0.035000 - OverrideScopeRefreshTime on - DisableAllScopes off - DataTypeOverride "UseLocalSettings" - DataTypeOverrideAppliesTo "AllNumericTypes" - MinMaxOverflowLogging "UseLocalSettings" - MinMaxOverflowArchiveMode "Overwrite" - FPTRunName "Run 1" - MaxMDLFileLineLength 120 - Object { - $PropName "BdWindowsInfo" - $ObjectID 1 - $ClassName "Simulink.BDWindowsInfo" - Array { - Type "Simulink.WindowInfo" - Dimension 2 - Object { - $ObjectID 2 - IsActive [1] - Location [16.0, 52.0, 1452.0, 912.0] - Object { - $PropName "ModelBrowserInfo" - $ObjectID 3 - $ClassName "Simulink.ModelBrowserInfo" - Visible [0] - DockPosition "Left" - Width [50] - Height [50] - Filter [9] - } - Object { - $PropName "ExplorerBarInfo" - $ObjectID 4 - $ClassName "Simulink.ExplorerBarInfo" - Visible [1] - } - Object { - $PropName "EditorsInfo" - $ObjectID 5 - $ClassName "Simulink.EditorInfo" - IsActive [1] - ViewObjType "SimulinkSubsys" - LoadSaveID "13" - Extents [1402.0, 738.0] - ZoomFactor [1.6] - Offset [94.375, -58.375] - } - } - Object { - $ObjectID 6 - IsActive [0] - Location [346.0, 78.0, 876.0, 912.0] - Object { - $PropName "ModelBrowserInfo" - $ObjectID 7 - $ClassName "Simulink.ModelBrowserInfo" - Visible [0] - DockPosition "Left" - Width [50] - Height [50] - Filter [9] - } - Object { - $PropName "ExplorerBarInfo" - $ObjectID 8 - $ClassName "Simulink.ExplorerBarInfo" - Visible [1] - } - Object { - $PropName "EditorsInfo" - $ObjectID 9 - $ClassName "Simulink.EditorInfo" - IsActive [1] - ViewObjType "SimulinkTopLevel" - LoadSaveID "0" - Extents [826.0, 738.0] - ZoomFactor [1.0] - Offset [0.0, 0.0] - } - } - PropName "WindowsInfo" - } - } - Created "Thu Apr 15 08:21:54 1999" - Creator "jwu" - UpdateHistory "UpdateHistoryNever" - ModifiedByFormat "%" - LastModifiedBy "ACS" - ModifiedDateFormat "%" - LastModifiedDate "Thu May 19 14:14:01 2016" - RTWModifiedTimeStamp 385568034 - ModelVersionFormat "1.%" - ConfigurationManager "none" - SampleTimeColors off - SampleTimeAnnotations off - LibraryLinkDisplay "none" - WideLines off - ShowLineDimensions on - 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 - Object { - $PropName "DataLoggingOverride" - $ObjectID 10 - $ClassName "Simulink.SimulationData.ModelLoggingInfo" - model_ "send_receive" - Array { - Type "Cell" - Dimension 1 - Cell "send_receive" - PropName "logAsSpecifiedByModels_" - } - Array { - Type "Cell" - Dimension 1 - Cell "" - PropName "logAsSpecifiedByModelsSSIDs_" - } - } - 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 on - BufferReuse off - ShowModelReferenceBlockVersion off - ShowModelReferenceBlockIO off - Array { - Type "Handle" - Dimension 1 - Simulink.ConfigSet { - $ObjectID 11 - Version "1.13.0" - Array { - Type "Handle" - Dimension 8 - Simulink.SolverCC { - $ObjectID 12 - Version "1.13.0" - StartTime "0.0" - StopTime "inf" - AbsTol "1e-6" - FixedStep "0.00005" - InitialStep "auto" - MaxNumMinSteps "-1" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "0.01" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - SolverMode "SingleTasking" - EnableConcurrentExecution off - ConcurrentTasks off - Solver "ode4" - SolverName "ode4" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - } - Simulink.DataIOCC { - $ObjectID 13 - Version "1.13.0" - Decimation "1" - ExternalInput "[]" - FinalStateName "xFinal" - InitialState "[]" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Array" - SignalLoggingSaveFormat "ModelDataLogs" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "sigsOut" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - } - Simulink.OptimizationCC { - $ObjectID 14 - Version "1.13.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 off - BufferReuse off - EnhancedBackFolding off - StrengthReduction off - ExpressionFolding off - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - ExpressionDepthLimit 2147483647 - FoldNonRolledExpr off - LocalBlockOutputs off - 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 15 - Version "1.13.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 "none" - 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 "UseLocalSettings" - 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" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - } - Simulink.HardwareCC { - $ObjectID 16 - Version "1.13.0" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 32 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "None" - ProdIntDivRoundTo "Undefined" - ProdEndianess "Unspecified" - ProdWordSize 32 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "32-bit Generic" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetTypeEmulationWarnSuppressLevel 0 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown on - ProdEqTarget on - } - Simulink.ModelReferenceCC { - $ObjectID 17 - Version "1.13.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 18 - Version "1.13.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 19 - Version "1.13.0" - Array { - Type "Cell" - Dimension 1 - Cell "IncludeHyperlinkInReport" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - 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 - PortableWordSizes off - GenerateErtSFunction off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation off - SILDebugging 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 20 - Version "1.13.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 off - IgnoreTestpoints off - IncHierarchyInIds off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement on - OperatorAnnotations off - IncAutoGenComments off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - IncDataTypeInIds off - MangleLength 1 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - 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 - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 21 - Version "1.13.0" - Array { - Type "Cell" - Dimension 12 - Cell "IncludeMdlTerminateFcn" - Cell "CombineOutputUpdateFcns" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "GenerateTestInterfaces" - Cell "SupportContinuousTime" - Cell "PurelyIntegerCode" - Cell "SupportNonInlinedSFcns" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "GenerateAllocFcn" - PropName "DisabledProps" - } - TargetFcnLib "ansi_tfl_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - CodeReplacementLibrary "ANSI_C" - UtilityFuncGeneration "Auto" - ERTMultiwordTypeDef "System defined" - 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" - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant off - AutosarCompliant off - GRTInterface on - GenerateAllocFcn off - 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 [ 326, 217, 1222, 885 ] - } - PropName "ConfigurationSets" - } - Simulink.ConfigSet { - $PropName "ActiveConfigurationSet" - $ObjectID 11 - } - Object { - $PropName "DataTransfer" - $ObjectID 22 - $ClassName "Simulink.GlobalDataTransfer" - DefaultTransitionBetweenSyncTasks "Ensure deterministic transfer (maximum delay)" - DefaultTransitionBetweenAsyncTasks "Ensure data integrity only" - DefaultTransitionBetweenContTasks "Ensure deterministic transfer (minimum delay)" - DefaultExtrapolationMethodBetweenContTasks "None" - AutoInsertRateTranBlk [0] - } - 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" - } - MaskDefaults { - SelfModifiable "off" - IconFrame "on" - IconOpaque "on" - RunInitForIconRedraw "off" - IconRotate "none" - PortRotate "default" - IconUnits "autoscale" - } - MaskParameterDefaults { - Evaluate "on" - Tunable "on" - NeverSave "off" - Internal "off" - ReadOnly "off" - Enabled "on" - Visible "on" - ToolTip "on" - } - BlockParameterDefaults { - Block { - BlockType Constant - Value "1" - VectorParams1D on - SamplingMode "Sample based" - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: Inherit from 'Constant value'" - LockScale off - SampleTime "inf" - FramePeriod "inf" - PreserveConstantTs off - } - Block { - BlockType Demux - Outputs "4" - DisplayOption "none" - BusSelectionMode off - } - Block { - BlockType DiscretePulseGenerator - PulseType "Sample based" - TimeSource "Use simulation time" - Amplitude "1" - Period "2" - PulseWidth "1" - PhaseDelay "0" - SampleTime "1" - VectorParams1D on - } - Block { - BlockType Display - Format "short" - Decimation "10" - Floating off - SampleTime "-1" - } - Block { - BlockType Inport - Port "1" - OutputFunctionCall off - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: auto" - LockScale off - BusOutputAsStruct off - PortDimensions "-1" - VarSizeSig "Inherit" - SampleTime "-1" - SignalType "auto" - SamplingMode "auto" - LatchByDelayingOutsideSignal off - LatchInputForFeedbackSignals off - Interpolate on - } - Block { - BlockType Mux - Inputs "4" - DisplayOption "none" - UseBusObject off - BusObject "BusObject" - NonVirtualBus off - } - Block { - BlockType Outport - Port "1" - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: auto" - LockScale off - BusOutputAsStruct off - PortDimensions "-1" - VarSizeSig "Inherit" - SampleTime "-1" - SignalType "auto" - SamplingMode "auto" - SourceOfInitialOutputValue "Dialog" - OutputWhenDisabled "held" - InitialOutput "[]" - } - 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 SignalSpecification - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: auto" - LockScale off - BusOutputAsStruct off - Dimensions "-1" - VarSizeSig "Inherit" - SampleTime "-1" - SignalType "auto" - SamplingMode "auto" - } - Block { - BlockType SubSystem - ShowPortLabels "FromPortIcon" - Permissions "ReadWrite" - PermitHierarchicalResolution "All" - TreatAsAtomicUnit off - CheckFcnCallInpInsideContextMsg off - SystemSampleTime "-1" - RTWFcnNameOpts "Auto" - RTWFileNameOpts "Auto" - FunctionInterfaceSpec "void_void" - RTWMemSecFuncInitTerm "Inherit from model" - RTWMemSecFuncExecute "Inherit from model" - RTWMemSecDataConstants "Inherit from model" - RTWMemSecDataInternal "Inherit from model" - RTWMemSecDataParameters "Inherit from model" - SimViewingDevice off - DataTypeOverride "UseLocalSettings" - DataTypeOverrideAppliesTo "AllNumericTypes" - MinMaxOverflowLogging "UseLocalSettings" - SFBlockType "NONE" - Variant off - GeneratePreprocessorConditionals off - } - Block { - BlockType Sum - IconShape "rectangular" - Inputs "++" - CollapseMode "All dimensions" - CollapseDim "1" - InputSameDT on - AccumDataTypeStr "Inherit: Inherit via internal rule" - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: Same as first input" - LockScale off - RndMeth "Floor" - SaturateOnIntegerOverflow on - SampleTime "-1" - } - } - System { - Name "send_receive" - Location [346, 78, 1222, 990] - Open on - ModelBrowserVisibility off - ModelBrowserWidth 247 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - ReportName "simulink-default.rpt" - SIDHighWatermark "46" - Block { - BlockType SubSystem - Name "sc_console" - SID "3" - Ports [3] - Position [410, 98, 610, 192] - ZOrder -1 - BackgroundColor "lightBlue" - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - System { - Name "sc_console" - Location [16, 52, 1715, 1151] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "A4" - PaperUnits "centimeters" - TiledPaperMargins [1.270000, 1.270000, 1.270000, 1.270000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "206" - Block { - BlockType Inport - Name "data recv" - SID "4" - Position [140, 168, 170, 182] - ZOrder -1 - BackgroundColor "yellow" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "errors_status" - SID "5" - Position [140, 128, 170, 142] - ZOrder -2 - BackgroundColor "yellow" - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "data send" - SID "29" - Position [140, 208, 170, 222] - ZOrder -3 - BackgroundColor "yellow" - Port "3" - IconDisplay "Port number" - } - Block { - BlockType Demux - Name "Demux" - SID "6" - Ports [1, 2] - Position [285, 116, 290, 154] - ZOrder -4 - BackgroundColor "black" - ShowName off - Outputs "[2 1]" - } - Block { - BlockType Demux - Name "Demux1" - SID "32" - Ports [1, 5] - Position [375, 211, 380, 299] - ZOrder -5 - ShowName off - Outputs "5" - DisplayOption "bar" - } - Block { - BlockType Demux - Name "Demux2" - SID "39" - Ports [1, 5] - Position [375, 306, 380, 394] - ZOrder -6 - ShowName off - Outputs "5" - DisplayOption "bar" - } - Block { - BlockType Mux - Name "Mux" - SID "34" - Ports [2, 1] - Position [465, 236, 470, 274] - ZOrder -7 - ShowName off - Inputs "2" - DisplayOption "bar" - } - Block { - BlockType Reference - Name "OpComm" - SID "9" - Ports [3, 3] - Position [225, 135, 255, 215] - ZOrder -8 - LibraryVersion "1.471" - SourceBlock "rtlab/OpComm" - SourceType "RT-LAB OpComm" - nbport "3" - groupe_acq "1" - subsys_rate "0" - st "0" - Synchronization on - Interpolation on - Threshold "1.0" - Missed_Data off - Offset off - Sim_Time off - Samples off - dynSigOut off - from_console "0" - warning_done off - writeOpCommFile off - } - Block { - BlockType Sum - Name "Subtract" - SID "42" - Ports [2, 1] - Position [510, 312, 540, 343] - ZOrder -31 - Inputs "+-" - InputSameDT off - OutDataTypeStr "Inherit: Inherit via internal rule" - SaturateOnIntegerOverflow off - } - Block { - BlockType Display - Name "errors" - SID "10" - Ports [1] - Position [385, 72, 455, 118] - ZOrder -32 - BackgroundColor "yellow" - FontName "Arial" - FontSize 8 - Decimation "1" - Lockdown off - } - Block { - BlockType Scope - Name "message 1" - SID "40" - Ports [1] - Position [590, 159, 620, 191] - ZOrder -33 - BackgroundColor "yellow" - Floating off - Location [826, 517, 1334, 952] - Open off - NumInputPorts "1" - List { - ListType AxesTitles - axes1 "%" - } - 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 "-1.75" - YMax "4" - SaveName "ScopeData1" - DataFormat "StructureWithTime" - SampleTime "0" - } - Block { - BlockType Scope - Name "message 2" - SID "33" - Ports [1] - Position [590, 239, 620, 271] - ZOrder -34 - BackgroundColor "yellow" - Floating off - Location [826, 517, 1334, 952] - Open off - NumInputPorts "1" - List { - ListType AxesTitles - axes1 "%" - } - 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 "-1.75" - YMax "4" - DataFormat "StructureWithTime" - SampleTime "0" - } - Block { - BlockType Scope - Name "message 3" - SID "41" - Ports [1] - Position [590, 389, 620, 421] - ZOrder -35 - BackgroundColor "yellow" - Floating off - Location [826, 517, 1334, 952] - Open off - NumInputPorts "1" - List { - ListType AxesTitles - axes1 "%" - } - 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 "-1.75" - YMax "4" - SaveName "ScopeData2" - DataFormat "StructureWithTime" - SampleTime "0" - } - Block { - BlockType Scope - Name "message 4" - SID "43" - Ports [1] - Position [590, 314, 620, 346] - ZOrder -36 - BackgroundColor "yellow" - Floating off - Location [826, 517, 1334, 952] - Open off - NumInputPorts "1" - List { - ListType AxesTitles - axes1 "%" - } - 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 "-1.75" - YMax "4" - SaveName "ScopeData3" - DataFormat "StructureWithTime" - SampleTime "0" - } - Block { - BlockType Display - Name "reception status" - SID "12" - Ports [1] - Position [390, 133, 450, 157] - ZOrder -37 - BackgroundColor "yellow" - FontName "Arial" - FontSize 8 - Decimation "1" - Lockdown off - } - Line { - SrcBlock "errors_status" - SrcPort 1 - Points [25, 0; 0, 15] - DstBlock "OpComm" - DstPort 1 - } - Line { - SrcBlock "OpComm" - SrcPort 2 - Points [45, 0; 0, 80] - Branch { - Labels [1, 0] - DstBlock "Demux1" - DstPort 1 - } - Branch { - Points [0, -80] - DstBlock "message 1" - DstPort 1 - } - } - Line { - SrcBlock "data recv" - SrcPort 1 - DstBlock "OpComm" - DstPort 2 - } - Line { - SrcBlock "OpComm" - SrcPort 1 - Points [10, 0] - DstBlock "Demux" - DstPort 1 - } - Line { - SrcBlock "Demux" - SrcPort 1 - Points [45, 0; 0, -30] - DstBlock "errors" - DstPort 1 - } - Line { - SrcBlock "Demux" - SrcPort 2 - DstBlock "reception status" - DstPort 1 - } - Line { - Labels [0, 0] - SrcBlock "Mux" - SrcPort 1 - DstBlock "message 2" - DstPort 1 - } - Line { - SrcBlock "data send" - SrcPort 1 - Points [25, 0; 0, -15] - DstBlock "OpComm" - DstPort 3 - } - Line { - SrcBlock "OpComm" - SrcPort 3 - Points [25, 0; 0, 150] - Branch { - Points [0, 0] - DstBlock "Demux2" - DstPort 1 - } - Branch { - Points [0, 55] - DstBlock "message 3" - DstPort 1 - } - } - Line { - SrcBlock "Subtract" - SrcPort 1 - DstBlock "message 4" - DstPort 1 - } - Line { - SrcBlock "Demux2" - SrcPort 5 - Points [40, 0; 0, -45] - Branch { - Points [0, -70] - DstBlock "Mux" - DstPort 2 - } - Branch { - DstBlock "Subtract" - DstPort 2 - } - } - Line { - SrcBlock "Demux1" - SrcPort 5 - Points [25, 0] - Branch { - Points [0, -40] - DstBlock "Mux" - DstPort 1 - } - Branch { - Points [0, 35] - DstBlock "Subtract" - DstPort 1 - } - } - Annotation { - SID "45" - Name "Simple analysis of round trip time" - Position [273, 42] - ZOrder -1 - FontName "Verdana" - FontSize 14 - FontWeight "bold" - } - } - } - Block { - BlockType SubSystem - Name "sm_model" - SID "13" - Ports [0, 3] - Position [55, 97, 235, 193] - ZOrder -2 - BackgroundColor "lightBlue" - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - System { - Name "sm_model" - Location [16, 52, 1468, 964] - Open on - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "A4" - PaperUnits "centimeters" - TiledPaperMargins [1.270000, 1.270000, 1.270000, 1.270000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "160" - Block { - BlockType Mux - Name "Mux" - SID "16" - Ports [3, 1] - Position [870, 140, 875, 190] - ZOrder -1 - ShowName off - Inputs "3" - DisplayOption "bar" - } - Block { - BlockType Mux - Name "Mux1" - SID "17" - Ports [2, 1] - Position [290, 209, 295, 271] - ZOrder -2 - BackgroundColor "yellow" - ShowName off - Inputs "2" - DisplayOption "bar" - } - Block { - BlockType Reference - Name "OpIPSocketCtrl1" - SID "18" - Ports [] - Position [105, 112, 234, 173] - ZOrder -3 - LibraryVersion "1.10" - SourceBlock "rtio_generic_ip/OpIPSocketCtrl" - SourceType "OpAsyncIPCtrl" - ctl_id "1" - proto "UDP/IP" - ip_addr_remote "10.10.10.1" - ip_port_remote "12000" - ip_port_local "12001" - ip_addr_mcast "0.0.0.0" - exe_name "s2ss" - } - Block { - BlockType DiscretePulseGenerator - Name "Pulse\nGenerator" - SID "44" - Ports [0, 1] - Position [190, 238, 240, 272] - ZOrder -13 - BackgroundColor "yellow" - PulseType "Time based" - Amplitude "5" - Period "0.1" - PulseWidth "30" - } - Block { - BlockType Constant - Name "constants" - SID "19" - Position [180, 216, 250, 234] - ZOrder -14 - BackgroundColor "yellow" - NamePlacement "alternate" - Value "[1 2 3 4]" - } - Block { - BlockType DiscretePulseGenerator - Name "data ready 2 kHz" - SID "20" - Ports [0, 1] - Position [290, 131, 335, 149] - ZOrder -15 - NamePlacement "alternate" - Period "10" - SampleTime "0.00005" - } - Block { - BlockType Reference - Name "receive message 1" - SID "21" - Ports [1, 3] - Position [625, 159, 800, 201] - ZOrder -16 - LibraryVersion "1.471" - SourceBlock "rtlab/Communication/Asynchronous/OpAsyncRecv" - SourceType "OpAsyncRecv" - ctl_id "1" - recv_id "1" - enable_param off - fp1 "1" - fp2 "2" - fp3 "3" - fp4 "4" - fp5 "5" - sp1 "string1" - sp2 "string2" - sp3 "string3" - sp4 "string4" - sp5 "string5" - } - Block { - BlockType Reference - Name "send message 1" - SID "22" - Ports [2, 1] - Position [375, 129, 545, 171] - ZOrder -17 - LibraryVersion "1.471" - SourceBlock "rtlab/Communication/Asynchronous/OpAsyncSend" - SourceType "OpAsyncSend" - ctl_id "1" - send_id "1" - mode "DONT_NEED_REPLY" - enable_param off - fp1 "1" - fp2 "2" - fp3 "3" - fp4 "4" - fp5 "5" - sp1 "string1" - sp2 "string2" - sp3 "string3" - sp4 "string4" - sp5 "string5" - } - Block { - BlockType SignalSpecification - Name "set width" - SID "23" - Position [830, 187, 855, 203] - ZOrder -18 - Dimensions "5" - } - Block { - BlockType Constant - Name "timeout" - SID "25" - Position [580, 173, 610, 187] - ZOrder -19 - Value "2" - } - Block { - BlockType Outport - Name "data recv" - SID "26" - Position [915, 187, 950, 203] - ZOrder -20 - BackgroundColor "yellow" - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "errors_status" - SID "27" - Position [915, 142, 950, 158] - ZOrder -21 - BackgroundColor "yellow" - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "data send" - SID "28" - Position [915, 232, 950, 248] - ZOrder -22 - BackgroundColor "yellow" - Port "3" - IconDisplay "Port number" - } - Line { - SrcBlock "receive message 1" - SrcPort 3 - DstBlock "set width" - DstPort 1 - } - Line { - SrcBlock "receive message 1" - SrcPort 1 - DstBlock "Mux" - DstPort 2 - } - Line { - SrcBlock "receive message 1" - SrcPort 2 - DstBlock "Mux" - DstPort 3 - } - Line { - SrcBlock "timeout" - SrcPort 1 - DstBlock "receive message 1" - DstPort 1 - } - Line { - SrcBlock "send message 1" - SrcPort 1 - DstBlock "Mux" - DstPort 1 - } - Line { - SrcBlock "Mux" - SrcPort 1 - Points [0, -15] - DstBlock "errors_status" - DstPort 1 - } - Line { - SrcBlock "set width" - SrcPort 1 - DstBlock "data recv" - DstPort 1 - } - Line { - SrcBlock "constants" - SrcPort 1 - DstBlock "Mux1" - DstPort 1 - } - Line { - Labels [0, 0] - SrcBlock "Mux1" - SrcPort 1 - Points [45, 0] - Branch { - Points [0, -80] - DstBlock "send message 1" - DstPort 2 - } - Branch { - Labels [1, 0] - DstBlock "data send" - DstPort 1 - } - } - Line { - SrcBlock "data ready 2 kHz" - SrcPort 1 - DstBlock "send message 1" - DstPort 1 - } - Line { - SrcBlock "Pulse\nGenerator" - SrcPort 1 - DstBlock "Mux1" - DstPort 2 - } - Annotation { - SID "46" - Name "Simple VILLASnode to OPAL test using UDP messages" - Position [288, 52] - ZOrder -1 - FontName "Verdana" - FontSize 14 - FontWeight "bold" - } - } - } - Line { - SrcBlock "sm_model" - SrcPort 1 - DstBlock "sc_console" - DstPort 1 - } - Line { - SrcBlock "sm_model" - SrcPort 2 - DstBlock "sc_console" - DstPort 2 - } - Line { - Labels [0, 0] - SrcBlock "sm_model" - SrcPort 3 - DstBlock "sc_console" - DstPort 3 - } - } -} +# $Revision: 1.1 $ +Model { + Name "send_receive" + Version 8.1 + MdlSubVersion 0 + GraphicalInterface { + NumRootInports 0 + NumRootOutports 0 + ParameterArgumentNames "" + ComputedModelVersion "1.451" + NumModelReferences 0 + NumTestPointedSignals 0 + } + SavedCharacterEncoding "windows-1252" + SaveDefaultBlockParams on + ScopeRefreshTime 0.035000 + OverrideScopeRefreshTime on + DisableAllScopes off + DataTypeOverride "UseLocalSettings" + DataTypeOverrideAppliesTo "AllNumericTypes" + MinMaxOverflowLogging "UseLocalSettings" + MinMaxOverflowArchiveMode "Overwrite" + FPTRunName "Run 1" + MaxMDLFileLineLength 120 + Object { + $PropName "BdWindowsInfo" + $ObjectID 1 + $ClassName "Simulink.BDWindowsInfo" + Array { + Type "Simulink.WindowInfo" + Dimension 2 + Object { + $ObjectID 2 + IsActive [1] + Location [16.0, 52.0, 1452.0, 912.0] + Object { + $PropName "ModelBrowserInfo" + $ObjectID 3 + $ClassName "Simulink.ModelBrowserInfo" + Visible [0] + DockPosition "Left" + Width [50] + Height [50] + Filter [9] + } + Object { + $PropName "ExplorerBarInfo" + $ObjectID 4 + $ClassName "Simulink.ExplorerBarInfo" + Visible [1] + } + Object { + $PropName "EditorsInfo" + $ObjectID 5 + $ClassName "Simulink.EditorInfo" + IsActive [1] + ViewObjType "SimulinkSubsys" + LoadSaveID "13" + Extents [1402.0, 738.0] + ZoomFactor [1.6] + Offset [94.375, -58.375] + } + } + Object { + $ObjectID 6 + IsActive [0] + Location [346.0, 78.0, 876.0, 912.0] + Object { + $PropName "ModelBrowserInfo" + $ObjectID 7 + $ClassName "Simulink.ModelBrowserInfo" + Visible [0] + DockPosition "Left" + Width [50] + Height [50] + Filter [9] + } + Object { + $PropName "ExplorerBarInfo" + $ObjectID 8 + $ClassName "Simulink.ExplorerBarInfo" + Visible [1] + } + Object { + $PropName "EditorsInfo" + $ObjectID 9 + $ClassName "Simulink.EditorInfo" + IsActive [1] + ViewObjType "SimulinkTopLevel" + LoadSaveID "0" + Extents [826.0, 738.0] + ZoomFactor [1.0] + Offset [0.0, 0.0] + } + } + PropName "WindowsInfo" + } + } + Created "Thu Apr 15 08:21:54 1999" + Creator "jwu" + UpdateHistory "UpdateHistoryNever" + ModifiedByFormat "%" + LastModifiedBy "opal-user" + ModifiedDateFormat "%" + LastModifiedDate "Tue Apr 25 15:37:56 2017" + RTWModifiedTimeStamp 415035473 + ModelVersionFormat "1.%" + ConfigurationManager "none" + SampleTimeColors off + SampleTimeAnnotations off + LibraryLinkDisplay "none" + WideLines off + ShowLineDimensions on + 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 + Object { + $PropName "DataLoggingOverride" + $ObjectID 10 + $ClassName "Simulink.SimulationData.ModelLoggingInfo" + model_ "send_receive" + Array { + Type "Cell" + Dimension 1 + Cell "send_receive" + PropName "logAsSpecifiedByModels_" + } + Array { + Type "Cell" + Dimension 1 + Cell "" + PropName "logAsSpecifiedByModelsSSIDs_" + } + } + 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 on + BufferReuse off + ShowModelReferenceBlockVersion off + ShowModelReferenceBlockIO off + Array { + Type "Handle" + Dimension 1 + Simulink.ConfigSet { + $ObjectID 11 + Version "1.13.0" + Array { + Type "Handle" + Dimension 8 + Simulink.SolverCC { + $ObjectID 12 + Version "1.13.0" + StartTime "0.0" + StopTime "inf" + AbsTol "1e-6" + FixedStep "0.00005" + InitialStep "auto" + MaxNumMinSteps "-1" + MaxOrder 5 + ZcThreshold "auto" + ConsecutiveZCsStepRelTol "10*128*eps" + MaxConsecutiveZCs "1000" + ExtrapolationOrder 4 + NumberNewtonIterations 1 + MaxStep "0.01" + MinStep "auto" + MaxConsecutiveMinStep "1" + RelTol "1e-3" + SolverMode "SingleTasking" + EnableConcurrentExecution off + ConcurrentTasks off + Solver "ode4" + SolverName "ode4" + SolverJacobianMethodControl "auto" + ShapePreserveControl "DisableAll" + ZeroCrossControl "UseLocalSettings" + ZeroCrossAlgorithm "Nonadaptive" + AlgebraicLoopSolver "TrustRegion" + SolverResetMethod "Fast" + PositivePriorityOrder off + AutoInsertRateTranBlk off + SampleTimeConstraint "Unconstrained" + InsertRTBMode "Whenever possible" + } + Simulink.DataIOCC { + $ObjectID 13 + Version "1.13.0" + Decimation "1" + ExternalInput "[]" + FinalStateName "xFinal" + InitialState "[]" + LimitDataPoints off + MaxDataPoints "1000" + LoadExternalInput off + LoadInitialState off + SaveFinalState off + SaveCompleteFinalSimState off + SaveFormat "Array" + SignalLoggingSaveFormat "ModelDataLogs" + SaveOutput off + SaveState off + SignalLogging on + DSMLogging on + InspectSignalLogs off + SaveTime off + ReturnWorkspaceOutputs off + StateSaveName "xout" + TimeSaveName "tout" + OutputSaveName "yout" + SignalLoggingName "sigsOut" + DSMLoggingName "dsmout" + OutputOption "RefineOutputTimes" + OutputTimes "[]" + ReturnWorkspaceOutputsName "out" + Refine "1" + } + Simulink.OptimizationCC { + $ObjectID 14 + Version "1.13.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 off + BufferReuse off + EnhancedBackFolding off + StrengthReduction off + ExpressionFolding off + BooleansAsBitfields off + BitfieldContainerType "uint_T" + EnableMemcpy on + MemcpyThreshold 64 + PassReuseOutputArgsAs "Structure reference" + ExpressionDepthLimit 2147483647 + FoldNonRolledExpr off + LocalBlockOutputs off + 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 15 + Version "1.13.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 "none" + 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 "UseLocalSettings" + 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" + SFUndirectedBroadcastEventsDiag "warning" + SFTransitionActionBeforeConditionDiag "warning" + } + Simulink.HardwareCC { + $ObjectID 16 + Version "1.13.0" + ProdBitPerChar 8 + ProdBitPerShort 16 + ProdBitPerInt 32 + ProdBitPerLong 32 + ProdBitPerLongLong 64 + ProdBitPerFloat 32 + ProdBitPerDouble 64 + ProdBitPerPointer 32 + ProdLargestAtomicInteger "Char" + ProdLargestAtomicFloat "None" + ProdIntDivRoundTo "Undefined" + ProdEndianess "Unspecified" + ProdWordSize 32 + ProdShiftRightIntArith on + ProdLongLongMode off + ProdHWDeviceType "32-bit Generic" + TargetBitPerChar 8 + TargetBitPerShort 16 + TargetBitPerInt 32 + TargetBitPerLong 32 + TargetBitPerLongLong 64 + TargetBitPerFloat 32 + TargetBitPerDouble 64 + TargetBitPerPointer 32 + TargetLargestAtomicInteger "Char" + TargetLargestAtomicFloat "None" + TargetShiftRightIntArith on + TargetLongLongMode off + TargetIntDivRoundTo "Undefined" + TargetEndianess "Unspecified" + TargetWordSize 32 + TargetTypeEmulationWarnSuppressLevel 0 + TargetPreprocMaxBitsSint 32 + TargetPreprocMaxBitsUint 32 + TargetHWDeviceType "Specified" + TargetUnknown on + ProdEqTarget on + } + Simulink.ModelReferenceCC { + $ObjectID 17 + Version "1.13.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 18 + Version "1.13.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 19 + Version "1.13.0" + Array { + Type "Cell" + Dimension 1 + Cell "IncludeHyperlinkInReport" + PropName "DisabledProps" + } + SystemTargetFile "grt.tlc" + GenCodeOnly off + MakeCommand "make_rtw" + GenerateMakefile on + PackageGeneratedCodeAndArtifacts off + 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 + PortableWordSizes off + GenerateErtSFunction off + CreateSILPILBlock "None" + CodeExecutionProfiling off + CodeExecutionProfileVariable "executionProfile" + CodeProfilingSaveOptions "SummaryOnly" + CodeProfilingInstrumentation off + SILDebugging 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 20 + Version "1.13.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 off + IgnoreTestpoints off + IncHierarchyInIds off + MaxIdLength 31 + PreserveName off + PreserveNameWithParent off + ShowEliminatedStatement on + OperatorAnnotations off + IncAutoGenComments off + SimulinkDataObjDesc off + SFDataObjDesc off + MATLABFcnDesc off + IncDataTypeInIds off + MangleLength 1 + CustomSymbolStrGlobalVar "$R$N$M" + CustomSymbolStrType "$N$R$M_T" + 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 + InternalIdentifier "Shortened" + InlinedPrmAccess "Literals" + ReqsInCode off + UseSimReservedNames off + } + Simulink.GRTTargetCC { + $BackupClass "Simulink.TargetCC" + $ObjectID 21 + Version "1.13.0" + Array { + Type "Cell" + Dimension 12 + Cell "IncludeMdlTerminateFcn" + Cell "CombineOutputUpdateFcns" + Cell "SuppressErrorStatus" + Cell "ERTCustomFileBanners" + Cell "GenerateSampleERTMain" + Cell "GenerateTestInterfaces" + Cell "SupportContinuousTime" + Cell "PurelyIntegerCode" + Cell "SupportNonInlinedSFcns" + Cell "SupportComplex" + Cell "SupportAbsoluteTime" + Cell "GenerateAllocFcn" + PropName "DisabledProps" + } + TargetFcnLib "ansi_tfl_tmw.mat" + TargetLibSuffix "" + TargetPreCompLibLocation "" + CodeReplacementLibrary "ANSI_C" + UtilityFuncGeneration "Auto" + ERTMultiwordTypeDef "System defined" + 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" + MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" + ModelStepFunctionPrototypeControlCompliant off + CPPClassGenCompliant off + AutosarCompliant off + GRTInterface on + GenerateAllocFcn off + 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 [ 326, 217, 1222, 885 ] + } + PropName "ConfigurationSets" + } + Simulink.ConfigSet { + $PropName "ActiveConfigurationSet" + $ObjectID 11 + } + Object { + $PropName "DataTransfer" + $ObjectID 22 + $ClassName "Simulink.GlobalDataTransfer" + DefaultTransitionBetweenSyncTasks "Ensure deterministic transfer (maximum delay)" + DefaultTransitionBetweenAsyncTasks "Ensure data integrity only" + DefaultTransitionBetweenContTasks "Ensure deterministic transfer (minimum delay)" + DefaultExtrapolationMethodBetweenContTasks "None" + AutoInsertRateTranBlk [0] + } + 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" + } + MaskDefaults { + SelfModifiable "off" + IconFrame "on" + IconOpaque "on" + RunInitForIconRedraw "off" + IconRotate "none" + PortRotate "default" + IconUnits "autoscale" + } + MaskParameterDefaults { + Evaluate "on" + Tunable "on" + NeverSave "off" + Internal "off" + ReadOnly "off" + Enabled "on" + Visible "on" + ToolTip "on" + } + BlockParameterDefaults { + Block { + BlockType Constant + Value "1" + VectorParams1D on + SamplingMode "Sample based" + OutMin "[]" + OutMax "[]" + OutDataTypeStr "Inherit: Inherit from 'Constant value'" + LockScale off + SampleTime "inf" + FramePeriod "inf" + PreserveConstantTs off + } + Block { + BlockType Demux + Outputs "4" + DisplayOption "none" + BusSelectionMode off + } + Block { + BlockType DiscretePulseGenerator + PulseType "Sample based" + TimeSource "Use simulation time" + Amplitude "1" + Period "2" + PulseWidth "1" + PhaseDelay "0" + SampleTime "1" + VectorParams1D on + } + Block { + BlockType Display + Format "short" + Decimation "10" + Floating off + SampleTime "-1" + } + Block { + BlockType Inport + Port "1" + OutputFunctionCall off + OutMin "[]" + OutMax "[]" + OutDataTypeStr "Inherit: auto" + LockScale off + BusOutputAsStruct off + PortDimensions "-1" + VarSizeSig "Inherit" + SampleTime "-1" + SignalType "auto" + SamplingMode "auto" + LatchByDelayingOutsideSignal off + LatchInputForFeedbackSignals off + Interpolate on + } + Block { + BlockType Mux + Inputs "4" + DisplayOption "none" + UseBusObject off + BusObject "BusObject" + NonVirtualBus off + } + Block { + BlockType Outport + Port "1" + OutMin "[]" + OutMax "[]" + OutDataTypeStr "Inherit: auto" + LockScale off + BusOutputAsStruct off + PortDimensions "-1" + VarSizeSig "Inherit" + SampleTime "-1" + SignalType "auto" + SamplingMode "auto" + SourceOfInitialOutputValue "Dialog" + OutputWhenDisabled "held" + InitialOutput "[]" + } + 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 SignalSpecification + OutMin "[]" + OutMax "[]" + OutDataTypeStr "Inherit: auto" + LockScale off + BusOutputAsStruct off + Dimensions "-1" + VarSizeSig "Inherit" + SampleTime "-1" + SignalType "auto" + SamplingMode "auto" + } + Block { + BlockType SubSystem + ShowPortLabels "FromPortIcon" + Permissions "ReadWrite" + PermitHierarchicalResolution "All" + TreatAsAtomicUnit off + CheckFcnCallInpInsideContextMsg off + SystemSampleTime "-1" + RTWFcnNameOpts "Auto" + RTWFileNameOpts "Auto" + FunctionInterfaceSpec "void_void" + RTWMemSecFuncInitTerm "Inherit from model" + RTWMemSecFuncExecute "Inherit from model" + RTWMemSecDataConstants "Inherit from model" + RTWMemSecDataInternal "Inherit from model" + RTWMemSecDataParameters "Inherit from model" + SimViewingDevice off + DataTypeOverride "UseLocalSettings" + DataTypeOverrideAppliesTo "AllNumericTypes" + MinMaxOverflowLogging "UseLocalSettings" + SFBlockType "NONE" + Variant off + GeneratePreprocessorConditionals off + } + Block { + BlockType Sum + IconShape "rectangular" + Inputs "++" + CollapseMode "All dimensions" + CollapseDim "1" + InputSameDT on + AccumDataTypeStr "Inherit: Inherit via internal rule" + OutMin "[]" + OutMax "[]" + OutDataTypeStr "Inherit: Same as first input" + LockScale off + RndMeth "Floor" + SaturateOnIntegerOverflow on + SampleTime "-1" + } + } + System { + Name "send_receive" + Location [346, 78, 1222, 990] + Open on + ModelBrowserVisibility off + ModelBrowserWidth 247 + ScreenColor "white" + PaperOrientation "landscape" + PaperPositionMode "auto" + PaperType "usletter" + PaperUnits "inches" + TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] + TiledPageScale 1 + ShowPageBoundaries off + ZoomFactor "100" + ReportName "simulink-default.rpt" + SIDHighWatermark "46" + Block { + BlockType SubSystem + Name "sc_console" + SID "3" + Ports [3] + Position [410, 98, 610, 192] + ZOrder -1 + BackgroundColor "lightBlue" + MinAlgLoopOccurrences off + PropExecContextOutsideSubsystem off + RTWSystemCode "Auto" + FunctionWithSeparateData off + Opaque off + RequestExecContextInheritance off + MaskHideContents off + System { + Name "sc_console" + Location [16, 52, 1715, 1151] + Open off + ModelBrowserVisibility off + ModelBrowserWidth 200 + ScreenColor "white" + PaperOrientation "landscape" + PaperPositionMode "auto" + PaperType "A4" + PaperUnits "centimeters" + TiledPaperMargins [1.270000, 1.270000, 1.270000, 1.270000] + TiledPageScale 1 + ShowPageBoundaries off + ZoomFactor "206" + Block { + BlockType Inport + Name "data recv" + SID "4" + Position [140, 168, 170, 182] + ZOrder -1 + BackgroundColor "yellow" + IconDisplay "Port number" + } + Block { + BlockType Inport + Name "errors_status" + SID "5" + Position [140, 128, 170, 142] + ZOrder -2 + BackgroundColor "yellow" + Port "2" + IconDisplay "Port number" + } + Block { + BlockType Inport + Name "data send" + SID "29" + Position [140, 208, 170, 222] + ZOrder -3 + BackgroundColor "yellow" + Port "3" + IconDisplay "Port number" + } + Block { + BlockType Demux + Name "Demux" + SID "6" + Ports [1, 2] + Position [285, 116, 290, 154] + ZOrder -4 + BackgroundColor "black" + ShowName off + Outputs "[2 1]" + } + Block { + BlockType Demux + Name "Demux1" + SID "32" + Ports [1, 5] + Position [375, 211, 380, 299] + ZOrder -5 + ShowName off + Outputs "5" + DisplayOption "bar" + } + Block { + BlockType Demux + Name "Demux2" + SID "39" + Ports [1, 5] + Position [375, 306, 380, 394] + ZOrder -6 + ShowName off + Outputs "5" + DisplayOption "bar" + } + Block { + BlockType Mux + Name "Mux" + SID "34" + Ports [2, 1] + Position [465, 236, 470, 274] + ZOrder -7 + ShowName off + Inputs "2" + DisplayOption "bar" + } + Block { + BlockType Reference + Name "OpComm" + SID "9" + Ports [3, 3] + Position [225, 135, 255, 215] + ZOrder -8 + LibraryVersion "1.471" + SourceBlock "rtlab/OpComm" + SourceType "RT-LAB OpComm" + nbport "3" + groupe_acq "1" + subsys_rate "0" + st "0" + Synchronization on + Interpolation on + Threshold "1.0" + Missed_Data off + Offset off + Sim_Time off + Samples off + dynSigOut off + from_console "0" + warning_done off + writeOpCommFile off + } + Block { + BlockType Sum + Name "Subtract" + SID "42" + Ports [2, 1] + Position [510, 312, 540, 343] + ZOrder -31 + Inputs "+-" + InputSameDT off + OutDataTypeStr "Inherit: Inherit via internal rule" + SaturateOnIntegerOverflow off + } + Block { + BlockType Display + Name "errors" + SID "10" + Ports [1] + Position [385, 72, 455, 118] + ZOrder -32 + BackgroundColor "yellow" + FontName "Arial" + FontSize 8 + Decimation "1" + Lockdown off + } + Block { + BlockType Scope + Name "message 1" + SID "40" + Ports [1] + Position [590, 159, 620, 191] + ZOrder -33 + BackgroundColor "yellow" + Floating off + Location [826, 517, 1334, 952] + Open off + NumInputPorts "1" + List { + ListType AxesTitles + axes1 "%" + } + 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 "-1.75" + YMax "4" + SaveName "ScopeData1" + DataFormat "StructureWithTime" + SampleTime "0" + } + Block { + BlockType Scope + Name "message 2" + SID "33" + Ports [1] + Position [590, 239, 620, 271] + ZOrder -34 + BackgroundColor "yellow" + Floating off + Location [826, 517, 1334, 952] + Open off + NumInputPorts "1" + List { + ListType AxesTitles + axes1 "%" + } + 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 "-1.75" + YMax "4" + DataFormat "StructureWithTime" + SampleTime "0" + } + Block { + BlockType Scope + Name "message 3" + SID "41" + Ports [1] + Position [590, 389, 620, 421] + ZOrder -35 + BackgroundColor "yellow" + Floating off + Location [826, 517, 1334, 952] + Open off + NumInputPorts "1" + List { + ListType AxesTitles + axes1 "%" + } + 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 "-1.75" + YMax "4" + SaveName "ScopeData2" + DataFormat "StructureWithTime" + SampleTime "0" + } + Block { + BlockType Scope + Name "message 4" + SID "43" + Ports [1] + Position [590, 314, 620, 346] + ZOrder -36 + BackgroundColor "yellow" + Floating off + Location [826, 517, 1334, 952] + Open off + NumInputPorts "1" + List { + ListType AxesTitles + axes1 "%" + } + 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 "-1.75" + YMax "4" + SaveName "ScopeData3" + DataFormat "StructureWithTime" + SampleTime "0" + } + Block { + BlockType Display + Name "reception status" + SID "12" + Ports [1] + Position [390, 133, 450, 157] + ZOrder -37 + BackgroundColor "yellow" + FontName "Arial" + FontSize 8 + Decimation "1" + Lockdown off + } + Line { + SrcBlock "errors_status" + SrcPort 1 + Points [25, 0; 0, 15] + DstBlock "OpComm" + DstPort 1 + } + Line { + SrcBlock "OpComm" + SrcPort 2 + Points [45, 0; 0, 80] + Branch { + Labels [1, 0] + DstBlock "Demux1" + DstPort 1 + } + Branch { + Points [0, -80] + DstBlock "message 1" + DstPort 1 + } + } + Line { + SrcBlock "data recv" + SrcPort 1 + DstBlock "OpComm" + DstPort 2 + } + Line { + SrcBlock "OpComm" + SrcPort 1 + Points [10, 0] + DstBlock "Demux" + DstPort 1 + } + Line { + SrcBlock "Demux" + SrcPort 1 + Points [45, 0; 0, -30] + DstBlock "errors" + DstPort 1 + } + Line { + SrcBlock "Demux" + SrcPort 2 + DstBlock "reception status" + DstPort 1 + } + Line { + Labels [0, 0] + SrcBlock "Mux" + SrcPort 1 + DstBlock "message 2" + DstPort 1 + } + Line { + SrcBlock "data send" + SrcPort 1 + Points [25, 0; 0, -15] + DstBlock "OpComm" + DstPort 3 + } + Line { + SrcBlock "OpComm" + SrcPort 3 + Points [25, 0; 0, 150] + Branch { + Points [0, 0] + DstBlock "Demux2" + DstPort 1 + } + Branch { + Points [0, 55] + DstBlock "message 3" + DstPort 1 + } + } + Line { + SrcBlock "Subtract" + SrcPort 1 + DstBlock "message 4" + DstPort 1 + } + Line { + SrcBlock "Demux2" + SrcPort 5 + Points [40, 0; 0, -45] + Branch { + Points [0, -70] + DstBlock "Mux" + DstPort 2 + } + Branch { + DstBlock "Subtract" + DstPort 2 + } + } + Line { + SrcBlock "Demux1" + SrcPort 5 + Points [25, 0] + Branch { + Points [0, -40] + DstBlock "Mux" + DstPort 1 + } + Branch { + Points [0, 35] + DstBlock "Subtract" + DstPort 1 + } + } + Annotation { + SID "45" + Name "Simple analysis of round trip time" + Position [273, 42] + ZOrder -1 + FontName "Verdana" + FontSize 14 + FontWeight "bold" + } + } + } + Block { + BlockType SubSystem + Name "sm_model" + SID "13" + Ports [0, 3] + Position [55, 97, 235, 193] + ZOrder -2 + BackgroundColor "lightBlue" + MinAlgLoopOccurrences off + PropExecContextOutsideSubsystem off + RTWSystemCode "Auto" + FunctionWithSeparateData off + Opaque off + RequestExecContextInheritance off + MaskHideContents off + System { + Name "sm_model" + Location [16, 52, 1468, 964] + Open on + ModelBrowserVisibility off + ModelBrowserWidth 200 + ScreenColor "white" + PaperOrientation "landscape" + PaperPositionMode "auto" + PaperType "A4" + PaperUnits "centimeters" + TiledPaperMargins [1.270000, 1.270000, 1.270000, 1.270000] + TiledPageScale 1 + ShowPageBoundaries off + ZoomFactor "160" + Block { + BlockType Mux + Name "Mux" + SID "16" + Ports [3, 1] + Position [870, 140, 875, 190] + ZOrder -1 + ShowName off + Inputs "3" + DisplayOption "bar" + } + Block { + BlockType Mux + Name "Mux1" + SID "17" + Ports [2, 1] + Position [290, 209, 295, 271] + ZOrder -2 + BackgroundColor "yellow" + ShowName off + Inputs "2" + DisplayOption "bar" + } + Block { + BlockType Reference + Name "OpIPSocketCtrl1" + SID "18" + Ports [] + Position [110, 92, 239, 153] + ZOrder -3 + LibraryVersion "1.10" + SourceBlock "rtio_generic_ip/OpIPSocketCtrl" + SourceType "OpAsyncIPCtrl" + ctl_id "1" + proto "UDP/IP" + ip_addr_remote "134.130.169.31" + ip_port_remote "12000" + ip_port_local "12001" + ip_addr_mcast "0.0.0.0" + exe_name "AsyncIP" + } + Block { + BlockType DiscretePulseGenerator + Name "Pulse\nGenerator" + SID "44" + Ports [0, 1] + Position [190, 238, 240, 272] + ZOrder -13 + BackgroundColor "yellow" + PulseType "Time based" + Amplitude "5" + Period "0.1" + PulseWidth "30" + } + Block { + BlockType Constant + Name "constants" + SID "19" + Position [180, 216, 250, 234] + ZOrder -14 + BackgroundColor "yellow" + NamePlacement "alternate" + Value "[1 2 3 4]" + } + Block { + BlockType DiscretePulseGenerator + Name "data ready 2 kHz" + SID "20" + Ports [0, 1] + Position [290, 131, 335, 149] + ZOrder -15 + NamePlacement "alternate" + Period "10" + SampleTime "0.00005" + } + Block { + BlockType Reference + Name "receive message 1" + SID "21" + Ports [1, 3] + Position [625, 159, 800, 201] + ZOrder -16 + LibraryVersion "1.471" + SourceBlock "rtlab/Communication/Asynchronous/OpAsyncRecv" + SourceType "OpAsyncRecv" + ctl_id "1" + recv_id "1" + enable_param off + fp1 "1" + fp2 "2" + fp3 "3" + fp4 "4" + fp5 "5" + sp1 "string1" + sp2 "string2" + sp3 "string3" + sp4 "string4" + sp5 "string5" + } + Block { + BlockType Reference + Name "send message 1" + SID "22" + Ports [2, 1] + Position [375, 129, 545, 171] + ZOrder -17 + LibraryVersion "1.471" + SourceBlock "rtlab/Communication/Asynchronous/OpAsyncSend" + SourceType "OpAsyncSend" + ctl_id "1" + send_id "1" + mode "DONT_NEED_REPLY" + enable_param off + fp1 "1" + fp2 "2" + fp3 "3" + fp4 "4" + fp5 "5" + sp1 "string1" + sp2 "string2" + sp3 "string3" + sp4 "string4" + sp5 "string5" + } + Block { + BlockType SignalSpecification + Name "set width" + SID "23" + Position [830, 187, 855, 203] + ZOrder -18 + Dimensions "5" + } + Block { + BlockType Constant + Name "timeout" + SID "25" + Position [580, 173, 610, 187] + ZOrder -19 + Value "2" + } + Block { + BlockType Outport + Name "data recv" + SID "26" + Position [915, 187, 950, 203] + ZOrder -20 + BackgroundColor "yellow" + IconDisplay "Port number" + } + Block { + BlockType Outport + Name "errors_status" + SID "27" + Position [915, 142, 950, 158] + ZOrder -21 + BackgroundColor "yellow" + Port "2" + IconDisplay "Port number" + } + Block { + BlockType Outport + Name "data send" + SID "28" + Position [915, 232, 950, 248] + ZOrder -22 + BackgroundColor "yellow" + Port "3" + IconDisplay "Port number" + } + Line { + SrcBlock "receive message 1" + SrcPort 3 + DstBlock "set width" + DstPort 1 + } + Line { + SrcBlock "receive message 1" + SrcPort 1 + DstBlock "Mux" + DstPort 2 + } + Line { + SrcBlock "receive message 1" + SrcPort 2 + DstBlock "Mux" + DstPort 3 + } + Line { + SrcBlock "timeout" + SrcPort 1 + DstBlock "receive message 1" + DstPort 1 + } + Line { + SrcBlock "send message 1" + SrcPort 1 + DstBlock "Mux" + DstPort 1 + } + Line { + SrcBlock "Mux" + SrcPort 1 + Points [0, -15] + DstBlock "errors_status" + DstPort 1 + } + Line { + SrcBlock "set width" + SrcPort 1 + DstBlock "data recv" + DstPort 1 + } + Line { + SrcBlock "constants" + SrcPort 1 + DstBlock "Mux1" + DstPort 1 + } + Line { + Labels [0, 0] + SrcBlock "Mux1" + SrcPort 1 + Points [45, 0] + Branch { + Points [0, -80] + DstBlock "send message 1" + DstPort 2 + } + Branch { + Labels [1, 0] + DstBlock "data send" + DstPort 1 + } + } + Line { + SrcBlock "data ready 2 kHz" + SrcPort 1 + DstBlock "send message 1" + DstPort 1 + } + Line { + SrcBlock "Pulse\nGenerator" + SrcPort 1 + DstBlock "Mux1" + DstPort 2 + } + Annotation { + SID "46" + Name "Simple VILLASnode to OPAL test using UDP messages" + Position [288, 52] + ZOrder -1 + FontName "Verdana" + FontSize 14 + FontWeight "bold" + } + } + } + Line { + SrcBlock "sm_model" + SrcPort 1 + DstBlock "sc_console" + DstPort 1 + } + Line { + SrcBlock "sm_model" + SrcPort 2 + DstBlock "sc_console" + DstPort 2 + } + Line { + Labels [0, 0] + SrcBlock "sm_model" + SrcPort 3 + DstBlock "sc_console" + DstPort 3 + } + } +} diff --git a/clients/opal/villas_udp/models/send_receive/src/main.c b/clients/opal/villas_udp/models/send_receive/src/main.c index 24ec3a456..a9022de30 100644 --- a/clients/opal/villas_udp/models/send_receive/src/main.c +++ b/clients/opal/villas_udp/models/send_receive/src/main.c @@ -112,8 +112,11 @@ static void * SendToIPPort(void *arg) len = MSG_LEN(msg->length); #elif PROTOCOL == GTNET_SKT - for (int i = 0; i < cnt; i++) + uint32_t *imsg = (uint32_t *) msg; + for (int i = 0; i < cnt; i++) { msg[i] = (float) mdldata[i]; + imsg[i] = htonl(imsg[i]); + } len = mdldata_size / sizeof(double) * sizeof(float); #else @@ -199,7 +202,7 @@ static void * RecvFromIPPort(void *arg) #if PROTOCOL == VILLAS msg_ntoh(msg); - + ret = msg_verify(msg); if (ret) { OpalPrint("%s: Skipping invalid packet\n", PROGNAME); @@ -217,6 +220,10 @@ static void * RecvFromIPPort(void *arg) /* Update OPAL model */ OpalSetAsyncRecvIconStatus(msg->sequence, RecvID); /* Set the Status to the message ID */ #elif PROTOCOL == GTNET_SKT + uint32_t *imsg = (uint32_t *) msg; + for (int i = 0; i < cnt; i++) + imsg[i] = ntohl(imsg[i]); + for (int i = 0; i < cnt; i++) mdldata[i] = (double) msg[i]; #else diff --git a/clients/opal/villas_udp/villas_udp.llp b/clients/opal/villas_udp/villas_udp.llp index 544f22ba7..df1351c57 100644 --- a/clients/opal/villas_udp/villas_udp.llp +++ b/clients/opal/villas_udp/villas_udp.llp @@ -1,20 +1,20 @@ - - - - s2ss_tests - This is a project! - 134.130.169.90:25252 - C2357876-6DB6-422F-ABD4-AB47963523A2 - ON - D:\svo\s2ss\clients\opal\villas_udp\villas_udp.llp - - - - - models/send_receive/send_receive.mdl - D:/svo/s2ss/clients/opal/villas_udp/models/send_receive/send_receive.mdl - //E265/D/svo/s2ss/clients/opal/villas_udp/models/send_receive/send_receive.mdl - - - - + + + + villas_udp + This is a project! + 134.130.169.16:25252 + 7B042784-8CF2-444A-92E3-8457E429E28A + ON + C:\Users\opal-user\OPAL-RT\msv-ufa\villas_udp\villas_udp.llp + + + + + models/send_receive/send_receive.mdl + C:/Users/opal-user/OPAL-RT/msv-ufa/villas_udp/models/send_receive/send_receive.mdl + C:/Users/opal-user/OPAL-RT/msv-ufa/villas_udp/models/send_receive/send_receive.mdl + + + + diff --git a/etc/gtnet-skt/emulate_gtnet.conf b/etc/gtnet-skt/emulate_gtnet.conf new file mode 100644 index 000000000..64fa2bde7 --- /dev/null +++ b/etc/gtnet-skt/emulate_gtnet.conf @@ -0,0 +1,24 @@ +/** GTNET-SKT test configuration. + * + * The syntax of this file is similar to JSON. + * A detailed description of the format can be found here: + * http://www.hyperrealm.com/libconfig/libconfig_manual.html#Configuration-Files + * + * @author Steffen Vogel + * @copyright 2017, Institute for Automation of Complex Power Systems, EONERC + *********************************************************************************/ + +stats = 1; +debug = 10; + +nodes = { + node1 = { + type = "socket", + layer = "udp", + local = "*:12000", # Local ip:port, use '*' for random port + remote = "134.130.169.80:12001", + header = "none", # 'gtnet-skt' or 'villas'. If not provided, 'villas' header will be used + endian = "big", # Can be 'little' or 'small'. If not provided (default), little endianness logic will be applied + vectorize = 1, # Number of samples to fetch per iteration from the socket + } +}; diff --git a/lib/nodes/socket.c b/lib/nodes/socket.c index 33899b749..9312a0c0f 100644 --- a/lib/nodes/socket.c +++ b/lib/nodes/socket.c @@ -297,12 +297,12 @@ static int socket_read_none(struct node *n, struct sample *smps[], unsigned cnt) } else { smp->sequence = n->sequence++; /* Fake sequence no generated by VILLASnode */ - smp->ts.origin.tv_sec = -1; - smp->ts.origin.tv_nsec = -1; + smp->ts.origin.tv_sec = 0; + smp->ts.origin.tv_nsec = 0; } - smp->ts.received.tv_sec = -1; - smp->ts.received.tv_nsec = -1; + smp->ts.received.tv_sec = 0; + smp->ts.received.tv_nsec = 0; smp->length = length; @@ -700,4 +700,4 @@ static struct plugin p = { } }; -REGISTER_PLUGIN(&p) \ No newline at end of file +REGISTER_PLUGIN(&p)