Model { Name "motion_turtle" Version 7.0 MdlSubVersion 0 GraphicalInterface { NumRootInports 0 NumRootOutports 0 ParameterArgumentNames "" ComputedModelVersion "1.5091" NumModelReferences 0 NumTestPointedSignals 0 } SavedCharacterEncoding "US-ASCII" SaveDefaultBlockParams on SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions on ShowPortDataTypes on ShowLoopsOnError on IgnoreBidirectionalLines off ShowStorageClass off ShowTestPointIcons on ShowViewerIcons on SortedOrder off ExecutionContextIcon off ShowLinearizationAnnotations on ScopeRefreshTime 0.035000 OverrideScopeRefreshTime on DisableAllScopes off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" MinMaxOverflowArchiveMode "Overwrite" BlockNameDataTip off BlockParametersDataTip off BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off Created "Wed Jan 31 12:33:46 2001" Creator "root" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" LastModifiedBy "root" ModifiedDateFormat "%" LastModifiedDate "Tue Aug 23 22:44:32 2011" RTWModifiedTimeStamp 0 ModelVersionFormat "1.%" ConfigurationManager "none" SimulationMode "normal" RTW.FcnDefault { $PropName "RTWFcnClass" $ObjectID 1 Name "Auto" FunctionName "motion_turtle_step" } 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 covSaveCumulativeToWorkspaceVar on CovSaveSingleToWorkspaceVar on CovCumulativeVarName "covCumulativeData" CovCumulativeReport off CovReportOnPause on ExtModeBatchMode off ExtModeEnableFloating on ExtModeTrigType "manual" ExtModeTrigMode "normal" ExtModeTrigPort "1" ExtModeTrigElement "1" ExtModeTrigDuration 3910 ExtModeTrigDurationFloating "auto" ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off ExtModeArmWhenConnect on ExtModeSkipDownloadWhenConnect off ExtModeLogAll on ExtModeAutoUpdateStatusClock off BufferReuse on ShowModelReferenceBlockVersion off ShowModelReferenceBlockIO off Array { Type "Handle" Dimension 1 Simulink.ConfigSet { $ObjectID 2 Version "1.3.0" Array { Type "Handle" Dimension 7 Simulink.SolverCC { $ObjectID 3 Version "1.3.0" StartTime "0.0" StopTime "3600*2" AbsTol "auto" FixedStep "Ts" InitialStep "auto" MaxNumMinSteps "-1" MaxOrder 5 ConsecutiveZCsStepRelTol "10*128*eps" MaxConsecutiveZCs "1000" ExtrapolationOrder 4 NumberNewtonIterations 1 MaxStep "auto" MinStep "auto" MaxConsecutiveMinStep "1" RelTol "1e-3" SolverMode "Auto" Solver "ode1" SolverName "ode1" ZeroCrossControl "UseLocalSettings" AlgebraicLoopSolver "TrustRegion" SolverResetMethod "Fast" PositivePriorityOrder off AutoInsertRateTranBlk off SampleTimeConstraint "Unconstrained" RateTranMode "Deterministic" } Simulink.DataIOCC { $ObjectID 4 Version "1.3.0" Decimation "1" ExternalInput "[t, u]" FinalStateName "xFinal" InitialState "xInitial" LimitDataPoints off MaxDataPoints "4000*3600" LoadExternalInput off LoadInitialState off SaveFinalState off SaveFormat "Array" SaveOutput off SaveState off SignalLogging off InspectSignalLogs off SaveTime off StateSaveName "xout" TimeSaveName "tout" OutputSaveName "yout" SignalLoggingName "logsout" OutputOption "RefineOutputTimes" OutputTimes "[]" Refine "1" } Simulink.OptimizationCC { $ObjectID 5 Version "1.3.0" BlockReduction off BooleanDataType off ConditionallyExecuteInputs on InlineParams off InlineInvariantSignals off OptimizeBlockIOStorage on BufferReuse on EnforceIntegerDowncast on ExpressionFolding on 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 OptimizeModelRefInitCode on LifeSpan "1" BufferReusableBoundary on SimCompilerOptimization "Off" AccelVerboseBuild off } Simulink.DebuggingCC { $ObjectID 6 Version "1.3.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 CheckExecutionContextPreStartOutputMsg off CheckExecutionContextRuntimeOutputMsg off SignalResolutionControl "TryResolveAllWithWarning" BlockPriorityViolationMsg "warning" MinStepSizeMsg "warning" TimeAdjustmentMsg "none" MaxConsecutiveZCsMsg "error" SolverPrmCheckMsg "none" InheritedTsInSrcMsg "warning" DiscreteInheritContinuousMsg "warning" MultiTaskDSMMsg "warning" MultiTaskCondExecSysMsg "none" MultiTaskRateTransMsg "warning" SingleTaskRateTransMsg "none" TasksWithSamePriorityMsg "warning" SigSpecEnsureSampleTimeMsg "warning" CheckMatrixSingularityMsg "none" IntegerOverflowMsg "warning" Int32ToFloatConvMsg "warning" ParameterDowncastMsg "error" ParameterOverflowMsg "error" ParameterUnderflowMsg "none" ParameterPrecisionLossMsg "warning" ParameterTunabilityLossMsg "warning" UnderSpecifiedDataTypeMsg "none" UnnecessaryDatatypeConvMsg "none" VectorMatrixConversionMsg "none" InvalidFcnCallConnMsg "error" FcnCallInpInsideContextMsg "Use local settings" SignalLabelMismatchMsg "none" UnconnectedInputMsg "error" UnconnectedOutputMsg "error" UnconnectedLineMsg "error" SFcnCompatibilityMsg "none" UniqueDataStoreMsg "none" BusObjectLabelMismatch "warning" RootOutportRequireBusObject "warning" AssertControl "UseLocalSettings" EnableOverflowDetection off ModelReferenceIOMsg "none" ModelReferenceVersionMismatchMessage "none" ModelReferenceIOMismatchMessage "none" ModelReferenceCSMismatchMessage "none" ModelReferenceSimTargetVerbose off UnknownTsInhSupMsg "warning" ModelReferenceDataLoggingMessage "warning" ModelReferenceSymbolNameMessage "warning" ModelReferenceExtraNoncontSigs "error" StateNameClashWarn "warning" StrictBusMsg "None" LoggingUnavailableSignals "error" } Simulink.HardwareCC { $ObjectID 7 Version "1.3.0" ProdBitPerChar 8 ProdBitPerShort 16 ProdBitPerInt 32 ProdBitPerLong 32 ProdIntDivRoundTo "Undefined" ProdEndianess "Unspecified" ProdWordSize 32 ProdShiftRightIntArith on ProdHWDeviceType "32-bit Generic" TargetBitPerChar 8 TargetBitPerShort 16 TargetBitPerInt 32 TargetBitPerLong 32 TargetShiftRightIntArith on TargetIntDivRoundTo "Undefined" TargetEndianess "LittleEndian" TargetWordSize 32 TargetTypeEmulationWarnSuppressLevel 0 TargetPreprocMaxBitsSint 32 TargetPreprocMaxBitsUint 32 TargetHWDeviceType "MATLAB Host" TargetUnknown off ProdEqTarget on } Simulink.ModelReferenceCC { $ObjectID 8 Version "1.3.0" UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" CheckModelReferenceTargetMessage "error" ModelReferenceNumInstancesAllowed "Multi" ModelReferencePassRootInputsByReference on ModelReferenceMinAlgLoopOccurrences off } Simulink.RTWCC { $BackupClass "Simulink.RTWCC" $ObjectID 9 Version "1.3.0" SystemTargetFile "mtt.tlc" GenCodeOnly off MakeCommand "make_rtw OPT_OPTS=\"-g -O2 -W\" CC=\"ccache gcc\" OPTS=\"-DNETIF_ID=1 -D_GNU_SOURCE -DPRIO=99 -DSVN_VER=3731\"" GenerateMakefile on TemplateMakefile "mtt_unix.tmf" Description "Multitasking Target for Linux (EXPERIMENTAL)" GenerateReport off SaveLog off RTWVerbose on RetainRTWFile off ProfileTLC off TLCDebug off TLCCoverage off TLCAssert off ProcessScriptMode "Default" ConfigurationMode "Optimized" ProcessScript "mtt_make_rtw_hook" ConfigAtBuild off CustomInclude "../Libs/kinect/include ../Libs/voronoi ./src ../Libs/ipcomm2 ../Libs/multicast ../Libs/GeneralFunctions ../Global_par ../Vision/src ./src/refbox_handler/ ../Vision/src/role_handler/ ./src/pass_handler/ ./src/mu_positioning_lib/ ../Vision/src/strategy_handler/ /usr/include/gsl ./src/LaserRangeFinder/include/ ./src/LaserRangeFinder/ /home/robocup/svn/trunk/src/Turtle2/Libs/Simulink/Bus/busses/" CustomLibrary "/usr/lib/libfreenect.so /usr/lib/libc_urg.so /usr/lib/libc_urg_connection.so /usr/lib/libc_urg_system.so /usr/lib/libvoronoi.so /usr/lib/libpthread.so /usr/lib/libipcomm2_server.so /usr/lib/librtdb.so /usr/lib/libgd.so /usr/lib/libvoronoi.so /usr/lib/libgeneral_functions.a /usr/lib/libgslcblas.so /usr/lib/libgsl.so" IncludeHyperlinkInReport off LaunchReport off TargetLang "C" IncludeBusHierarchyInRTWFileBlockHierarchyMap off IncludeERTFirstTime on GenerateTraceInfo off RTWCompilerOptimization "Off" Array { Type "Handle" Dimension 2 Simulink.CodeAppCC { $ObjectID 10 Version "1.3.0" ForceParamTrailComments off GenerateComments on IgnoreCustomStorageClasses off IncHierarchyInIds off MaxIdLength 31 PreserveName off PreserveNameWithParent off ShowEliminatedStatement on IncAutoGenComments off SimulinkDataObjDesc off SFDataObjDesc off IncDataTypeInIds off MangleLength 1 CustomSymbolStrGlobalVar "$R$N$M" CustomSymbolStrType "$N$R$M" CustomSymbolStrField "$N$M" CustomSymbolStrFcn "$R$N$M$F" CustomSymbolStrBlkIO "rtb_$N$M" CustomSymbolStrTmpVar "$N$M" CustomSymbolStrMacro "$R$N$M" DefineNamingRule "None" ParamNamingRule "None" SignalNamingRule "None" InsertBlockDesc off SimulinkBlockComments on EnableCustomComments off InlinedPrmAccess "Literals" ReqsInCode off } Simulink.ERTTargetCC { $BackupClass "Simulink.TargetCC" $ObjectID 11 Version "1.3.0" TargetFcnLib "ansi_tfl_table_tmw.mat" TargetLibSuffix "" TargetPreCompLibLocation "" GenFloatMathFcnCalls "ANSI_C" UtilityFuncGeneration "Auto" GenerateFullHeader on GenerateSampleERTMain off GenerateTestInterfaces off IsPILTarget off ModelReferenceCompliant on CompOptLevelCompliant on IncludeMdlTerminateFcn on CombineOutputUpdateFcns on SuppressErrorStatus off IncludeFileDelimiter "Auto" ERTCustomFileBanners on SupportAbsoluteTime on LogVarNameModifier "rt_" MatFileLogging on MultiInstanceERTCode off SupportNonFinite on SupportComplex on PurelyIntegerCode off SupportContinuousTime on SupportNonInlinedSFcns on EnableShiftOperators on ParenthesesLevel "Nominal" PortableWordSizes off ModelStepFunctionPrototypeControlCompliant on GenerateErtSFunction off GenerateASAP2 off ExtMode off ExtModeTransport 0 ExtModeStaticAlloc off ExtModeStaticAllocSize 1000000 ExtModeTesting off ExtModeMexFile "noextcomm" ExtModeIntrfLevel "Level1" InlinedParameterPlacement "NonHierarchical" TargetOS "BareBoardExample" MultiInstanceErrorCode "Error" RateGroupingCode on RootIOFormat "Individual arguments" RTWCAPISignals off RTWCAPIParams off RTWCAPIStates off ERTSrcFileBannerTemplate "ert_code_template.cgt" ERTHdrFileBannerTemplate "ert_code_template.cgt" ERTDataSrcFileTemplate "ert_code_template.cgt" ERTDataHdrFileTemplate "ert_code_template.cgt" ERTCustomFileTemplate "example_file_process.tlc" ModuleNamingRule "Unspecified" SignalDisplayLevel 10 ParamTuneLevel 10 GlobalDataDefinition "Auto" DataDefinitionFile "global.c" GlobalDataReference "Auto" DataReferenceFile "global.h" GRTInterface off PreserveExpressionOrder off PreserveIfCondition off EnableUserReplacementTypes off Array { Type "Struct" Dimension 1 MATStruct { double "" single "" int32 "" int16 "" int8 "" uint32 "" uint16 "" uint8 "" boolean "" int "" uint "" char "" } PropName "ReplacementTypes" } MemSecPackage "--- None ---" MemSecDataConstants "Default" MemSecDataIO "Default" MemSecDataInternal "Default" MemSecDataParameters "Default" MemSecFuncInitTerm "Default" MemSecFuncExecute "Default" } PropName "Components" } } PropName "Components" } Name "Configuration" ExtraOptions "-aGenerateTraceInfo=0 " CurrentDlgPage "Diagnostics/Connectivity" } PropName "ConfigurationSets" } Simulink.ConfigSet { $PropName "ActiveConfigurationSet" $ObjectID 2 } BlockDefaults { Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on } BlockParameterDefaults { Block { BlockType Clock DisplayTime off } Block { BlockType DataTypeConversion OutMin "[]" OutMax "[]" OutDataTypeMode "Inherit via back propagation" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off ConvertRealWorld "Real World Value (RWV)" RndMeth "Zero" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Demux Outputs "4" DisplayOption "none" BusSelectionMode off } Block { BlockType Derivative LinearizePole "inf" } Block { BlockType DiscreteTransferFcn Numerator "[1]" Denominator "[1 0.5]" SampleTime "1" StateMustResolveToSignalObject off RTWStateStorageClass "Auto" Realization "auto" } Block { BlockType Display Format "short" Decimation "10" Floating off SampleTime "-1" } Block { BlockType EnablePort StatesWhenEnabling "held" ShowOutputPort off ZeroCross on } Block { BlockType From IconDisplay "Tag" } Block { BlockType Fcn Expr "sin(u[1])" SampleTime "-1" } Block { BlockType Gain Gain "1" Multiplication "Element-wise(K.*u)" ParamMin "[]" ParamMax "[]" ParameterDataTypeMode "Same as input" ParameterDataType "fixdt(1,16,0)" ParameterScalingMode "Best Precision: Matrix-wise" ParameterScaling "[]" OutMin "[]" OutMax "[]" OutDataTypeMode "Same as input" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Goto IconDisplay "Tag" } Block { BlockType Ground } Block { BlockType HitCross HitCrossingOffset "0" HitCrossingDirection "either" ShowOutputPort on ZeroCross on SampleTime "-1" } Block { BlockType Inport Port "1" UseBusObject off BusObject "BusObject" BusOutputAsStruct off PortDimensions "-1" SampleTime "-1" OutMin "[]" OutMax "[]" DataType "auto" OutDataType "fixdt(1,16,0)" OutScaling "[]" SignalType "auto" SamplingMode "auto" LatchByDelayingOutsideSignal off LatchByCopyingInsideSignal off Interpolate on } Block { BlockType InportShadow UseBusObject off BusObject "BusObject" BusOutputAsStruct off PortDimensions "-1" SampleTime "-1" OutMin "[]" OutMax "[]" DataType "auto" OutDataType "fixdt(1,16,0)" OutScaling "[]" SignalType "auto" SamplingMode "auto" Interpolate on } Block { BlockType Integrator ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" IgnoreLimit off ZeroCross on ContinuousStateAttributes "''" } Block { BlockType Logic Operator "AND" Inputs "2" IconShape "rectangular" AllPortsSameDT on OutDataTypeMode "Logical (see Configuration Parameters: Optimization)" LogicDataType "uint(8)" SampleTime "-1" } Block { BlockType Math Operator "exp" OutputSignalType "auto" SampleTime "-1" OutMin "[]" OutMax "[]" OutDataTypeMode "Same as first input" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on } Block { BlockType Memory X0 "0" InheritSampleTime off LinearizeMemory off LinearizeAsDelay off StateMustResolveToSignalObject off RTWStateStorageClass "Auto" } Block { BlockType MultiPortSwitch Inputs "4" zeroidx off InputSameDT on OutMin "[]" OutMax "[]" OutDataTypeMode "Inherit via internal rule" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Mux Inputs "4" DisplayOption "none" UseBusObject off BusObject "BusObject" NonVirtualBus off } Block { BlockType Outport Port "1" UseBusObject off BusObject "BusObject" BusOutputAsStruct off PortDimensions "-1" SampleTime "-1" OutMin "[]" OutMax "[]" DataType "auto" OutDataType "fixdt(1,16,0)" OutScaling "[]" SignalType "auto" SamplingMode "auto" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Product Inputs "2" Multiplication "Element-wise(.*)" CollapseMode "All dimensions" CollapseDim "1" InputSameDT on OutMin "[]" OutMax "[]" OutDataTypeMode "Same as first input" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off RndMeth "Zero" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType RateLimiter RisingSlewLimit "1" FallingSlewLimit "-1" SampleTimeMode "continuous" InitialCondition "0" LinearizeAsGain on } Block { BlockType RateTransition Integrity on Deterministic on X0 "0" OutPortSampleTime "-1" } Block { BlockType Selector NumberOfDimensions "1" IndexMode "One-based" InputPortWidth "-1" SampleTime "-1" } Block { BlockType "S-Function" FunctionName "system" SFunctionModules "''" PortCounts "[]" } Block { BlockType Step Time "1" Before "0" After "1" SampleTime "-1" VectorParams1D on ZeroCross on } Block { BlockType SubSystem ShowPortLabels "FromPortIcon" Permissions "ReadWrite" PermitHierarchicalResolution "All" TreatAsAtomicUnit off SystemSampleTime "-1" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" } Block { BlockType Sum IconShape "rectangular" Inputs "++" CollapseMode "All dimensions" CollapseDim "1" InputSameDT on OutMin "[]" OutMax "[]" OutDataTypeMode "Same as first input" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Switch Criteria "u2 >= Threshold" Threshold "0" InputSameDT on OutMin "[]" OutMax "[]" OutDataTypeMode "Inherit via internal rule" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on ZeroCross on SampleTime "-1" } Block { BlockType Terminator } Block { BlockType TransferFcn Numerator "[1]" Denominator "[1 2 1]" AbsoluteTolerance "auto" ContinuousStateAttributes "''" Realization "auto" } Block { BlockType UnitDelay X0 "0" SampleTime "1" StateMustResolveToSignalObject off RTWStateStorageClass "Auto" } Block { BlockType VariableTransportDelay VariableDelayType "Variable time delay" MaximumDelay "1" InitialOutput "0" MaximumPoints "1024" FixedBuffer off ZeroDelay off TransDelayFeedthrough off PadeOrder "0" AbsoluteTolerance "auto" ContinuousStateAttributes "''" } Block { BlockType Abs ZeroCross on SampleTime "-1" OutMax "[]" OutDataTypeMode "Same as input" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on } Block { BlockType Constant Value "1" VectorParams1D on SamplingMode "Sample based" OutMin "[]" OutMax "[]" OutDataTypeMode "Inherit from 'Constant value'" OutDataType "fixdt(1,16,0)" ConRadixGroup "Use specified scaling" OutScaling "[]" SampleTime "inf" FramePeriod "inf" } Block { BlockType DiscretePulseGenerator PulseType "Sample based" TimeSource "Use simulation time" Amplitude "1" Period "2" PulseWidth "1" PhaseDelay "0" SampleTime "1" VectorParams1D on } Block { BlockType RelationalOperator Operator ">=" InputSameDT on LogicOutDataTypeMode "Logical (see Configuration Parameters: Optimization)" LogicDataType "uint(8)" ZeroCross on SampleTime "-1" } Block { BlockType Trigonometry Operator "sin" OutputSignalType "auto" SampleTime "-1" } } 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" } System { Name "motion_turtle" Location [93, 145, 917, 585] Open on ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Display Name "Actual time in s" Ports [1] Position [645, 80, 735, 110] Decimation "1" Lockdown off } Block { BlockType Clock Name "Clock" Position [605, 85, 625, 105] Decimation "10" } Block { BlockType SubSystem Name "Set CPU affinity" Ports [] Position [641, 293, 741, 358] BackgroundColor "gray" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskType "Set CPU affinity" MaskPromptString "Choose CPU id" MaskStyleString "popup(cpu0|cpu1|cpu2|cpu3)" MaskTunableValueString "on" MaskEnableString "on" MaskVisibilityString "on" MaskToolTipString "on" MaskVariables "cpu_id=@1;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "cpu0" System { Name "Set CPU affinity" Location [620, 379, 1037, 707] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType "S-Function" Name "Set CPU affinity" Ports [0, 1] Position [110, 121, 250, 189] BackgroundColor "green" FunctionName "sf_setcpu" Parameters "cpu_id" } Block { BlockType Terminator Name "Terminator" Position [280, 145, 300, 165] } Line { SrcBlock "Set CPU affinity" SrcPort 1 DstBlock "Terminator" DstPort 1 } } } Block { BlockType Step Name "Step" Position [125, 47, 155, 63] ShowName off Time "0.5" SampleTime "1/get_global_par('MOTION_SAMPLE_RATE')" } Block { BlockType SubSystem Name "decoupled controlled robot" Ports [3, 1] Position [360, 88, 550, 322] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskDisplay "image(imread('Turtle28112008.JPG'));" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "decoupled controlled robot" Location [63, 135, 1139, 708] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "TRCbus" Position [125, 383, 155, 397] BackgroundColor "lightBlue" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "controlbus" Position [125, 293, 155, 307] BackgroundColor "gray" Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Motion_tuning_bus" Position [125, 163, 155, 177] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "Bus assigner" Ports [3, 1] Position [795, 64, 965, 206] BackgroundColor "cyan" FunctionName "sf_bus_assign" Parameters "sizes,offsets,portwidth,types,bus_is_in,bus_size" MaskType "Assign variables in bus." MaskDescription "Bus assigner to assign values to variables in a bus. \nThis block can overwrite values in an existing bus as well as \ncreate a bus and write values to certain parameters. Busses \ncan be editted and created using the busmanager. Note that \ndeleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |Bus is input |position_global_xyo|robot_active|position_local_xyo|tacho_left|tacho_right|arm_left|arm_right|battery_voltage|motor_temperatures|panic_and_reset_switches|local_y_velocity|shoot_lever_encoder|SHTstatus|SHTValue|PWMmeasurement|startBackupSoftwareSwitch|velLocalRef_dxdydo|rs485ResultCh1|rs485ResultCh2|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_assign('init');||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;bus_is_in=@2;var_name01=&3;var_name02=&4;var_name03=&5;var_name04=&6;var_name05=&7;var_name06=&8;var_name07=&9;var_name08=&10;var_name09=&11;var_name10=&12;var_name11=&13;var_name12=&14;var_name13=&15;var_name14=&16;var_name15=&17;var_name16=&18;var_name17=&19;var_name18=&20;var_name19=&21;var_name20=&22;var_name21=&23;var_name22=&24;var_name23=&25;var_name24=&26;var_name25=&27;var_name26=&28;var_name27=&29;var_name28=&30;var_name29=&31;var_name30=&32;var_name31=&33;var_name32=&34;var_name33=&35;var_name34=&36;var_name35=&37;var_name36=&38;var_name37=&39;var_name38=&40;var_name39=&41;var_name40=&42;var_name41=&43;var_name42=&44;var_name43=&45;var_name44=&46;var_name45=&47;var_name46=&48;var_name47=&49;var_name48=&50;var_name49=&51;var_name50=&52;var_name51=&53;var_name52=&54;var_name53=&55;var_name54=&56;var_name55=&57;var_name56=&58;var_name57=&59;var_name58=&60;var_name59=&61;var_name60=&62;var_name61=&63;var_name62=&64;var_name63=&65;var_name64=&66;var_name65=&67;var_name66=&68;var_name67=&69;var_name68=&70;var_name69=&71;var_name70=&72;var_name71=&73;var_name72=&74;var_name73=&75;var_name74=&76;var_name75=&77;var_name76=&78;var_name77=&79;var_name78=&80;var_name79=&81;var_name80=&82;var_name81=&83;var_name82=&84;var_name83=&85;var_name84=&86;var_name85=&87;var_name86=&88;var_name87=&89;var_name88=&90;var_name89=&91;var_name90=&92;var_name91=&93;var_name92=&94;var_name93=&95;var_name94=&96;var_name95=&97;var_name96=&98;var_name97=&99;var_name98=&100;var_name99=&101;var_name100=&102;selected_bus=&103;var_ids=&104;checked_var_ids=&105;" MaskInitialization "mask_sf_bus_assign('init');\n" MaskDisplay "port_label('input',1,'robot_active');\nport_label('input',2,'position_local_xyo[3]');\nport_label('input',3,'tacho_left');\nport_label('input',4,'tacho_right');\nport_label('input',5,'arm_left');\nport_label('input',6,'arm_right');\nport_label('input',7,'battery_voltage');\nport_label('input',8,'motor_temperatures[3]');\nport_label('input',9,'panic_and_reset_switches[2]');\nport_label('input',10,'startBackupSoftwareSwitch');\nport_label('input',11,'shoot_lever_encoder');\nport_label('input',12,'SHTstatus');\nport_label('input',13,'SHTValue');\nport_label('input',14,'PWMmeasurement');\nport_label('input',15,'rs485ResultCh1[24]');\nport_label('input',16,'rs485ResultCh2[24]');\nport_label('output',1,'motionbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "motionbus|off|off|on|on|on|on|on|on|on|on|on|off|on|on|on|on|on|off|on|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|motionbus|2,3,4,5,6,7,8,9,11,13,14,15,16,17,18,20,22,23,24,|3,4,5,6,7,8,9,11,13,20,15,16,17,18,23,24," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType "S-Function" Name "Bus decoder" Ports [1, 1] Position [180, 140, 325, 170] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |turtleID|teamColor|blueIsHome|roleIDs|refboxRoleIDs|refboxTask|refboxTaskTrigger|destination_xyo|roleAssignerMode|penaltyDemoMode|notBallHandlingDemo|joystick_v_xyo|joystickSkillID|joystickKickEffort|joystickOnOff|dssssssf|e4ffsd|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'ballHandlingLeft');\nport_label('output',2,'ballHandlingRight');\nport_label('output',3,'shootLeverAngleMotor');\nport_label('output',4,'powerOnOff');\nport_label('output',5,'amplifiersOnOff');\nport_label('output',6,'LEDResetPanicSwitchButton');\nport_label('output',7,'LEDBlue');\nport_label('output',8,'LEDAmber');\nport_label('output',9,'keeperFrame_ulr[3]');\nport_label('output',10,'SHTControl');\nport_label('output',11,'SHTDutyCycle');\nport_label('output',12,'clampBall');\nport_label('output',13,'rs485ControlCh1[23]');\nport_label('output',14,'rs485ControlCh2[23]');\nport_label('input',1,'controlbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "controlbus|off|on|on|off|off|on|on|on|on|on|on|on|on|on|on|off|off|off|off|on|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|controlbus|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,|6,7,8,2,3,9,10,11,12,13,14,15,20,22," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [1125, 518, 1200, 552] OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux3" Ports [1, 3] Position [585, 485, 595, 605] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Gain Name "Gain2" Position [1045, 550, 1075, 580] Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType HitCross Name "Hit \nCrossing" Ports [1, 1] Position [1155, 165, 1185, 195] ShowName off HitCrossingOffset "0.5" HitCrossingDirection "falling" } Block { BlockType SubSystem Name "Low Level Control" Ports [3, 2] Position [470, 53, 630, 177] BackgroundColor "gray" AttributesFormatString "%" BlockChoice "Turtle" TemplateBlock "low_level_control_lib/Low Level Control" MemberBlocks "Keeper,Turtle" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Low Level Control" Location [148, 182, 646, 482] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "enc" Position [20, 40, 40, 60] IconDisplay "Port number" } Block { BlockType Inport Name "poslocal_ref" Position [20, 80, 40, 100] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "noBallHandlingDemo" Position [20, 120, 40, 140] Port "3" IconDisplay "Port number" } Block { BlockType Reference Name "Turtle" Ports [3, 2] Position [100, 40, 140, 80] BackgroundColor "gray" SourceBlock "low_level_control_lib/Turtle" SourceType "SubSystem" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" } Block { BlockType Outport Name "xyo_l" Position [200, 40, 220, 60] IconDisplay "Port number" } Block { BlockType Outport Name "dacs" Position [200, 80, 220, 100] Port "2" IconDisplay "Port number" } Line { SrcBlock "enc" SrcPort 1 DstBlock "Turtle" DstPort 1 } Line { SrcBlock "poslocal_ref" SrcPort 1 DstBlock "Turtle" DstPort 2 } Line { SrcBlock "noBallHandlingDemo" SrcPort 1 DstBlock "Turtle" DstPort 3 } Line { SrcBlock "Turtle" SrcPort 1 DstBlock "xyo_l" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 2 DstBlock "dacs" DstPort 1 } } } Block { BlockType Memory Name "Memory2" Position [560, 675, 590, 705] ShowName off InheritSampleTime on } Block { BlockType Memory Name "Memory3" Position [560, 710, 590, 740] ShowName off InheritSampleTime on } Block { BlockType Mux Name "Mux3" Ports [2, 1] Position [910, 458, 915, 522] NamePlacement "alternate" ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux4" Ports [3, 1] Position [945, 369, 950, 461] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType SubSystem Name "Play audio" Ports [1] Position [1345, 159, 1400, 201] BackgroundColor "orange" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskPromptString "audio file name" MaskStyleString "edit" MaskTunableValueString "on" MaskEnableString "on" MaskVisibilityString "on" MaskToolTipString "on" MaskVariables "audio_file_name=@1;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "'/home/robocup/svn/trunk/src/Turtle2/Libs/sound/arnie.wav'" System { Name "Play audio" Location [5, 77, 1437, 879] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "audio trigger" Position [25, 58, 55, 72] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "S-Function" Ports [1, 1] Position [80, 27, 170, 103] BackgroundColor "orange" FunctionName "sf_play_audio" Parameters "audio_file_name" } Block { BlockType Terminator Name "Terminator" Position [200, 55, 220, 75] } Line { SrcBlock "S-Function" SrcPort 1 Points [0, 0] DstBlock "Terminator" DstPort 1 } Line { SrcBlock "audio trigger" SrcPort 1 Points [0, 0] DstBlock "S-Function" DstPort 1 } } } Block { BlockType Product Name "Product" Ports [2, 1] Position [610, 602, 640, 633] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [610, 637, 640, 668] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType "S-Function" Name "S-Function" Ports [1, 1] Position [985, 404, 1090, 436] ShowName off FunctionName "convert_temperature" } Block { BlockType SubSystem Name "Subsystem" Ports [17, 19] Position [675, 133, 850, 757] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem" Location [291, 77, 1564, 994] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "dacs" Position [95, 133, 125, 147] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball left" Position [365, 258, 395, 272] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball right" Position [365, 308, 395, 322] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "kick motor" Position [365, 358, 395, 372] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "power on/off" Position [365, 408, 395, 422] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "amplifiers on/off" Position [365, 458, 395, 472] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "LED (reset motion)" Position [365, 508, 395, 522] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "LED (blue)" Position [365, 608, 395, 622] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "LED (amber)" Position [365, 658, 395, 672] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Keeper up" Position [365, 808, 395, 822] Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Keeper left" Position [365, 758, 395, 772] Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Keeper right" Position [365, 708, 395, 722] Port "12" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "SHTcontrol" Position [365, 858, 395, 872] Port "13" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "SHTdutycycle" Position [365, 908, 395, 922] Port "14" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "clamp ball" Position [365, 1008, 395, 1022] Port "15" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "rs485ToDxlCh1" Position [230, 933, 260, 947] Port "16" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "rs485ToDxlCh2" Position [230, 978, 260, 992] Port "17" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant" Position [930, 522, 945, 538] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [930, 542, 945, 558] ShowName off OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [915, 712, 955, 728] NamePlacement "alternate" ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion2" Position [915, 757, 955, 773] NamePlacement "alternate" ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "Data aquisition" Ports [20, 21] Position [525, 47, 860, 1033] BackgroundColor "gray" AttributesFormatString "%" BlockChoice "Turtle" TemplateBlock "data_aquisition_lib/Data aquisition" MemberBlocks "Keeper,Simulator,Turtle" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Data aquisition" Location [148, 182, 646, 482] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "DAC Drive Motor 1" Position [20, 40, 40, 60] IconDisplay "Port number" } Block { BlockType Inport Name "DAC Drive Motor 2" Position [20, 80, 40, 100] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "DAC Drive Motor 3" Position [20, 120, 40, 140] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "DAC Drive Motor 4" Position [20, 160, 40, 180] Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "DAC Ball Motor 1 (left)" Position [20, 200, 40, 220] Port "5" IconDisplay "Port number" } Block { BlockType Inport Name "DAC Ball Motor 2 (right)" Position [20, 240, 40, 260] Port "6" IconDisplay "Port number" } Block { BlockType Inport Name "DAC Kick Motor" Position [20, 280, 40, 300] Port "7" IconDisplay "Port number" } Block { BlockType Inport Name "Power on/off" Position [20, 320, 40, 340] Port "8" IconDisplay "Port number" } Block { BlockType Inport Name "Amplifiers on/off" Position [20, 360, 40, 380] Port "9" IconDisplay "Port number" } Block { BlockType Inport Name "LED panic switch" Position [20, 400, 40, 420] Port "10" IconDisplay "Port number" } Block { BlockType Inport Name "LED Spare switch" Position [20, 440, 40, 460] Port "11" IconDisplay "Port number" } Block { BlockType Inport Name "LED blue" Position [20, 480, 40, 500] Port "12" IconDisplay "Port number" } Block { BlockType Inport Name "LED amber" Position [20, 520, 40, 540] Port "13" IconDisplay "Port number" } Block { BlockType Inport Name "Keeper right" Position [20, 560, 40, 580] Port "14" IconDisplay "Port number" } Block { BlockType Inport Name "Keeper left" Position [20, 600, 40, 620] Port "15" IconDisplay "Port number" } Block { BlockType Inport Name "Keeper up" Position [20, 640, 40, 660] Port "16" IconDisplay "Port number" } Block { BlockType Inport Name "SHTcontrol" Position [20, 680, 40, 700] Port "17" IconDisplay "Port number" } Block { BlockType Inport Name "SHTdutycycle" Position [20, 720, 40, 740] Port "18" IconDisplay "Port number" } Block { BlockType Inport Name "RS485out" Position [20, 760, 40, 780] Port "19" IconDisplay "Port number" } Block { BlockType Inport Name "Block ball" Position [20, 800, 40, 820] Port "20" IconDisplay "Port number" } Block { BlockType Reference Name "Turtle" Ports [20, 21] Position [100, 19, 140, 121] BackgroundColor "gray" FontSize 14 SourceBlock "data_aquisition_lib/Turtle" SourceType "SubSystem" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" } Block { BlockType Outport Name "ENC Drive Motor 1" Position [200, 40, 220, 60] IconDisplay "Port number" } Block { BlockType Outport Name "ENC Drive Motor 2" Position [200, 80, 220, 100] Port "2" IconDisplay "Port number" } Block { BlockType Outport Name "ENC Drive Motor 3" Position [200, 120, 220, 140] Port "3" IconDisplay "Port number" } Block { BlockType Outport Name "ENC Drive Motor 4" Position [200, 160, 220, 180] Port "4" IconDisplay "Port number" } Block { BlockType Outport Name "ENC Kick Motor" Position [200, 200, 220, 220] Port "5" IconDisplay "Port number" } Block { BlockType Outport Name "Arm 1 (left)" Position [200, 240, 220, 260] Port "6" IconDisplay "Port number" } Block { BlockType Outport Name "Arm 2 (right)" Position [200, 280, 220, 300] Port "7" IconDisplay "Port number" } Block { BlockType Outport Name "Wireless panic switch" Position [200, 320, 220, 340] Port "8" IconDisplay "Port number" } Block { BlockType Outport Name "Reset panic switch" Position [200, 360, 220, 380] Port "9" IconDisplay "Port number" } Block { BlockType Outport Name "Start backup software switch" Position [200, 840, 220, 860] Port "10" IconDisplay "Port number" } Block { BlockType Outport Name "In/Out field" Position [200, 400, 220, 420] Port "11" IconDisplay "Port number" } Block { BlockType Outport Name "tacho0" Position [200, 440, 220, 460] Port "12" IconDisplay "Port number" } Block { BlockType Outport Name "tacho1" Position [200, 480, 220, 500] Port "13" IconDisplay "Port number" } Block { BlockType Outport Name "battery" Position [200, 520, 220, 540] Port "14" IconDisplay "Port number" } Block { BlockType Outport Name "SHTstatus" Position [200, 600, 220, 620] Port "15" IconDisplay "Port number" } Block { BlockType Outport Name "SHTvalue" Position [200, 640, 220, 660] Port "16" IconDisplay "Port number" } Block { BlockType Outport Name "Tmotor1" Position [200, 680, 220, 700] Port "17" IconDisplay "Port number" } Block { BlockType Outport Name "Tmotor2" Position [200, 720, 220, 740] Port "18" IconDisplay "Port number" } Block { BlockType Outport Name "Tmotor3" Position [200, 760, 220, 780] Port "19" IconDisplay "Port number" } Block { BlockType Outport Name "AD8" Position [200, 800, 220, 820] Port "20" IconDisplay "Port number" } Block { BlockType Outport Name "RS485in" Position [200, 840, 220, 860] Port "21" IconDisplay "Port number" } Line { SrcBlock "DAC Drive Motor 1" SrcPort 1 DstBlock "Turtle" DstPort 1 } Line { SrcBlock "DAC Drive Motor 2" SrcPort 1 DstBlock "Turtle" DstPort 2 } Line { SrcBlock "DAC Drive Motor 3" SrcPort 1 DstBlock "Turtle" DstPort 3 } Line { SrcBlock "DAC Drive Motor 4" SrcPort 1 DstBlock "Turtle" DstPort 4 } Line { SrcBlock "DAC Ball Motor 1 (left)" SrcPort 1 DstBlock "Turtle" DstPort 5 } Line { SrcBlock "DAC Ball Motor 2 (right)" SrcPort 1 DstBlock "Turtle" DstPort 6 } Line { SrcBlock "DAC Kick Motor" SrcPort 1 DstBlock "Turtle" DstPort 7 } Line { SrcBlock "Power on/off" SrcPort 1 DstBlock "Turtle" DstPort 8 } Line { SrcBlock "Amplifiers on/off" SrcPort 1 DstBlock "Turtle" DstPort 9 } Line { SrcBlock "LED panic switch" SrcPort 1 DstBlock "Turtle" DstPort 10 } Line { SrcBlock "LED Spare switch" SrcPort 1 DstBlock "Turtle" DstPort 11 } Line { SrcBlock "LED blue" SrcPort 1 DstBlock "Turtle" DstPort 12 } Line { SrcBlock "LED amber" SrcPort 1 DstBlock "Turtle" DstPort 13 } Line { SrcBlock "Keeper right" SrcPort 1 DstBlock "Turtle" DstPort 14 } Line { SrcBlock "Keeper left" SrcPort 1 DstBlock "Turtle" DstPort 15 } Line { SrcBlock "Keeper up" SrcPort 1 DstBlock "Turtle" DstPort 16 } Line { SrcBlock "SHTcontrol" SrcPort 1 DstBlock "Turtle" DstPort 17 } Line { SrcBlock "SHTdutycycle" SrcPort 1 DstBlock "Turtle" DstPort 18 } Line { SrcBlock "RS485out" SrcPort 1 DstBlock "Turtle" DstPort 19 } Line { SrcBlock "Block ball" SrcPort 1 DstBlock "Turtle" DstPort 20 } Line { SrcBlock "Turtle" SrcPort 1 DstBlock "ENC Drive Motor 1" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 2 DstBlock "ENC Drive Motor 2" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 3 DstBlock "ENC Drive Motor 3" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 4 DstBlock "ENC Drive Motor 4" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 5 DstBlock "ENC Kick Motor" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 6 DstBlock "Arm 1 (left)" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 7 DstBlock "Arm 2 (right)" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 8 DstBlock "Wireless panic switch" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 9 DstBlock "Reset panic switch" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 10 DstBlock "Start backup software switch" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 11 DstBlock "In/Out field" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 12 DstBlock "tacho0" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 13 DstBlock "tacho1" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 14 DstBlock "battery" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 15 DstBlock "SHTstatus" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 16 DstBlock "SHTvalue" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 17 DstBlock "Tmotor1" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 18 DstBlock "Tmotor2" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 19 DstBlock "Tmotor3" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 20 DstBlock "AD8" DstPort 1 } Line { SrcBlock "Turtle" SrcPort 21 DstBlock "RS485in" DstPort 1 } } } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [1085, 949, 1090, 1031] BackgroundColor "black" ShowName off Outputs "[24, 24]" DisplayOption "bar" } Block { BlockType Demux Name "Demux2" Ports [1, 4] Position [250, 39, 260, 241] BackgroundColor "black" ShowName off DisplayOption "bar" } Block { BlockType Constant Name "Feed\nTUe" Position [235, 555, 255, 575] OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain" Position [320, 50, 350, 80] ShowName off Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain1" Position [320, 100, 350, 130] ShowName off Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain2" Position [320, 150, 350, 180] ShowName off Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain3" Position [320, 200, 350, 230] ShowName off Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [310, 918, 315, 1007] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux7" Ports [4, 1] Position [985, 64, 995, 251] NamePlacement "alternate" ShowName off DisplayOption "bar" } Block { BlockType Switch Name "Switch" Position [980, 525, 1010, 555] Criteria "u2 > Threshold" Threshold ".5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "static gain sensor" Position [965, 660, 995, 690] Gain "3.2" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "encs" Position [1115, 153, 1145, 167] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "robot_active" Position [1055, 533, 1085, 547] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "tacho left" Position [1045, 578, 1075, 592] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "tacho right" Position [1045, 623, 1075, 637] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "arm left" Position [945, 308, 975, 322] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "arm right" Position [945, 353, 975, 367] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "battery" Position [1045, 668, 1075, 682] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "Tmotor1" Position [1035, 803, 1065, 817] Port "8" IconDisplay "Port number" } Block { BlockType Outport Name "Tmotor2" Position [1035, 848, 1065, 862] Port "9" IconDisplay "Port number" } Block { BlockType Outport Name "Tmotor3" Position [1035, 893, 1065, 907] Port "10" IconDisplay "Port number" } Block { BlockType Outport Name "switch (panic)" Position [945, 398, 975, 412] Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "switch (reset panic switch)" Position [945, 443, 975, 457] Port "12" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "switch (start backup software)" Position [945, 488, 975, 502] Port "13" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "enc kick" Position [940, 263, 970, 277] Port "14" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "SHTstatus" Position [1035, 713, 1065, 727] Port "15" IconDisplay "Port number" } Block { BlockType Outport Name "SHTvalue" Position [1035, 758, 1065, 772] Port "16" IconDisplay "Port number" } Block { BlockType Outport Name "AD8" Position [1035, 938, 1065, 952] Port "17" IconDisplay "Port number" } Block { BlockType Outport Name "rs485FromDxlCh1" Position [1125, 963, 1155, 977] Port "18" IconDisplay "Port number" } Block { BlockType Outport Name "rs485FromDxlCh2" Position [1130, 1003, 1160, 1017] Port "19" IconDisplay "Port number" } Line { SrcBlock "static gain sensor" SrcPort 1 DstBlock "battery" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Switch" DstPort 1 } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "Switch" DstPort 3 } Line { SrcBlock "Switch" SrcPort 1 DstBlock "robot_active" DstPort 1 } Line { SrcBlock "Data Type Conversion2" SrcPort 1 DstBlock "SHTvalue" DstPort 1 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 DstBlock "SHTstatus" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 2 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 3 DstBlock "Gain2" DstPort 1 } Line { SrcBlock "dacs" SrcPort 1 DstBlock "Demux2" DstPort 1 } Line { SrcBlock "Mux7" SrcPort 1 DstBlock "encs" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 4 DstBlock "Gain3" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Data aquisition" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 DstBlock "Data aquisition" DstPort 2 } Line { SrcBlock "Gain2" SrcPort 1 DstBlock "Data aquisition" DstPort 3 } Line { SrcBlock "Gain3" SrcPort 1 DstBlock "Data aquisition" DstPort 4 } Line { SrcBlock "ball left" SrcPort 1 DstBlock "Data aquisition" DstPort 5 } Line { SrcBlock "ball right" SrcPort 1 DstBlock "Data aquisition" DstPort 6 } Line { SrcBlock "kick motor" SrcPort 1 DstBlock "Data aquisition" DstPort 7 } Line { SrcBlock "power on/off" SrcPort 1 DstBlock "Data aquisition" DstPort 8 } Line { SrcBlock "amplifiers on/off" SrcPort 1 DstBlock "Data aquisition" DstPort 9 } Line { SrcBlock "LED (reset motion)" SrcPort 1 DstBlock "Data aquisition" DstPort 10 } Line { SrcBlock "Feed\nTUe" SrcPort 1 DstBlock "Data aquisition" DstPort 11 } Line { SrcBlock "LED (blue)" SrcPort 1 DstBlock "Data aquisition" DstPort 12 } Line { SrcBlock "LED (amber)" SrcPort 1 DstBlock "Data aquisition" DstPort 13 } Line { SrcBlock "Keeper right" SrcPort 1 DstBlock "Data aquisition" DstPort 14 } Line { SrcBlock "Keeper left" SrcPort 1 DstBlock "Data aquisition" DstPort 15 } Line { SrcBlock "Keeper up" SrcPort 1 DstBlock "Data aquisition" DstPort 16 } Line { SrcBlock "SHTcontrol" SrcPort 1 DstBlock "Data aquisition" DstPort 17 } Line { SrcBlock "SHTdutycycle" SrcPort 1 DstBlock "Data aquisition" DstPort 18 } Line { SrcBlock "Data aquisition" SrcPort 5 DstBlock "enc kick" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 1 DstBlock "Mux7" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 2 DstBlock "Mux7" DstPort 2 } Line { SrcBlock "Data aquisition" SrcPort 3 DstBlock "Mux7" DstPort 3 } Line { SrcBlock "Data aquisition" SrcPort 4 DstBlock "Mux7" DstPort 4 } Line { SrcBlock "Data aquisition" SrcPort 6 DstBlock "arm left" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 7 DstBlock "arm right" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 8 DstBlock "switch (panic)" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 9 DstBlock "switch (reset panic switch)" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "Data aquisition" DstPort 19 } Line { SrcBlock "clamp ball" SrcPort 1 DstBlock "Data aquisition" DstPort 20 } Line { SrcBlock "Data aquisition" SrcPort 11 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Data aquisition" SrcPort 12 DstBlock "tacho left" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 13 DstBlock "tacho right" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 14 DstBlock "static gain sensor" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 15 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 16 DstBlock "Data Type Conversion2" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 17 DstBlock "Tmotor1" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 18 DstBlock "Tmotor2" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 19 DstBlock "Tmotor3" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 20 DstBlock "AD8" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 21 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 10 DstBlock "switch (start backup software)" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "rs485FromDxlCh2" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "rs485FromDxlCh1" DstPort 1 } Line { SrcBlock "rs485ToDxlCh1" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "rs485ToDxlCh2" SrcPort 1 DstBlock "Mux" DstPort 2 } } } Block { BlockType Outport Name "posLocal_xyo" Position [1335, 78, 1365, 92] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "motionbus" Position [1495, 483, 1525, 497] BackgroundColor "darkGreen" Port "2" IconDisplay "Port number" } Line { SrcBlock "Demux3" SrcPort 3 Points [60, 0] DstBlock "Subsystem" DstPort 12 } Line { SrcBlock "Demux3" SrcPort 2 Points [60, 0] DstBlock "Subsystem" DstPort 11 } Line { SrcBlock "Demux3" SrcPort 1 Points [60, 0] DstBlock "Subsystem" DstPort 10 } Line { SrcBlock "Subsystem" SrcPort 3 Points [380, 0; 0, 90] DstBlock "Bus assigner" DstPort 3 } Line { SrcBlock "Subsystem" SrcPort 4 Points [360, 0; 0, 90] DstBlock "Bus assigner" DstPort 4 } Line { SrcBlock "Subsystem" SrcPort 5 Points [340, 0; 0, 90] DstBlock "Bus assigner" DstPort 5 } Line { SrcBlock "Subsystem" SrcPort 6 Points [320, 0; 0, 90] DstBlock "Bus assigner" DstPort 6 } Line { SrcBlock "Subsystem" SrcPort 2 Points [145, 0; 0, 10] Branch { Points [0, -35] DstBlock "Hit \nCrossing" DstPort 1 } Branch { Points [0, 50] DstBlock "Bus assigner" DstPort 1 } } Line { SrcBlock "Subsystem" SrcPort 11 DstBlock "Mux3" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 12 DstBlock "Mux3" DstPort 2 } Line { SrcBlock "Subsystem" SrcPort 8 DstBlock "Mux4" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 9 DstBlock "Mux4" DstPort 2 } Line { SrcBlock "Subsystem" SrcPort 10 DstBlock "Mux4" DstPort 3 } Line { SrcBlock "Mux4" SrcPort 1 Points [0, 5] DstBlock "S-Function" DstPort 1 } Line { SrcBlock "Product" SrcPort 1 Points [15, 0] DstBlock "Subsystem" DstPort 13 } Line { SrcBlock "Bus decoder1" SrcPort 10 Points [105, 0; 0, 65] DstBlock "Product" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 Points [15, 0] DstBlock "Subsystem" DstPort 14 } Line { SrcBlock "Bus decoder1" SrcPort 11 Points [85, 0; 0, 60] DstBlock "Product1" DstPort 1 } Line { SrcBlock "TRCbus" SrcPort 1 DstBlock "Bus decoder" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 7 Points [300, 0; 0, 90] DstBlock "Bus assigner" DstPort 7 } Line { SrcBlock "S-Function" SrcPort 1 Points [40, 0; 0, 55] DstBlock "Bus assigner" DstPort 8 } Line { SrcBlock "Hit \nCrossing" SrcPort 1 DstBlock "Play audio" DstPort 1 } Line { SrcBlock "Bus assigner" SrcPort 1 DstBlock "motionbus" DstPort 1 } Line { SrcBlock "Bus decoder" SrcPort 1 Points [50, 0] Branch { Points [0, 470; 170, 0] Branch { DstBlock "Product" DstPort 2 } Branch { Points [0, 35] DstBlock "Product1" DstPort 2 } } Branch { DstBlock "Low Level Control" DstPort 3 } } Line { SrcBlock "Mux3" SrcPort 1 Points [350, 0] DstBlock "Bus assigner" DstPort 9 } Line { SrcBlock "Low Level Control" SrcPort 1 Points [620, 0] Branch { DstBlock "posLocal_xyo" DstPort 1 } Branch { Points [0, 210] DstBlock "Bus assigner" DstPort 2 } } Line { SrcBlock "Low Level Control" SrcPort 2 Points [25, 0] DstBlock "Subsystem" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 1 Points [5, 0; 0, -130; -410, 0; 0, 30] DstBlock "Low Level Control" DstPort 1 } Line { SrcBlock "posLocalRef_xyo" SrcPort 1 DstBlock "Low Level Control" DstPort 2 } Line { SrcBlock "Bus decoder1" SrcPort 12 Points [35, 0; 0, 30] DstBlock "Subsystem" DstPort 15 } Line { SrcBlock "Subsystem" SrcPort 13 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 14 DstBlock "Gain2" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 15 DstBlock "Bus assigner" DstPort 12 } Line { SrcBlock "Subsystem" SrcPort 16 DstBlock "Bus assigner" DstPort 13 } Line { SrcBlock "Subsystem" SrcPort 17 DstBlock "Bus assigner" DstPort 14 } Line { SrcBlock "Data Type Conversion" SrcPort 1 DstBlock "Bus assigner" DstPort 10 } Line { SrcBlock "controlbus" SrcPort 1 DstBlock "Bus decoder1" DstPort 1 } Line { SrcBlock "Bus decoder1" SrcPort 1 Points [330, 0] DstBlock "Subsystem" DstPort 2 } Line { SrcBlock "Bus decoder1" SrcPort 2 Points [330, 0] DstBlock "Subsystem" DstPort 3 } Line { SrcBlock "Bus decoder1" SrcPort 3 Points [330, 0] DstBlock "Subsystem" DstPort 4 } Line { SrcBlock "Bus decoder1" SrcPort 4 DstBlock "Subsystem" DstPort 5 } Line { SrcBlock "Bus decoder1" SrcPort 5 Points [330, 0] DstBlock "Subsystem" DstPort 6 } Line { SrcBlock "Bus decoder1" SrcPort 6 Points [330, 0] DstBlock "Subsystem" DstPort 7 } Line { SrcBlock "Bus decoder1" SrcPort 7 Points [330, 0] DstBlock "Subsystem" DstPort 8 } Line { SrcBlock "Bus decoder1" SrcPort 8 Points [330, 0] DstBlock "Subsystem" DstPort 9 } Line { SrcBlock "Bus decoder1" SrcPort 9 Points [215, 0; 0, 40] DstBlock "Demux3" DstPort 1 } Line { SrcBlock "Gain2" SrcPort 1 DstBlock "Bus assigner" DstPort 11 } Line { SrcBlock "Subsystem" SrcPort 18 DstBlock "Bus assigner" DstPort 15 } Line { SrcBlock "Bus decoder1" SrcPort 13 Points [15, 0; 0, 25] DstBlock "Memory2" DstPort 1 } Line { SrcBlock "Bus decoder1" SrcPort 14 Points [20, 0; 0, 20] DstBlock "Memory3" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 19 DstBlock "Bus assigner" DstPort 16 } Line { SrcBlock "Memory3" SrcPort 1 DstBlock "Subsystem" DstPort 17 } Line { SrcBlock "Memory2" SrcPort 1 DstBlock "Subsystem" DstPort 16 } } } Block { BlockType SubSystem Name "posGlobalRef_xyo 2\nvelLocalRef_dxdydo" Ports [5, 2] Position [210, 96, 365, 244] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "posGlobalRef_xyo 2\nvelLocalRef_dxdydo" Location [5, 184, 1447, 646] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "posLocal_xyo" Position [70, 343, 100, 357] IconDisplay "Port number" } Block { BlockType Inport Name "posGlobal_xyo" Position [70, 268, 100, 282] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "Motion_tuning_bus" Position [815, 278, 845, 292] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "controlbus" Position [70, 98, 100, 112] BackgroundColor "gray" Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "TRCbus" Position [985, 278, 1015, 292] BackgroundColor "lightBlue" Port "5" IconDisplay "Port number" } Block { BlockType "S-Function" Name "Bus decoder" Ports [1, 3] Position [135, 51, 285, 159] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |controlEnable|powerOnOff|amplifiersOnOff|posGlobalRef_xyo|velLocalRefManual_xyo_dot|ballHandlingLeft|ballHandlingRight|shootLeverAngleMotor|LEDResetPanicSwitchButton|LEDBlue|LEDAmber|keeperFrame_ulr|SHTControl|SHTDutyCycle|clampBall|va_max|CPBrobot|emergencyStatus|shootLeverState|rs485ControlCh1|rs485ControlCh2|shotFinished|0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'SF_a_max_y_keeper');\nport_label('output',2,'SF_v_max_y_keeper');\nport_label('input',1,'tunable_pardata_motion_bus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "tunable_pardata_motion_bus|off|off|off|off|off|off|off|off|off|off|off|off|off|off|on|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|tunable_pardata_motion_bus|5,6,7,8,9,10,11,12,13,14,15,16,39,40,41,42,43,44,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,45,46,47,48,49,50,51,52,53,54,55,|43,41," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType "S-Function" Name "Bus decoder1" Ports [1, 1] Position [505, 244, 625, 276] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |turtleID|teamColor|blueIsHome|roleIDs|refboxRoleIDs|refboxTask|refboxTaskTrigger|destination_xyo|roleAssignerMode|penaltyDemoMode|notBallHandlingDemo|joystick_v_xyo|joystickSkillID|joystickKickEffort|joystickOnOff|dssssssf|e4ffsd|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'joystickOnOff');\nport_label('input',1,'TRCbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "TRCbus|off|off|off|off|off|off|off|off|off|off|off|off|off|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|TRCbus|1,2,3,4,5,6,7,8,9,10,11,14,15,16,17,|17," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType Switch Name "switch between\nautonomous and\nmanual control" Position [295, 57, 325, 143] Threshold "1" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Outport Name "velLR_xyo" Position [350, 93, 380, 107] IconDisplay "Port number" } Line { SrcBlock "velLRmanual_xyo" SrcPort 1 DstBlock "switch between\nautonomous and\nmanual control" DstPort 1 } Line { SrcBlock "switch between\nautonomous and\nmanual control" SrcPort 1 DstBlock "velLR_xyo" DstPort 1 } Line { SrcBlock "velLR_xyo " SrcPort 1 DstBlock "switch between\nautonomous and\nmanual control" DstPort 3 } Line { SrcBlock "TRCbus" SrcPort 1 DstBlock "Bus decoder" DstPort 1 } Line { SrcBlock "Bus decoder" SrcPort 1 DstBlock "switch between\nautonomous and\nmanual control" DstPort 2 } } } Block { BlockType SubSystem Name "pos2vel" Ports [1, 1] Position [520, 120, 625, 310] BackgroundColor "yellow" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "pos2vel" Location [459, 132, 1050, 645] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "posGR_xyo" Position [150, 198, 180, 212] IconDisplay "Port number" } Block { BlockType Demux Name "Demux2" Ports [1, 3] Position [220, 68, 225, 342] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Mux Name "Mux1" Ports [3, 1] Position [365, 66, 370, 344] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType SubSystem Name "differentiator2" Ports [1, 1] Position [250, 99, 335, 131] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "differentiator2" Location [5, 77, 1398, 1020] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "x_g_ref" Position [355, 293, 385, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain7" Position [505, 285, 535, 315] ShowName off Gain "1/Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [460, 290, 480, 310] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [420, 323, 455, 357] SampleTime "-1" } Block { BlockType Outport Name "x_g_refdot" Position [820, 293, 850, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Gain7" SrcPort 1 DstBlock "x_g_refdot" DstPort 1 } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [10, 0] DstBlock "Sum5" DstPort 2 } Line { SrcBlock "x_g_ref" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Unit Delay1" DstPort 1 } Branch { DstBlock "Sum5" DstPort 1 } } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Gain7" DstPort 1 } } } Block { BlockType SubSystem Name "differentiator3" Ports [1, 1] Position [250, 189, 335, 221] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "differentiator3" Location [5, 77, 1398, 994] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "y_g_ref" Position [355, 293, 385, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain7" Position [505, 285, 535, 315] ShowName off Gain "1/Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [460, 290, 480, 310] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [420, 323, 455, 357] SampleTime "-1" } Block { BlockType Outport Name "y_g_refdot" Position [820, 293, 850, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Gain7" DstPort 1 } Line { SrcBlock "y_g_ref" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Sum5" DstPort 1 } Branch { DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [10, 0] DstBlock "Sum5" DstPort 2 } Line { SrcBlock "Gain7" SrcPort 1 DstBlock "y_g_refdot" DstPort 1 } } } Block { BlockType SubSystem Name "differentiator4" Ports [1, 1] Position [250, 280, 335, 310] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "differentiator4" Location [4, 54, 1397, 999] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "phi_ref" Position [355, 293, 385, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain7" Position [505, 285, 535, 315] ShowName off Gain "1/Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [460, 290, 480, 310] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [420, 323, 455, 357] SampleTime "-1" } Block { BlockType Outport Name "phi_refdot" Position [820, 293, 850, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Gain7" DstPort 1 } Line { SrcBlock "phi_ref" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Sum5" DstPort 1 } Branch { DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [10, 0] DstBlock "Sum5" DstPort 2 } Line { SrcBlock "Gain7" SrcPort 1 DstBlock "phi_refdot" DstPort 1 } } } Block { BlockType Outport Name "velGR_xyo" Position [410, 198, 440, 212] IconDisplay "Port number" } Line { SrcBlock "posGR_xyo" SrcPort 1 DstBlock "Demux2" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 1 DstBlock "differentiator2" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 2 DstBlock "differentiator3" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 3 DstBlock "differentiator4" DstPort 1 } Line { SrcBlock "differentiator2" SrcPort 1 DstBlock "Mux1" DstPort 1 } Line { SrcBlock "differentiator3" SrcPort 1 DstBlock "Mux1" DstPort 2 } Line { SrcBlock "differentiator4" SrcPort 1 DstBlock "Mux1" DstPort 3 } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "velGR_xyo" DstPort 1 } } } Block { BlockType SubSystem Name "vel2pos" Ports [3, 1] Position [1175, 125, 1280, 315] BackgroundColor "yellow" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "vel2pos" Location [462, 475, 1498, 1020] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "controlEnable" Position [435, 230, 465, 245] Orientation "up" IconDisplay "Port number" } Block { BlockType Inport Name "velLR_xyo" Position [340, 108, 370, 122] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "posLocal_xyo" Position [435, 258, 465, 272] Port "3" IconDisplay "Port number" } Block { BlockType Demux Name "Demux3" Ports [1, 3] Position [483, 190, 537, 195] Orientation "up" BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Demux Name "Demux4" Ports [1, 3] Position [405, 36, 410, 194] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Mux Name "Mux2" Ports [3, 1] Position [700, 29, 705, 181] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType SubSystem Name "Subsystem1" Ports [3, 1] Position [545, 88, 655, 122] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem1" Location [5, 77, 1675, 1020] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "y_l_previous" Position [385, 288, 415, 302] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control enable" Position [390, 253, 420, 267] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_l_refdot" Position [195, 233, 225, 247] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain4" Position [280, 225, 310, 255] ShowName off Gain "Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [325, 230, 345, 250] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch" Position [455, 226, 480, 294] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [370, 358, 405, 392] Orientation "left" SampleTime "-1" } Block { BlockType Outport Name "y_l_ref" Position [580, 253, 610, 267] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "y_l_previous" SrcPort 1 Points [20, 0] DstBlock "Switch" DstPort 3 } Line { SrcBlock "Switch" SrcPort 1 Points [40, 0] Branch { Points [0, 115] DstBlock "Unit Delay1" DstPort 1 } Branch { DstBlock "y_l_ref" DstPort 1 } } Line { SrcBlock "Sum4" SrcPort 1 DstBlock "Switch" DstPort 1 } Line { SrcBlock "control enable" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Gain4" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [-30, 0] DstBlock "Sum4" DstPort 2 } Line { SrcBlock "y_l_refdot" SrcPort 1 DstBlock "Gain4" DstPort 1 } } } Block { BlockType SubSystem Name "Subsystem7" Ports [3, 1] Position [545, 37, 655, 73] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem7" Location [5, 77, 1019, 738] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "x_l_previous" Position [385, 288, 415, 302] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control enable" Position [385, 253, 415, 267] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "x_l_refdot" Position [195, 233, 225, 247] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain4" Position [280, 225, 310, 255] ShowName off Gain "Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [325, 230, 345, 250] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch" Position [455, 226, 480, 294] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [370, 358, 405, 392] Orientation "left" SampleTime "-1" } Block { BlockType Outport Name "x_l_ref" Position [580, 253, 610, 267] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "x_l_refdot" SrcPort 1 DstBlock "Gain4" DstPort 1 } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [-30, 0] DstBlock "Sum4" DstPort 2 } Line { SrcBlock "Gain4" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "control enable" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Sum4" SrcPort 1 DstBlock "Switch" DstPort 1 } Line { SrcBlock "Switch" SrcPort 1 Points [40, 0] Branch { DstBlock "x_l_ref" DstPort 1 } Branch { Points [0, 115] DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "x_l_previous" SrcPort 1 Points [20, 0] DstBlock "Switch" DstPort 3 } } } Block { BlockType SubSystem Name "Subsystem8" Ports [3, 1] Position [545, 136, 655, 174] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem8" Location [0, 49, 1680, 1003] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "phi_l_previous" Position [385, 288, 415, 302] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control enable" Position [390, 253, 420, 267] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "phi_l_refdot" Position [195, 233, 225, 247] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain4" Position [280, 225, 310, 255] ShowName off Gain "Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [325, 230, 345, 250] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch" Position [455, 226, 480, 294] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [370, 358, 405, 392] Orientation "left" SampleTime "-1" } Block { BlockType Outport Name "phi_l_ref" Position [580, 253, 610, 267] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "phi_l_refdot" SrcPort 1 DstBlock "Gain4" DstPort 1 } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [-30, 0] DstBlock "Sum4" DstPort 2 } Line { SrcBlock "Gain4" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "control enable" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Sum4" SrcPort 1 DstBlock "Switch" DstPort 1 } Line { SrcBlock "Switch" SrcPort 1 Points [40, 0] Branch { DstBlock "phi_l_ref" DstPort 1 } Branch { Points [0, 115] DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "phi_l_previous" SrcPort 1 Points [20, 0] DstBlock "Switch" DstPort 3 } } } Block { BlockType Outport Name "posLR_xyo" Position [730, 98, 760, 112] IconDisplay "Port number" } Line { SrcBlock "controlEnable" SrcPort 1 Points [0, -70] Branch { Points [0, -50] Branch { Points [0, -50] DstBlock "Subsystem7" DstPort 2 } Branch { DstBlock "Subsystem1" DstPort 2 } } Branch { DstBlock "Subsystem8" DstPort 2 } } Line { SrcBlock "posLocal_xyo" SrcPort 1 Points [40, 0] DstBlock "Demux3" DstPort 1 } Line { SrcBlock "Demux3" SrcPort 2 Points [0, -90] DstBlock "Subsystem1" DstPort 1 } Line { SrcBlock "Demux3" SrcPort 3 DstBlock "Subsystem8" DstPort 1 } Line { SrcBlock "Subsystem7" SrcPort 1 DstBlock "Mux2" DstPort 1 } Line { SrcBlock "Subsystem1" SrcPort 1 DstBlock "Mux2" DstPort 2 } Line { SrcBlock "Subsystem8" SrcPort 1 DstBlock "Mux2" DstPort 3 } Line { SrcBlock "Demux4" SrcPort 1 DstBlock "Subsystem7" DstPort 3 } Line { SrcBlock "Demux4" SrcPort 2 DstBlock "Subsystem1" DstPort 3 } Line { SrcBlock "Demux4" SrcPort 3 DstBlock "Subsystem8" DstPort 3 } Line { SrcBlock "Demux3" SrcPort 1 Points [0, -140] DstBlock "Subsystem7" DstPort 1 } Line { SrcBlock "velLR_xyo" SrcPort 1 DstBlock "Demux4" DstPort 1 } Line { SrcBlock "Mux2" SrcPort 1 DstBlock "posLR_xyo" DstPort 1 } } } Block { BlockType Outport Name "velLocalRef_xyodot" Position [1330, 73, 1360, 87] IconDisplay "Port number" } Block { BlockType Outport Name "posLocalRef_xyo" Position [1330, 213, 1360, 227] Port "2" IconDisplay "Port number" } Line { SrcBlock "controlbus" SrcPort 1 DstBlock "Bus decoder" DstPort 1 } Line { SrcBlock "vel2pos" SrcPort 1 DstBlock "posLocalRef_xyo" DstPort 1 } Line { SrcBlock "manual or\nautonomous" SrcPort 1 Points [10, 0] Branch { Points [0, -140] DstBlock "velLocalRef_xyodot" DstPort 1 } Branch { Labels [0, 0] DstBlock "vel2pos" DstPort 2 } } Line { SrcBlock "TRCbus" SrcPort 1 DstBlock "manual or\nautonomous" DstPort 3 } Line { SrcBlock "drift control" SrcPort 1 DstBlock "pos2vel" DstPort 1 } Line { SrcBlock "pos2vel" SrcPort 1 Points [15, 0; 0, -45] DstBlock "global to local" DstPort 1 } Line { SrcBlock "posGlobal_xyo" SrcPort 1 DstBlock "drift control" DstPort 3 } Line { Labels [0, 0] SrcBlock "posLocal_xyo" SrcPort 1 Points [540, 0] Branch { Points [515, 0] DstBlock "vel2pos" DstPort 3 } Branch { Points [0, -85] DstBlock "global to local" DstPort 2 } } Line { SrcBlock "Bus decoder" SrcPort 3 Points [30, 0; 0, 75] DstBlock "drift control" DstPort 2 } Line { SrcBlock "Bus decoder" SrcPort 2 Points [45, 0] Branch { Points [0, 50] DstBlock "drift control" DstPort 1 } Branch { Points [825, 0] DstBlock "vel2pos" DstPort 1 } } Line { SrcBlock "Bus decoder" SrcPort 1 Points [735, 0] DstBlock "manual or\nautonomous" DstPort 1 } Line { SrcBlock "limit vel/acc\ngoalkeeper" SrcPort 1 DstBlock "manual or\nautonomous" DstPort 2 } Line { SrcBlock "global to local" SrcPort 1 DstBlock "limit vel/acc\ngoalkeeper" DstPort 2 } Line { SrcBlock "Motion_tuning_bus" SrcPort 1 DstBlock "limit vel/acc\ngoalkeeper" DstPort 3 } Line { SrcBlock "TRCbus1" SrcPort 1 DstBlock "limit vel/acc\ngoalkeeper" DstPort 1 } } } Block { BlockType SubSystem Name "posLocal_xyo 2\nposGlobal_xyo" Ports [1, 1] Position [585, 156, 720, 204] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "posLocal_xyo 2\nposGlobal_xyo" Location [761, 586, 1476, 930] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "posLocal_xyo" Position [130, 143, 160, 157] IconDisplay "Port number" } Block { BlockType Demux Name "Demux" Ports [1, 3] Position [185, 85, 190, 215] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Mux Name "Mux1" Ports [3, 1] Position [610, 83, 615, 217] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType SubSystem Name "Subsystem4" Ports [1, 1] Position [500, 88, 575, 122] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem4" Location [983, 557, 1263, 662] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "x_g_dot" Position [25, 38, 55, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain4" Position [80, 30, 110, 60] ShowName off Gain "Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [125, 35, 145, 55] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [150, 63, 185, 97] Orientation "left" SampleTime "-1" } Block { BlockType Outport Name "x_g" Position [225, 38, 255, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "x_g_dot" SrcPort 1 Points [0, 0] DstBlock "Gain4" DstPort 1 } Line { SrcBlock "Gain4" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Sum4" SrcPort 1 Points [55, 0] Branch { DstBlock "x_g" DstPort 1 } Branch { Points [0, 35] DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [-10, 0] DstBlock "Sum4" DstPort 2 } } } Block { BlockType SubSystem Name "Subsystem6" Ports [1, 1] Position [500, 133, 575, 167] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem6" Location [983, 557, 1263, 662] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "y_g_dot" Position [25, 38, 55, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain4" Position [80, 30, 110, 60] ShowName off Gain "Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [125, 35, 145, 55] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [155, 63, 190, 97] Orientation "left" SampleTime "-1" } Block { BlockType Outport Name "y_g" Position [225, 38, 255, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Sum4" SrcPort 1 Points [55, 0] Branch { DstBlock "y_g" DstPort 1 } Branch { DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "Gain4" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "y_g_dot" SrcPort 1 Points [0, 0] DstBlock "Gain4" DstPort 1 } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [-15, 0] DstBlock "Sum4" DstPort 2 } } } Block { BlockType SubSystem Name "differentiator" Ports [1, 1] Position [220, 88, 290, 122] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "differentiator" Location [5, 77, 1398, 994] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "x_l" Position [355, 293, 385, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain7" Position [505, 285, 535, 315] ShowName off Gain "1/Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [460, 290, 480, 310] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [420, 323, 455, 357] SampleTime "-1" } Block { BlockType Outport Name "x_l_dot" Position [820, 293, 850, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Gain7" DstPort 1 } Line { SrcBlock "x_l" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Sum5" DstPort 1 } Branch { DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [10, 0] DstBlock "Sum5" DstPort 2 } Line { SrcBlock "Gain7" SrcPort 1 DstBlock "x_l_dot" DstPort 1 } } } Block { BlockType SubSystem Name "differentiator1" Ports [1, 1] Position [220, 133, 290, 167] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "differentiator1" Location [5, 77, 1275, 770] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "y_l" Position [355, 293, 385, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain7" Position [505, 285, 535, 315] ShowName off Gain "1/Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [460, 290, 480, 310] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [420, 323, 455, 357] SampleTime "-1" } Block { BlockType Outport Name "y_l_dot" Position [820, 293, 850, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Gain7" SrcPort 1 DstBlock "y_l_dot" DstPort 1 } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [10, 0] DstBlock "Sum5" DstPort 2 } Line { SrcBlock "y_l" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Unit Delay1" DstPort 1 } Branch { DstBlock "Sum5" DstPort 1 } } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Gain7" DstPort 1 } } } Block { BlockType SubSystem Name "l_to_g" Ports [3, 3] Position [390, 85, 475, 215] BackgroundColor "magenta" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "l_to_g" Location [5, 77, 1147, 770] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "x_l_dot" Position [25, 28, 55, 42] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_l_dot" Position [25, 78, 55, 92] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "phi_l" Position [25, 218, 55, 232] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Product Name "Product" Ports [2, 1] Position [175, 27, 205, 58] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [175, 77, 205, 108] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product2" Ports [2, 1] Position [175, 127, 205, 158] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product3" Ports [2, 1] Position [175, 177, 205, 208] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum3" Ports [2, 1] Position [220, 60, 240, 80] ShowName off IconShape "round" Inputs "+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [220, 160, 240, 180] ShowName off IconShape "round" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [95, 270, 125, 300] } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [95, 210, 125, 240] Operator "cos" } Block { BlockType Outport Name "x_g_dot" Position [265, 63, 295, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "y_g_dot" Position [265, 163, 295, 177] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "phi_g" Position [260, 328, 290, 342] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "phi_l" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Trigonometric\nFunction1" DstPort 1 } Branch { Points [0, 60] Branch { DstBlock "Trigonometric\nFunction" DstPort 1 } Branch { Points [0, 50] DstBlock "phi_g" DstPort 1 } } } Line { SrcBlock "x_l_dot" SrcPort 1 Points [0, 0; 60, 0] Branch { DstBlock "Product" DstPort 1 } Branch { Points [0, 100] DstBlock "Product2" DstPort 1 } } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 Points [5, 0; 0, -25] Branch { Points [0, -150] DstBlock "Product" DstPort 2 } Branch { DstBlock "Product3" DstPort 2 } } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 Points [20, 0; 0, -135] Branch { Points [0, -50] DstBlock "Product1" DstPort 2 } Branch { DstBlock "Product2" DstPort 2 } } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum3" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum3" DstPort 2 } Line { SrcBlock "Product2" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Product3" SrcPort 1 DstBlock "Sum4" DstPort 2 } Line { SrcBlock "y_l_dot" SrcPort 1 Points [0, 0; 45, 0] Branch { DstBlock "Product1" DstPort 1 } Branch { Points [0, 100] DstBlock "Product3" DstPort 1 } } Line { SrcBlock "Sum3" SrcPort 1 Points [0, 0] DstBlock "x_g_dot" DstPort 1 } Line { SrcBlock "Sum4" SrcPort 1 Points [0, 0] DstBlock "y_g_dot" DstPort 1 } } } Block { BlockType Outport Name "posGlobal_xyo" Position [640, 143, 670, 157] IconDisplay "Port number" } Line { SrcBlock "Subsystem4" SrcPort 1 DstBlock "Mux1" DstPort 1 } Line { SrcBlock "Subsystem6" SrcPort 1 DstBlock "Mux1" DstPort 2 } Line { SrcBlock "l_to_g" SrcPort 1 DstBlock "Subsystem4" DstPort 1 } Line { SrcBlock "l_to_g" SrcPort 2 DstBlock "Subsystem6" DstPort 1 } Line { SrcBlock "differentiator" SrcPort 1 DstBlock "l_to_g" DstPort 1 } Line { SrcBlock "differentiator1" SrcPort 1 DstBlock "l_to_g" DstPort 2 } Line { SrcBlock "l_to_g" SrcPort 3 DstBlock "Mux1" DstPort 3 } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "posGlobal_xyo" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "differentiator" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "differentiator1" DstPort 1 } Line { SrcBlock "Demux" SrcPort 3 DstBlock "l_to_g" DstPort 3 } Line { SrcBlock "posLocal_xyo" SrcPort 1 DstBlock "Demux" DstPort 1 } } } Block { BlockType Outport Name "motionbus" Position [985, 128, 1015, 142] BackgroundColor "darkGreen" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "decoupled robot" SrcPort 1 Points [0, -55] Branch { DstBlock "posLocal_xyo 2\nposGlobal_xyo" DstPort 1 } Branch { Points [0, -110; -375, 0; 0, 40] DstBlock "posGlobalRef_xyo 2\nvelLocalRef_dxdydo" DstPort 1 } } Line { SrcBlock "posGlobalRef_xyo 2\nvelLocalRef_dxdydo" SrcPort 2 DstBlock "decoupled robot" DstPort 1 } Line { SrcBlock "posLocal_xyo 2\nposGlobal_xyo" SrcPort 1 Points [10, 0] Branch { DstBlock "Bus assigner" DstPort 3 } Branch { Points [0, -120; -560, 0; 0, 80] DstBlock "posGlobalRef_xyo 2\nvelLocalRef_dxdydo" DstPort 2 } } Line { SrcBlock "TRCbus" SrcPort 1 Points [25, 0] Branch { DstBlock "decoupled robot" DstPort 3 } Branch { Points [0, -160] DstBlock "posGlobalRef_xyo 2\nvelLocalRef_dxdydo" DstPort 5 } } Line { SrcBlock "controlbus" SrcPort 1 Points [15, 0] Branch { DstBlock "decoupled robot" DstPort 2 } Branch { Points [0, -100] DstBlock "posGlobalRef_xyo 2\nvelLocalRef_dxdydo" DstPort 4 } } Line { SrcBlock "decoupled robot" SrcPort 2 Points [205, 0; 0, -280] DstBlock "Bus assigner" DstPort 1 } Line { SrcBlock "Bus assigner" SrcPort 1 DstBlock "motionbus" DstPort 1 } Line { SrcBlock "Memory2" SrcPort 1 DstBlock "Bus assigner" DstPort 2 } Line { SrcBlock "posGlobalRef_xyo 2\nvelLocalRef_dxdydo" SrcPort 1 DstBlock "Memory2" DstPort 1 } Line { SrcBlock "Motion_tuning_bus" SrcPort 1 DstBlock "posGlobalRef_xyo 2\nvelLocalRef_dxdydo" DstPort 3 } } } Block { BlockType SubSystem Name "strategy & control" Ports [1, 3, 1] Position [125, 88, 315, 322] BackgroundColor "lightBlue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "strategy & control" Location [15, 77, 1256, 690] Open on ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "motionbus" Position [15, 83, 45, 97] ForegroundColor "green" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType EnablePort Name "Enable" Ports [] Position [1015, 90, 1035, 110] } Block { BlockType SubSystem Name "LaserRangeFinders" Ports [2, 1] Position [105, 522, 230, 638] BackgroundColor "black" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "LaserRangeFinders" Location [53, 77, 1465, 994] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "motionbus" Position [15, 208, 45, 222] ForegroundColor "green" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "visionbus" Position [15, 703, 45, 717] ForegroundColor "yellow" Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name " LRF selector" Ports [0, 8] Position [355, 331, 475, 544] BackgroundColor "yellow" FunctionName "LRF_select" MaskDisplay "port_label('output',1,'Top enable')\nport_label('output',2,'Top usb id')\nport_label('output',3,'Back enable')\nport_label('output',4,'Back usb id')\nport_label('output',5,'Front enable')\nport_label('output',6,'Front usb id')\nport_label('output',7,'Field enalbe')\nport_label('output',8,'Field usb id')\n" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType "S-Function" Name "Bus assigner" Ports [6, 1] Position [1075, 241, 1265, 454] BackgroundColor "cyan" FunctionName "sf_bus_assign" Parameters "sizes,offsets,portwidth,types,bus_is_in,bus_size" MaskType "Assign variables in bus." MaskDescription "Bus assigner to assign values to variables in a bus. \nThis block can overwrite values in an existing bus as well as \ncreate a bus and write values to certain parameters. Busses \ncan be editted and created using the busmanager. Note that \ndeleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |Bus is input |rs485ControlCh1|ball_top_lrf|ball_top_lrf_f|pose_lrf|pose_lrf_f|ball_ground_lrf||ball_ground_lrf_f|LEDResetPanicSwitchButton|LEDBlue|LEDAmber|keeperFrame_ulr|SHTControl|SHTDutyCycle|clampBall|va_max|CPBrobot|emergencyStatus|shootLeverState|rs485ControlCh1|rs485ControlCh2|0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'robot_active');\nport_label('output',2,'rs485ResultCh1[24]');\nport_label('input',1,'motionbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "motionbus|off|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|motionbus|2,22,3,4,5,6,7,8,9,11,13,14,15,16,17,18,20,23,24,|3,23," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType "S-Function" Name "Bus decoder1" Ports [1, 2] Position [75, 672, 280, 748] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |pose_xyo_ov|pose_ov_found|ball_xyz_ov|ball_confidence_ov|ball_found_ov|ov_lob_detected|obs_xy_xydot_r_for_strategy|image_time_ov|l2g_vision_time|ball_xyz_vxvyvz_est|obs_worldmodel_local_xyr|t_VL|shoot_lever_encoder|SHTstatus|SHTValue|PWMmeasurement|startBackupSoftwareSwitch|rs485ResultCh1|rs485ResultCh2|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_assign('init');||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;bus_is_in=@2;var_name01=&3;var_name02=&4;var_name03=&5;var_name04=&6;var_name05=&7;var_name06=&8;var_name07=&9;var_name08=&10;var_name09=&11;var_name10=&12;var_name11=&13;var_name12=&14;var_name13=&15;var_name14=&16;var_name15=&17;var_name16=&18;var_name17=&19;var_name18=&20;var_name19=&21;var_name20=&22;var_name21=&23;var_name22=&24;var_name23=&25;var_name24=&26;var_name25=&27;var_name26=&28;var_name27=&29;var_name28=&30;var_name29=&31;var_name30=&32;var_name31=&33;var_name32=&34;var_name33=&35;var_name34=&36;var_name35=&37;var_name36=&38;var_name37=&39;var_name38=&40;var_name39=&41;var_name40=&42;var_name41=&43;var_name42=&44;var_name43=&45;var_name44=&46;var_name45=&47;var_name46=&48;var_name47=&49;var_name48=&50;var_name49=&51;var_name50=&52;var_name51=&53;var_name52=&54;var_name53=&55;var_name54=&56;var_name55=&57;var_name56=&58;var_name57=&59;var_name58=&60;var_name59=&61;var_name60=&62;var_name61=&63;var_name62=&64;var_name63=&65;var_name64=&66;var_name65=&67;var_name66=&68;var_name67=&69;var_name68=&70;var_name69=&71;var_name70=&72;var_name71=&73;var_name72=&74;var_name73=&75;var_name74=&76;var_name75=&77;var_name76=&78;var_name77=&79;var_name78=&80;var_name79=&81;var_name80=&82;var_name81=&83;var_name82=&84;var_name83=&85;var_name84=&86;var_name85=&87;var_name86=&88;var_name87=&89;var_name88=&90;var_name89=&91;var_name90=&92;var_name91=&93;var_name92=&94;var_name93=&95;var_name94=&96;var_name95=&97;var_name96=&98;var_name97=&99;var_name98=&100;var_name99=&101;var_name100=&102;selected_bus=&103;var_ids=&104;checked_var_ids=&105;" MaskInitialization "mask_sf_bus_assign('init');\n" MaskDisplay "port_label('input',1,'desiredVelocityStrategy');\nport_label('input',2,'aimTarget_xy[2]');\nport_label('input',3,'actionHandlerReturnValue[2]');\nport_label('input',4,'skillId');\nport_label('input',5,'kickEffort');\nport_label('input',6,'controlEnable');\nport_label('input',7,'emergencyStatus');\nport_label('input',8,'target_xyo[3]');\nport_label('input',9,'waypointReached');\nport_label('input',10,'scrum');\nport_label('input',11,'subtarget_xy[2]');\nport_label('input',12,'subsubtarget_xy[2]');\nport_label('input',13,'desiredAccelerationStrategy');\nport_label('output',1,'actionsbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "actionsbus|off|on|on|on|on|on|on|on|on|on|on|on|on|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|actionsbus|1,2,3,5,6,7,8,9,10,11,12,13,14,|1,2,3,5,13,6,7,8,9,10,11,12,14," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType From Name "From66" Position [295, 283, 455, 307] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "motionControlDisableRefboxhandler" TagVisibility "global" } Block { BlockType Goto Name "Goto20" Position [340, 351, 455, 369] Orientation "left" BackgroundColor "orange" NamePlacement "alternate" ShowName off GotoTag "CPPArobot" TagVisibility "global" } Block { BlockType SubSystem Name "actionhandler" Ports [7, 10] Position [290, 55, 475, 265] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "actionhandler" Location [5, 77, 1275, 690] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "93" Block { BlockType Inport Name "Strategy_tuning_bus" Position [665, 373, 695, 387] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "motion_tuning_bus" Position [665, 413, 695, 427] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control bus" Position [665, 493, 695, 507] ForegroundColor "gray" Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "strategybus" Position [605, 463, 635, 477] ForegroundColor "orange" Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "TRCbus" Position [665, 533, 695, 547] ForegroundColor "lightBlue" Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "motionbus" Position [665, 453, 695, 467] ForegroundColor "green" Port "6" IconDisplay "Port number" } Block { BlockType Inport Name "AHParStruct1" Position [585, 353, 615, 367] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "Action handler" Ports [19, 10] Position [825, 47, 1085, 793] BackgroundColor "orange" FunctionName "action_handler" MaskDisplay "port_label('input',1,'cur xyo')\nport_label('input',2,'ball xyz/xyzdot')\nport_label('input',3,'ball_found')\nport_label('input',4,'CPB')\nport_label('input',5,'CPBteam')\nport_label('input',6,'va_max')\nport_label('input',7,'opp xyxdydr')\nport_label('input',8,'AHParStruct')\nport_label('input',9,'tunable parameters strategy')\nport_label('input',10,'tunable parameters motion')\nport_label('input',11,'motion bus')\nport_label('input',12,'control bus')\nport_label('input',13,'TRC bus')\nport_label('input',14,'role ID')\nport_label('input',15,'CPPA role home area (def)')\nport_label('input',16,'CPPA team home area (def)')\nport_label('input',17,'refboxParams')\nport_label('input',18,'CPPA role opp area (att)')\nport_label('input',19,'CPPA team opp area (att)')\n\nport_label('output',1,'out xyo')\nport_label('output',2,'out xydot')\nport_label('output',3,'desired_vel')\nport_label('output',4,'aimtarget_xy')\nport_label('output',5,'skill ID')\nport_label('output',6,'obstacles')\nport_label('output',7,'Action handler return value')\nport_label('output',8,'kick effort')\nport_label('output',9,'desired_acc')\nport_label('output',10,'CPPA robot')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType "S-Function" Name "Bus decoder" Ports [1, 2] Position [380, 155, 510, 230] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |RefboxRandNr_comm|refbox_role|assigned_role|current_role|taskswitch_go|roleSwitch|wppathlength|waypoints_xy|motionControlDisableRefboxhandler|handlingOnOffRefboxhandler|RefboxStageState|RefboxRandNr|refboxParams|GameStageState|pass_role_id|ActivateKeeperFrame|opp_xydxdyr|rs485ResultCh1|rs485ResultCh2|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_assign('init');||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;bus_is_in=@2;var_name01=&3;var_name02=&4;var_name03=&5;var_name04=&6;var_name05=&7;var_name06=&8;var_name07=&9;var_name08=&10;var_name09=&11;var_name10=&12;var_name11=&13;var_name12=&14;var_name13=&15;var_name14=&16;var_name15=&17;var_name16=&18;var_name17=&19;var_name18=&20;var_name19=&21;var_name20=&22;var_name21=&23;var_name22=&24;var_name23=&25;var_name24=&26;var_name25=&27;var_name26=&28;var_name27=&29;var_name28=&30;var_name29=&31;var_name30=&32;var_name31=&33;var_name32=&34;var_name33=&35;var_name34=&36;var_name35=&37;var_name36=&38;var_name37=&39;var_name38=&40;var_name39=&41;var_name40=&42;var_name41=&43;var_name42=&44;var_name43=&45;var_name44=&46;var_name45=&47;var_name46=&48;var_name47=&49;var_name48=&50;var_name49=&51;var_name50=&52;var_name51=&53;var_name52=&54;var_name53=&55;var_name54=&56;var_name55=&57;var_name56=&58;var_name57=&59;var_name58=&60;var_name59=&61;var_name60=&62;var_name61=&63;var_name62=&64;var_name63=&65;var_name64=&66;var_name65=&67;var_name66=&68;var_name67=&69;var_name68=&70;var_name69=&71;var_name70=&72;var_name71=&73;var_name72=&74;var_name73=&75;var_name74=&76;var_name75=&77;var_name76=&78;var_name77=&79;var_name78=&80;var_name79=&81;var_name80=&82;var_name81=&83;var_name82=&84;var_name83=&85;var_name84=&86;var_name85=&87;var_name86=&88;var_name87=&89;var_name88=&90;var_name89=&91;var_name90=&92;var_name91=&93;var_name92=&94;var_name93=&95;var_name94=&96;var_name95=&97;var_name96=&98;var_name97=&99;var_name98=&100;var_name99=&101;var_name100=&102;selected_bus=&103;var_ids=&104;checked_var_ids=&105;" MaskInitialization "mask_sf_bus_assign('init');\n" MaskDisplay "port_label('input',1,'controlbus');\nport_label('input',2,'velLocalRefManual_xyo_dot[3]');\nport_label('input',3,'powerOnOff');\nport_label('input',4,'amplifiersOnOff');\nport_label('input',5,'LEDResetPanicSwitchButton');\nport_label('input',6,'controlEnable');\nport_label('input',7,'posGlobalRef_xyo[3]');\nport_label('input',8,'va_max[2]');\nport_label('output',1,'controlbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "controlbus|on|on|on|on|on|on|off|off|off|on|off|off|off|off|off|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|controlbus|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,|5,2,3,9,1,4,16," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType "S-Function" Name "Bus assigner2" Ports [15, 1] Position [1240, 87, 1385, 633] BackgroundColor "cyan" FunctionName "sf_bus_assign" Parameters "sizes,offsets,portwidth,types,bus_is_in,bus_size" MaskType "Assign variables in bus." MaskDescription "Bus assigner to assign values to variables in a bus. \nThis block can overwrite values in an existing bus as well as \ncreate a bus and write values to certain parameters. Busses \ncan be editted and created using the busmanager. Note that \ndeleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |Bus is input |controlEnable|powerOnOff|amplifiersOnOff|posGlobalRef_xyo|velLocalRefManual_xyo_dot|ballHandlingLeft|ballHandlingRight|shootLeverAngleMotor|LEDResetPanicSwitchButton|LEDBlue|LEDAmber|keeperFrame_ulr|SHTControl|SHTDutyCycle|clampBall|va_max|CPBrobot|emergencyStatus|shootLeverState|rs485ControlCh1|rs485ControlCh2|shotFinished|0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'rs485ControlCh1[23]');\nport_label('input',1,'LRFbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "LRFbus|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|LRFbus|4,1,6,2,3,7,|4," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [940, 420, 985, 440] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Goto Name "Goto3" Position [1040, 851, 1155, 869] BackgroundColor "gray" ShowName off GotoTag "va_max" TagVisibility "global" } Block { BlockType Goto Name "Goto4" Position [1015, 306, 1130, 324] BackgroundColor "gray" ShowName off GotoTag "CPBrobot" TagVisibility "global" } Block { BlockType Goto Name "Goto5" Position [430, 544, 515, 566] BackgroundColor "gray" ShowName off GotoTag "cur_xydot" TagVisibility "global" } Block { BlockType SubSystem Name "LED control" Ports [4, 2] Position [730, 532, 865, 633] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "LED control" Location [5, 77, 1399, 785] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "motionbus" Position [665, 573, 695, 587] ForegroundColor "green" IconDisplay "Port number" } Block { BlockType Inport Name "IO keeper block" Position [40, 148, 70, 162] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "TRCbus" Position [40, 298, 70, 312] ForegroundColor "lightBlue" Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "actionsbus" Position [665, 483, 695, 497] ForegroundColor "[0.700000, 0.500000, 0.000000]" Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "Bus decoder" Ports [1, 1] Position [725, 562, 850, 598] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |position_global_xyo|robot_active|position_local_xyo|tacho_left|tacho_right|arm_left|arm_right|battery_voltage|motor_temperatures|panic_and_reset_switches|local_y_velocity|shoot_lever_encoder|SHTstatus|SHTValue|PWMmeasurement|velLocalRef_dxdydo|startBackupSoftwareSwitch|rs485ResultCh1|rs485ResultCh2|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'turtleID');\nport_label('output',2,'roleAssignerMode');\nport_label('input',1,'TRCbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "TRCbus|on|off|off|off|off|off|off|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|TRCbus|1,2,3,4,5,6,7,8,9,10,11,14,15,16,17,|1,9," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType "S-Function" Name "Bus decoder2" Ports [1, 1] Position [725, 472, 845, 508] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |desiredVelocityStrategy|aimTarget_xy|actionHandlerReturnValue|skillId|controlEnable|emergencyStatus|target_xyo|waypointReached|scrum|subtarget_xy|subsubtarget_xy|kickEffort|desiredAccelerationStrategy|joystickKickEffort|joystickOnOff|position_local_xyo|e4ffsd|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'BH_PHI_PULLER');\nport_label('output',2,'BH_PHI_PUSHER');\nport_label('output',3,'BH_PHI_THRESHOLD');\nport_label('input',1,'tunable_pardata_motion_bus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "tunable_pardata_motion_bus|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|on|on|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|tunable_pardata_motion_bus|5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,40,41,42,43,44,45,39,46,47,48,49,50,51,52,53,54,55,|53,54,55," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType Constant Name "Constant" Position [795, 400, 825, 430] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [795, 520, 825, 550] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant2" Position [795, 650, 825, 680] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant3" Position [795, 770, 825, 800] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [860, 338, 935, 372] OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [860, 458, 935, 492] OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion2" Position [860, 588, 935, 622] OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion3" Position [860, 708, 935, 742] OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain2" Position [725, 465, 755, 495] Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain4" Position [740, 715, 770, 745] Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Mux Name "Mux1" Ports [2, 1] Position [1225, 228, 1230, 732] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Product Name "Product" Ports [2, 1] Position [490, 187, 520, 218] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [490, 227, 520, 258] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType RelationalOperator Name "Relational\nOperator" Position [795, 337, 825, 368] InputSameDT off LogicOutDataTypeMode "boolean" } Block { BlockType RelationalOperator Name "Relational\nOperator1" Position [795, 457, 825, 488] Operator "<=" InputSameDT off LogicOutDataTypeMode "boolean" } Block { BlockType RelationalOperator Name "Relational\nOperator2" Position [795, 587, 825, 618] InputSameDT off LogicOutDataTypeMode "boolean" } Block { BlockType RelationalOperator Name "Relational\nOperator3" Position [795, 707, 825, 738] Operator "<=" InputSameDT off LogicOutDataTypeMode "boolean" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [1145, 345, 1165, 365] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [1145, 595, 1165, 615] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch" Position [1075, 340, 1105, 370] Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch2" Position [1075, 460, 1105, 490] Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch3" Position [1075, 590, 1105, 620] Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch4" Position [1075, 710, 1105, 740] Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "additional effort ballhandling" Position [1325, 473, 1355, 487] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "phi_dot_l" SrcPort 1 Points [400, 0] Branch { Points [305, 0] Branch { DstBlock "Relational\nOperator" DstPort 1 } Branch { Points [0, 120] Branch { DstBlock "Relational\nOperator1" DstPort 1 } Branch { Points [0, 130] Branch { DstBlock "Relational\nOperator2" DstPort 1 } Branch { Points [0, 120] DstBlock "Relational\nOperator3" DstPort 1 } } } } Branch { Points [0, -95] Branch { Points [0, -40] DstBlock "Product" DstPort 2 } Branch { DstBlock "Product1" DstPort 2 } } } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "additional effort ballhandling" DstPort 1 } Line { SrcBlock "Bus decoder3" SrcPort 1 DstBlock "Product" DstPort 1 } Line { SrcBlock "Bus decoder3" SrcPort 2 DstBlock "Product1" DstPort 1 } Line { SrcBlock "Relational\nOperator" SrcPort 1 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 Points [230, 0] DstBlock "Switch" DstPort 3 } Line { SrcBlock "Data Type Conversion" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Bus decoder3" SrcPort 3 Points [295, 0; 0, 85] Branch { DstBlock "Relational\nOperator" DstPort 2 } Branch { Points [0, 120] Branch { DstBlock "Gain2" DstPort 1 } Branch { Points [0, 130] Branch { DstBlock "Relational\nOperator2" DstPort 2 } Branch { Points [0, 120] DstBlock "Gain4" DstPort 1 } } } } Line { SrcBlock "Switch" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Gain2" SrcPort 1 DstBlock "Relational\nOperator1" DstPort 2 } Line { SrcBlock "Relational\nOperator1" SrcPort 1 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 DstBlock "Switch2" DstPort 2 } Line { SrcBlock "Constant1" SrcPort 1 Points [230, 0] DstBlock "Switch2" DstPort 3 } Line { SrcBlock "Switch2" SrcPort 1 Points [45, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Relational\nOperator2" SrcPort 1 DstBlock "Data Type Conversion2" DstPort 1 } Line { SrcBlock "Constant2" SrcPort 1 Points [230, 0] DstBlock "Switch3" DstPort 3 } Line { SrcBlock "Data Type Conversion2" SrcPort 1 DstBlock "Switch3" DstPort 2 } Line { SrcBlock "Switch3" SrcPort 1 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Relational\nOperator3" SrcPort 1 DstBlock "Data Type Conversion3" DstPort 1 } Line { SrcBlock "Data Type Conversion3" SrcPort 1 DstBlock "Switch4" DstPort 2 } Line { SrcBlock "Constant3" SrcPort 1 Points [230, 0] DstBlock "Switch4" DstPort 3 } Line { SrcBlock "Switch4" SrcPort 1 Points [45, 0] DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Product" SrcPort 1 Points [495, 0; 0, 140] Branch { DstBlock "Switch" DstPort 1 } Branch { Points [0, 370] DstBlock "Switch4" DstPort 1 } } Line { SrcBlock "Product1" SrcPort 1 Points [450, 0; 0, 220] Branch { DstBlock "Switch2" DstPort 1 } Branch { Points [0, 130] DstBlock "Switch3" DstPort 1 } } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Mux1" DstPort 1 } Line { SrcBlock "Gain4" SrcPort 1 DstBlock "Relational\nOperator3" DstPort 2 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Mux1" DstPort 2 } Line { SrcBlock "param" SrcPort 1 DstBlock "Bus decoder3" DstPort 1 } } } Block { BlockType SubSystem Name "Ball handling position control" Ports [4, 3] Position [975, 125, 1165, 270] BackgroundColor "blue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Ball handling position control" Location [100, 191, 1579, 876] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "arm right" Position [535, 183, 565, 197] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "arm left" Position [535, 153, 565, 167] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Motion_tuning_bus" Position [30, 318, 60, 332] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Additional effort ballhandling" Position [350, 108, 380, 122] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "Bus decoder" Ports [1, 10] Position [120, 165, 445, 485] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |SF_v_max_move|SF_v_max_dribble|SF_v_max_aim|SF_a_max_move|SF_a_max_dribble|SF_a_max_aim|SF_v_max_rotate_move|SF_v_max_rotate_dribble|SF_v_max_rotate_aim|SF_a_max_rotate_move|SF_a_max_rotate_dribble|SF_a_max_rotate_aim|SF_subtarget_arrive_velocity|SF_add_effort_ballhandling|BH_FB_arm_reference_left|BH_FB_arm_reference_right|BH_FB_arm_p_action_catch|BH_FB_arm_p_action_drive|BH_FF_vel_gain_pos_ydot|BH_FF_vel_gain_neg_ydot|BH_FF_vel_offset|K_retract_ball_time_in_ms|K_basis_value_lob|K_rate_value_lob|K_basis_value_pass|K_rate_value_pass|K_maximum_value_flat|K_angle_flat_shot|K_velocity_gain_lob|K_wait_time_during_aim_in_s|K_use_demo_goal|K_height_hole1|K_height_hole2|K_height_hole3|SF_v_max_x_keeper|SF_v_max_y_keeper|SF_a_max_x_keeper|SF_a_max_y_keeper|SF_v_max_rotate_keeper|SF_a_max_rotate_keeper|K_FFBallSpeedOnAimTarget|BH_CPBTHRESHOLD|BH_CPBTHRESHOLD2|BH_CATCHTIME|BH_NOBALLREFERENCE|BH_NOBALLREFERENCE2|BH_SETPOINTFILTER|BH_RETRACTVALUE|BH_PHI_PULLER|BH_PHI_PUSHER|BH_PHI_THRESHOLD|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'velLocalRef_dxdydo[3]');\nport_label('output',2,'position_global_xyo[3]');\nport_label('output',3,'tacho_left');\nport_label('output',4,'tacho_right');\nport_label('input',1,'motionbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "motionbus|on|off|off|on|on|off|off|off|off|off|off|off|off|off|off|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|motionbus|2,3,4,5,6,7,8,9,11,13,14,15,16,17,18,20,22,23,24,|22,2,5,6," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType "S-Function" Name "Bus decoder1" Ports [1, 1] Position [120, 138, 245, 172] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |turtleID|teamColor|blueIsHome|roleIDs|refboxRoleIDs|refboxTask|refboxTaskTrigger|destination_xyo|roleAssignerMode|penaltyDemoMode|notBallHandlingDemo|joystick_v_xyo|joystickSkillID|joystickKickEffort|joystickOnOff|position_local_xyo|e4ffsd|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'BH_FF_vel_gain_pos_ydot');\nport_label('output',2,'BH_FF_vel_gain_neg_ydot');\nport_label('output',3,'BH_FF_vel_offset');\nport_label('input',1,'tunable_pardata_motion_bus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "tunable_pardata_motion_bus|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|on|on|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|tunable_pardata_motion_bus|5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,40,41,42,43,44,45,39,46,47,48,49,50,51,52,53,54,55,|23,24,25," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType Reference Name "Compare\nTo Constant1" Ports [1, 1] Position [735, 515, 765, 545] SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop ">=" const "-0.1" LogicOutDataTypeMode "uint8" ZeroCross off } Block { BlockType Constant Name "Constant" Position [895, 615, 925, 645] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [785, 513, 845, 547] OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product2" Ports [2, 1] Position [895, 462, 925, 493] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product3" Ports [2, 1] Position [895, 577, 925, 608] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [1010, 520, 1030, 540] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [950, 515, 980, 545] ShowName off Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch2" Position [950, 665, 980, 695] ShowName off Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Outport Name "\\dot{y}_{b}" Position [1175, 523, 1205, 537] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Bus decoder1" SrcPort 2 DstBlock "Product3" DstPort 2 } Line { SrcBlock "Bus decoder1" SrcPort 1 Points [50, 0; 0, -90] DstBlock "Product2" DstPort 1 } Line { Name "\\dot{y}_{b}" Labels [0, 0] SrcBlock " \\dot{y}_{b} " SrcPort 1 Points [15, 0] Branch { Points [0, -45] DstBlock "Product2" DstPort 2 } Branch { DstBlock "Compare\nTo Constant1" DstPort 1 } Branch { Points [0, 55] DstBlock "Product3" DstPort 1 } } Line { SrcBlock "Sum" SrcPort 1 DstBlock "\\dot{y}_{b}" DstPort 1 } Line { SrcBlock "Bus decoder1" SrcPort 3 Points [50, 0; 0, 50] DstBlock "Switch2" DstPort 3 } Line { SrcBlock "Switch1" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Compare\nTo Constant1" SrcPort 1 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "Product3" SrcPort 1 Points [5, 0] DstBlock "Switch1" DstPort 3 } Line { SrcBlock "Product2" SrcPort 1 Points [5, 0] DstBlock "Switch1" DstPort 1 } Line { SrcBlock "Data Type Conversion" SrcPort 1 Points [20, 0] Branch { DstBlock "Switch1" DstPort 2 } Branch { Points [0, 150] DstBlock "Switch2" DstPort 2 } } Line { SrcBlock "Constant" SrcPort 1 Points [5, 0] DstBlock "Switch2" DstPort 1 } Line { SrcBlock "Switch2" SrcPort 1 Points [35, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Tunabledata motion" SrcPort 1 DstBlock "Bus decoder1" DstPort 1 } Annotation { Name "Tunable parameters ballhandling:\n1. Gain for positive y-direction\n2. Gain for negative y-direction\n3. Offset" Position [488, 468] } } } Block { BlockType "S-Function" Name "omega_{A_1}" Ports [2, 1] Position [1210, 46, 1400, 204] FunctionName "handling_A_1" Parameters "R_b,R_A_1,sqrt(x_A_1^2+y_A_1^2),atan(x_A_1/y_A_1),xi_A_1" Port { PortNumber 1 Name "\\omega_{A_1}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType "S-Function" Name "omega_{A_2}" Ports [2, 1] Position [1210, 221, 1400, 379] FunctionName "handling_A_2" Parameters "R_b,R_A_2,sqrt(x_A_2^2+y_A_2^2),atan(x_A_2/y_A_2),xi_A_2" Port { PortNumber 1 Name "\\omega_{A_2}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Outport Name "V_{ref,A_{1}}" Position [1895, 118, 1925, 132] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "V_{ref,A_{2}}" Position [1895, 293, 1925, 307] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { Name "\\dot{y}_{b}" SrcBlock "Transformation from the Turtles center velocities to the Ball center velocity" SrcPort 2 DstBlock "Tuning attraction" DstPort 1 } Line { SrcBlock "Tuning attraction" SrcPort 1 Points [10, 0] DstBlock "Calculate v_{b} and \\theta_{b}" DstPort 2 } Line { SrcBlock "Transformation from ballhandling wheel velocities to reference voltages" SrcPort 2 DstBlock "V_{ref,A_{2}}" DstPort 1 } Line { Name "\\dot{\\phi}_{t}" Labels [1, 0] SrcBlock "phi_dot_l" SrcPort 1 DstBlock "Transformation from the Turtles center velocities to the Ball center velocity" DstPort 3 } Line { SrcBlock "Transformation from ballhandling wheel velocities to reference voltages" SrcPort 1 DstBlock "V_{ref,A_{1}}" DstPort 1 } Line { Name "\\dot{y}_{t}" Labels [1, 0] SrcBlock "y_dot_l" SrcPort 1 DstBlock "Transformation from the Turtles center velocities to the Ball center velocity" DstPort 2 } Line { Name "\\dot{x}_{t}" Labels [1, 0] SrcBlock "x_dot_l" SrcPort 1 DstBlock "Transformation from the Turtles center velocities to the Ball center velocity" DstPort 1 } Line { Name "\\omega_{A_2}" Labels [0, 0] SrcBlock "omega_{A_2}" SrcPort 1 DstBlock "Transformation from ballhandling wheel velocities to reference voltages" DstPort 2 } Line { Name "\\omega_{A_1}" Labels [0, 0] SrcBlock "omega_{A_1}" SrcPort 1 DstBlock "Transformation from ballhandling wheel velocities to reference voltages" DstPort 1 } Line { Name "\\theta_{b}" Labels [0, 0] SrcBlock "Calculate v_{b} and \\theta_{b}" SrcPort 2 Points [45, 0] Branch { Points [0, 175] DstBlock "omega_{A_2}" DstPort 2 } Branch { DstBlock "omega_{A_1}" DstPort 2 } } Line { Name "v_{b}" Labels [0, 0] SrcBlock "Calculate v_{b} and \\theta_{b}" SrcPort 1 Points [65, 0] Branch { DstBlock "omega_{A_2}" DstPort 1 } Branch { DstBlock "omega_{A_1}" DstPort 1 } } Line { Name "\\dot{x}_{b}" Labels [0, 0] SrcBlock "Transformation from the Turtles center velocities to the Ball center velocity" SrcPort 1 DstBlock "Fix for rotation?" DstPort 1 } Line { SrcBlock "Fix for rotation?" SrcPort 1 DstBlock "Calculate v_{b} and \\theta_{b}" DstPort 1 } Line { SrcBlock "motion_tuning_bus" SrcPort 1 DstBlock "Tuning attraction" DstPort 2 } Annotation { Position [539, 20] } } } Block { BlockType Constant Name "d-action velocity controllers" Position [585, 475, 640, 505] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "p-action velocity controllers" Position [585, 430, 640, 460] OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "ball left" Position [1055, 463, 1085, 477] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "ball right" Position [1055, 553, 1085, 567] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "phi_dot_l" Position [1055, 33, 1085, 47] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Velocity feedforward controllers" SrcPort 1 Points [145, 0; 0, 270; -580, 0] DstBlock "Sum2" DstPort 1 } Line { Name "q_{3}" SrcBlock "Demux3" SrcPort 3 Points [15, 0] Branch { DstBlock "Velocity feedforward controllers" DstPort 3 } Branch { Points [0, -155] DstBlock "phi_dot_l" DstPort 1 } } Line { Name "q_{2}" SrcBlock "Demux3" SrcPort 2 DstBlock "Velocity feedforward controllers" DstPort 2 } Line { Name "q_{1}" SrcBlock "Demux3" SrcPort 1 DstBlock "Velocity feedforward controllers" DstPort 1 } Line { SrcBlock "Sum4" SrcPort 1 DstBlock "Velocity feedback controllers" DstPort 3 } Line { SrcBlock "Velocity feedback controllers" SrcPort 1 DstBlock "ball left" DstPort 1 } Line { SrcBlock "Velocity feedback controllers" SrcPort 2 DstBlock "ball right" DstPort 1 } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Velocity feedback controllers" DstPort 4 } Line { SrcBlock "p-action velocity controllers" SrcPort 1 DstBlock "Velocity feedback controllers" DstPort 1 } Line { SrcBlock "d-action velocity controllers" SrcPort 1 DstBlock "Velocity feedback controllers" DstPort 2 } Line { SrcBlock "Velocity feedforward controllers" SrcPort 2 Points [90, 0; 0, 165; -560, 0] DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Transfer Fcn3" SrcPort 1 Points [55, 0] DstBlock "Sum4" DstPort 2 } Line { SrcBlock "Transfer Fcn4" SrcPort 1 Points [80, 0] DstBlock "Sum5" DstPort 2 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Sum2" SrcPort 1 DstBlock "Sum5" DstPort 1 } Line { SrcBlock "motionbus" SrcPort 1 DstBlock "Bus decoder" DstPort 1 } Line { SrcBlock "tacho left" SrcPort 1 DstBlock "Sum1" DstPort 2 } Line { SrcBlock "tacho right" SrcPort 1 DstBlock "Sum2" DstPort 2 } Line { SrcBlock "Motion_tuning_bus" SrcPort 1 DstBlock "Velocity feedforward controllers" DstPort 4 } Line { SrcBlock "Bus decoder" SrcPort 1 Points [10, 0; 0, -285] DstBlock "Switch\nbetween ref.\nand measured" DstPort 1 } Line { SrcBlock "Bus decoder" SrcPort 4 Points [45, 0; 0, 155] DstBlock "Transfer Fcn4" DstPort 1 } Line { Name "q_{3}" Labels [0, 0] SrcBlock "Demux2" SrcPort 3 DstBlock "Derivative2" DstPort 1 } Line { Name "q_{2}" Labels [0, 0] SrcBlock "Demux2" SrcPort 2 DstBlock "Derivative1" DstPort 1 } Line { Name "q_{1}" Labels [0, 0] SrcBlock "Demux2" SrcPort 1 DstBlock "Derivative" DstPort 1 } Line { SrcBlock "Derivative2" SrcPort 1 DstBlock "Transfer Fcn2" DstPort 1 } Line { SrcBlock "Derivative1" SrcPort 1 DstBlock "Transfer Fcn1" DstPort 1 } Line { SrcBlock "Derivative" SrcPort 1 DstBlock "Transfer Fcn" DstPort 1 } Line { SrcBlock "Bus decoder" SrcPort 3 Points [65, 0; 0, 140] DstBlock "Transfer Fcn3" DstPort 1 } Line { SrcBlock "Bus decoder" SrcPort 2 Points [30, 0; 0, -170] DstBlock "Demux2" DstPort 1 } Line { SrcBlock "Transfer Fcn" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Transfer Fcn1" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Transfer Fcn2" SrcPort 1 DstBlock "Mux" DstPort 3 } Line { SrcBlock "TRCbus" SrcPort 1 DstBlock "Bus decoder1" DstPort 1 } Line { SrcBlock "Bus decoder1" SrcPort 1 DstBlock "Switch\nbetween ref.\nand measured" DstPort 2 } Line { SrcBlock "Switch\nbetween ref.\nand measured" SrcPort 1 DstBlock "Demux3" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 Points [25, 0; 0, -125] DstBlock "Switch\nbetween ref.\nand measured" DstPort 3 } Annotation { Position [528, 433] } } } Block { BlockType "S-Function" Name "Bus decoder" Ports [1, 2] Position [420, 126, 550, 199] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |position_global_xyo|robot_active|position_local_xyo|tacho_left|tacho_right|arm_left|arm_right|battery_voltage|motor_temperatures|panic_and_reset_switches|local_y_velocity|shoot_lever_encoder|SHTstatus|SHTValue|PWMmeasurement|startBackupSoftwareSwitch|velLocalRef_dxdydo|rs485ResultCh1|rs485ResultCh2|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'joystickOnOff');\nport_label('input',1,'TRCbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "TRCbus|off|off|off|off|off|off|off|off|off|off|off|off|off|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|TRCbus|1,2,3,4,5,6,7,8,9,10,11,14,15,16,17,|17," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType "S-Function" Name "Bus decoder2" Ports [1, 1] Position [125, 270, 215, 300] BackgroundColor "cyan" ShowName off FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |desiredVelocityStrategy|aimTarget_xy|actionHandlerReturnValue|skillId|controlEnable|emergencyStatus|target_xyo|waypointReached|scrum|subtarget_xy|subsubtarget_xy|kickEffort|desiredAccelerationStrategy|SHTValue|PWMmeasurement|dssssssf|e4ffsd|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'BH_RETRACTVALUE');\nport_label('input',1,'tunable_pardata_motion_bus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "tunable_pardata_motion_bus|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|tunable_pardata_motion_bus|5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,40,41,42,43,44,45,39,46,47,48,49,50,51,52,53,54,55,|52," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType Reference Name "Compare\nTo Constant" Ports [1, 1] Position [275, 90, 305, 120] SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop "==" const "-1" LogicOutDataTypeMode "uint8" ZeroCross off } Block { BlockType Reference Name "Compare\nTo Constant1" Ports [1, 1] Position [275, 255, 305, 285] SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop "==" const "1" LogicOutDataTypeMode "uint8" ZeroCross off } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [330, 88, 405, 122] OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [330, 253, 405, 287] OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain" Position [365, 40, 395, 70] Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType RateLimiter Name "Rate Limiter2" Position [645, 255, 675, 285] RisingSlewLimit "inf" FallingSlewLimit "-10" SampleTimeMode "inherited" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [695, 260, 715, 280] ShowName off IconShape "round" Inputs "++|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [590, 90, 620, 120] Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch2" Position [590, 255, 620, 285] Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Constant Name "do not retract2" Position [335, 145, 365, 175] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "do not retract4" Position [335, 310, 365, 340] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "additional effort ball handling" Position [740, 263, 770, 277] IconDisplay "Port number" } Line { SrcBlock "retract" SrcPort 1 Points [0, -15] Branch { DstBlock "Compare\nTo Constant1" DstPort 1 } Branch { Points [0, -165] DstBlock "Compare\nTo Constant" DstPort 1 } } Line { SrcBlock "Compare\nTo Constant" SrcPort 1 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "Data Type Conversion" SrcPort 1 DstBlock "Switch1" DstPort 2 } Line { SrcBlock "do not retract2" SrcPort 1 Points [205, 0] DstBlock "Switch1" DstPort 3 } Line { SrcBlock "Compare\nTo Constant1" SrcPort 1 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 DstBlock "Switch2" DstPort 2 } Line { SrcBlock "do not retract4" SrcPort 1 Points [205, 0] DstBlock "Switch2" DstPort 3 } Line { SrcBlock "Switch2" SrcPort 1 DstBlock "Rate Limiter2" DstPort 1 } Line { SrcBlock "Rate Limiter2" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "Switch1" SrcPort 1 Points [80, 0] DstBlock "Sum" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 Points [175, 0] DstBlock "Switch1" DstPort 1 } Line { SrcBlock "Bus decoder3" SrcPort 1 Points [75, 0] Branch { DstBlock "Gain" DstPort 1 } Branch { Points [0, 185; 250, 0] DstBlock "Switch2" DstPort 1 } } Line { SrcBlock "param" SrcPort 1 DstBlock "Bus decoder3" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "additional effort ball handling" DstPort 1 } } } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [720, 260, 740, 280] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [720, 380, 740, 400] Orientation "up" ShowName off IconShape "round" Inputs "++|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "additional effort ball handling" Ports [2, 1] Position [420, 238, 625, 302] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "additional effort ball handling" Location [257, 176, 1184, 588] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "Motion_tuning_bus" Position [75, 178, 105, 192] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "scrum" Position [195, 283, 225, 297] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Abs Name "Abs" Position [315, 35, 345, 65] ShowName off SaturateOnIntegerOverflow off } Block { BlockType "S-Function" Name "Bus decoder1" Ports [1, 1] Position [245, 168, 570, 202] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |SF_v_max_move|SF_v_max_dribble|SF_v_max_aim|SF_a_max_move|SF_a_max_dribble|SF_a_max_aim|SF_v_max_rotate_move|SF_v_max_rotate_dribble|SF_v_max_rotate_aim|SF_a_max_rotate_move|SF_a_max_rotate_dribble|SF_a_max_rotate_aim|SF_subtarget_arrive_velocity|SF_add_effort_ballhandling|BH_FB_arm_reference_left|BH_FB_arm_reference_right|BH_FB_arm_p_action_catch|BH_FB_arm_p_action_drive|BH_FF_vel_gain_pos_ydot|BH_FF_vel_gain_neg_ydot|BH_FF_vel_offset|K_retract_ball_time_in_ms|K_basis_value_lob|K_rate_value_lob|K_basis_value_pass|K_rate_value_pass|K_maximum_value_flat|K_angle_flat_shot|K_velocity_gain_lob|K_wait_time_during_aim_in_s|K_use_demo_goal|K_height_hole1|K_height_hole2|K_height_hole3|SF_v_max_x_keeper|SF_v_max_y_keeper|SF_a_max_x_keeper|SF_a_max_y_keeper|SF_v_max_rotate_keeper|SF_a_max_rotate_keeper|K_FFBallSpeedOnAimTarget|BH_CPBTHRESHOLD|BH_CPBTHRESHOLD2|BH_CATCHTIME|BH_NOBALLREFERENCE|BH_NOBALLREFERENCE2|BH_SETPOINTFILTER|BH_RETRACTVALUE|BH_PHI_PULLER|BH_PHI_PUSHER|BH_PHI_THRESHOLD|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'ov_lob_detected');\nport_label('input',1,'visionbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "visionbus|off|off|off|off|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|visionbus|1,2,3,4,5,6,7,8,9,10,11,12,|6," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [370, 316, 440, 344] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType From Name "From1" Position [310, 126, 425, 144] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "ActivateKeeperframe" TagVisibility "global" } Block { BlockType From Name "From2" Position [305, 271, 420, 289] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "froncam_lobbal_trigger" TagVisibility "global" } Block { BlockType From Name "From28" Position [310, 226, 425, 244] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "OVseeBall" TagVisibility "global" } Block { BlockType From Name "From29" Position [310, 296, 425, 314] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "FCkeeperAction" TagVisibility "global" } Block { BlockType From Name "From40" Position [310, 176, 425, 194] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "ball_xyzdxdydz" TagVisibility "global" } Block { BlockType From Name "From41" Position [310, 151, 425, 169] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "cur_xyo" TagVisibility "global" } Block { BlockType From Name "From42" Position [310, 201, 425, 219] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "ballFoundForStrategy" TagVisibility "global" } Block { BlockType "S-Function" Name "Keeper Frame Handler1" Ports [10, 3] Position [545, 120, 765, 365] BackgroundColor "green" FunctionName "Keeperframe" MaskDisplay "port_label('input',1,'keeper frame active')\nport_label('input',2,'cur xyo')\nport_label('input',3,'ball xyz/xyzdot')\nport_label('input',4,'ball_found')\nport_label('input',5,'OVseeBall')\nport_label('input',6,'ov_lob_detected')\nport_label('input',7,'FC_lob_detected')\nport_label('input',8,'Frontcam keeper')\nport_label('input',9,'Amplifier onOff')\nport_label('input',10,'TRC bus')\n\n\nport_label('output',1,'Frame UP')\nport_label('output',2,'Frame LEFT')\nport_label('output',3,'Frame RIGHT')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" Port { PortNumber 1 Name "frame up" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "frame left" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "frame right" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Mux Name "Mux1" Ports [3, 1] Position [795, 111, 800, 359] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType Outport Name "IO Keeper Block" Position [875, 228, 905, 242] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "visionbus" SrcPort 1 DstBlock "Bus decoder" DstPort 1 } Line { SrcBlock "Bus decoder" SrcPort 1 Points [225, 0] DstBlock "Keeper Frame Handler1" DstPort 6 } Line { SrcBlock "From28" SrcPort 1 Points [100, 0] DstBlock "Keeper Frame Handler1" DstPort 5 } Line { SrcBlock "From42" SrcPort 1 Points [100, 0] DstBlock "Keeper Frame Handler1" DstPort 4 } Line { SrcBlock "amplifiers on/off" SrcPort 1 DstBlock "Data Type Conversion" DstPort 1 } Line { Name "frame up" Labels [2, 0] SrcBlock "Keeper Frame Handler1" SrcPort 1 Points [0, -10] DstBlock "Mux1" DstPort 1 } Line { Name "frame right" Labels [0, 0] SrcBlock "Keeper Frame Handler1" SrcPort 3 Points [0, -10] DstBlock "Mux1" DstPort 3 } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "IO Keeper Block" DstPort 1 } Line { Name "frame left" Labels [0, 0] SrcBlock "Keeper Frame Handler1" SrcPort 2 Points [0, -10] DstBlock "Mux1" DstPort 2 } Line { SrcBlock "From1" SrcPort 1 Points [100, 0] DstBlock "Keeper Frame Handler1" DstPort 1 } Line { SrcBlock "From41" SrcPort 1 Points [100, 0] DstBlock "Keeper Frame Handler1" DstPort 2 } Line { SrcBlock "From40" SrcPort 1 Points [100, 0] DstBlock "Keeper Frame Handler1" DstPort 3 } Line { SrcBlock "From2" SrcPort 1 DstBlock "Keeper Frame Handler1" DstPort 7 } Line { SrcBlock "From29" SrcPort 1 DstBlock "Keeper Frame Handler1" DstPort 8 } Line { SrcBlock "Data Type Conversion" SrcPort 1 DstBlock "Keeper Frame Handler1" DstPort 9 } Line { SrcBlock "TRCbus" SrcPort 1 Points [55, 0; 0, -5; 55, 0] DstBlock "Keeper Frame Handler1" DstPort 10 } } } Block { BlockType SubSystem Name "kick control" Ports [7, 7] Position [730, 135, 865, 385] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "kick control" Location [5, 77, 1531, 812] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "SkillID" Position [405, 233, 435, 247] IconDisplay "Port number" } Block { BlockType Inport Name "KickEffort" Position [405, 293, 435, 307] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "Amplifier and Power on/off" Position [405, 173, 435, 187] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "motionbus" Position [100, 353, 130, 367] ForegroundColor "green" Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "Motion_tunable_par" Position [455, 473, 485, 487] Port "5" IconDisplay "Port number" } Block { BlockType Inport Name "TRCbus" Position [455, 413, 485, 427] ForegroundColor "lightBlue" Port "6" IconDisplay "Port number" } Block { BlockType Inport Name "emergency status" Position [860, 618, 890, 632] Port "7" IconDisplay "Port number" } Block { BlockType "S-Function" Name "Bus decoder1" Ports [1, 1] Position [255, 521, 430, 559] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |position_global_xyo|velLocalRef_dxdydo|robot_active|position_local_xyo|tacho_left|tacho_right|arm_left|arm_right|battery_voltage|motor_temperatures|panic_and_reset_switches|local_y_velocity|shoot_lever_encoder|SHTstatus|SHTValue|PWMmeasurement|startBackupSoftwareSwitch|rs485ResultCh1|rs485ResultCh2|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'SF_v_max_move');\nport_label('output',2,'SF_a_max_move');\nport_label('output',3,'SF_v_max_rotate_move');\nport_label('output',4,'SF_a_max_rotate_move');\nport_label('output',5,'SF_v_max_x_keeper');\nport_label('output',6,'SF_v_max_y_keeper');\nport_label('output',7,'SF_a_max_x_keeper');\nport_label('output',8,'SF_a_max_y_keeper');\nport_label('output',9,'SF_v_max_rotate_keeper');\nport_label('output',10,'SF_a_max_rotate_keeper');\nport_label('input',1,'tunable_pardata_motion_bus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "tunable_pardata_motion_bus|on|off|off|on|off|off|on|off|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|on|on|on|on|on|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|tunable_pardata_motion_bus|5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,|5,8,11,14,40,41,42,43,44,45," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," Port { PortNumber 1 Name "vmax_xy" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "amax_xy" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "vmax_phi" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 4 Name "amax_phi" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType "S-Function" Name "Bus decoder1" Ports [1, 5] Position [175, 383, 350, 527] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |turtleID|teamColor|blueIsHome|roleIDs|refboxRoleIDs|refboxTask|refboxTaskTrigger|destination_xyo|roleAssignerMode|penaltyDemoMode|notBallHandlingDemo|joystick_v_xyo|joystickSkillID|joystickKickEffort|joystickOnOff|dssssssf|e4ffsd|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'skillId');\nport_label('output',2,'kickEffort');\nport_label('output',3,'emergencyStatus');\nport_label('input',1,'actionsbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "actionsbus|off|off|off|on|off|on|off|off|off|off|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|actionsbus|1,2,3,5,6,7,8,9,10,11,12,13,14,|5,13,7," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType Constant Name "Constant" Position [835, 605, 865, 635] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [835, 444, 890, 466] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [835, 534, 890, 556] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion2" Position [835, 669, 890, 691] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux1" Ports [1, 3] Position [610, 224, 615, 416] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" Port { PortNumber 1 Name "x_l_retdot" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "y_l_refdot" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "phi_refdot" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Demux Name "Demux2" Ports [1, 2] Position [1055, 479, 1060, 546] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Demux Name "Demux3" Ports [1, 6] Position [610, 71, 615, 214] BackgroundColor "black" ShowName off Outputs "6" DisplayOption "bar" Port { PortNumber 1 Name "vmax_xy" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "amax_xy" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 5 Name "vmax_phi" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 6 Name "amax_phi" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Gain Name "Gain1" Position [865, 383, 895, 407] ShowName off Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain2" Position [910, 318, 940, 342] ShowName off Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain3" Position [910, 253, 940, 277] ShowName off Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Mux Name "Mux1" Ports [2, 1] Position [920, 531, 925, 589] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux2" Ports [3, 1] Position [1055, 215, 1060, 415] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType Mux Name "Mux3" Ports [6, 1] Position [385, 49, 390, 146] ShowName off Inputs "6" DisplayOption "bar" } Block { BlockType Mux Name "Mux4" Ports [6, 1] Position [385, 151, 390, 279] ShowName off Inputs "6" DisplayOption "bar" } Block { BlockType Mux Name "Mux5" Ports [2, 1] Position [920, 439, 925, 501] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Product Name "Product" Ports [2, 1] Position [840, 232, 870, 263] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [840, 297, 870, 328] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product2" Ports [2, 1] Position [740, 362, 770, 393] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Reference Name "Rate Limiter" Ports [3, 1] Position [960, 229, 1025, 271] SourceBlock "simulink/Discontinuities/Rate Limiter\nDynamic" SourceType "Rate Limiter Dynamic" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" } Block { BlockType Reference Name "Rate Limiter1" Ports [3, 1] Position [960, 294, 1025, 336] SourceBlock "simulink/Discontinuities/Rate Limiter\nDynamic" SourceType "Rate Limiter Dynamic" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" } Block { BlockType Reference Name "Rate Limiter2" Ports [3, 1] Position [960, 359, 1025, 401] SourceBlock "simulink/Discontinuities/Rate Limiter\nDynamic" SourceType "Rate Limiter Dynamic" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" } Block { BlockType Switch Name "Switch1" Position [550, 98, 585, 192] Criteria "u2 ~= 0" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch3" Position [990, 449, 1025, 581] Criteria "u2 > Threshold" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch4" Position [990, 618, 1025, 692] Threshold "1" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch5" Position [925, 615, 955, 645] ShowName off Threshold "2.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Reference Name "turtle1:\ngoalkeeper" Ports [1, 1] Position [460, 130, 490, 160] SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop "==" const "1" LogicOutDataTypeMode "uint8" ZeroCross off } Block { BlockType Outport Name "velLocalRefManual_dxdydo" Position [1115, 308, 1145, 322] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "Skill ID " Position [1115, 488, 1145, 502] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "kick effort " Position [1115, 523, 1145, 537] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "emergency out" Position [1115, 648, 1145, 662] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Demux2" SrcPort 2 DstBlock "kick effort " DstPort 1 } Line { SrcBlock "Demux2" SrcPort 1 DstBlock "Skill ID " DstPort 1 } Line { SrcBlock "Mux5" SrcPort 1 DstBlock "Switch3" DstPort 1 } Line { SrcBlock "Switch3" SrcPort 1 DstBlock "Demux2" DstPort 1 } Line { Name "phi_refdot" Labels [0, 0] SrcBlock "Demux1" SrcPort 3 DstBlock "Product2" DstPort 2 } Line { Name "y_l_refdot" Labels [0, 0] SrcBlock "Demux1" SrcPort 2 DstBlock "Product1" DstPort 2 } Line { Name "x_l_retdot" Labels [0, 0] SrcBlock "Demux1" SrcPort 1 DstBlock "Product" DstPort 2 } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "Switch3" DstPort 3 } Line { SrcBlock "Switch4" SrcPort 1 DstBlock "emergency out" DstPort 1 } Line { SrcBlock "Bus decoder2" SrcPort 2 Points [115, 0; 0, -70] DstBlock "Mux1" DstPort 2 } Line { Name "manual mode switch" Labels [0, 0] SrcBlock "Bus decoder1" SrcPort 5 Points [615, 0] Branch { Points [0, 140] DstBlock "Switch4" DstPort 2 } Branch { DstBlock "Switch3" DstPort 2 } } Line { Name "vmax_xy" Labels [0, 0] SrcBlock "Demux3" SrcPort 1 Points [200, 0; 0, 160] DstBlock "Product" DstPort 1 } Line { Name "vmax_phi" Labels [0, 0] SrcBlock "Demux3" SrcPort 5 Points [105, 0] DstBlock "Product2" DstPort 1 } Line { Name "amax_phi" Labels [0, 0] SrcBlock "Demux3" SrcPort 6 Points [170, 0; 0, 160] Branch { DstBlock "Rate Limiter2" DstPort 1 } Branch { Points [0, 30] DstBlock "Gain1" DstPort 1 } } Line { SrcBlock "Gain3" SrcPort 1 DstBlock "Rate Limiter" DstPort 3 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Rate Limiter" DstPort 2 } Line { Name "amax_xy" Labels [0, 0] SrcBlock "Demux3" SrcPort 3 Points [275, 0; 0, 105] Branch { DstBlock "Gain3" DstPort 1 } Branch { DstBlock "Rate Limiter" DstPort 1 } } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Rate Limiter1" DstPort 2 } Line { SrcBlock "Product2" SrcPort 1 DstBlock "Rate Limiter2" DstPort 2 } Line { SrcBlock "Gain1" SrcPort 1 DstBlock "Rate Limiter2" DstPort 3 } Line { SrcBlock "Switch5" SrcPort 1 DstBlock "Switch4" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Switch5" DstPort 1 } Line { SrcBlock "Mux2" SrcPort 1 DstBlock "velLocalRefManual_dxdydo" DstPort 1 } Line { SrcBlock "Bus decoder2" SrcPort 1 Points [85, 0; 0, -65] DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "Rate Limiter" SrcPort 1 DstBlock "Mux2" DstPort 1 } Line { SrcBlock "Rate Limiter1" SrcPort 1 DstBlock "Mux2" DstPort 2 } Line { SrcBlock "Rate Limiter2" SrcPort 1 DstBlock "Mux2" DstPort 3 } Line { SrcBlock "Bus decoder1" SrcPort 3 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "Bus decoder1" SrcPort 4 DstBlock "Mux5" DstPort 2 } Line { SrcBlock "TRC_bus" SrcPort 1 DstBlock "Bus decoder1" DstPort 1 } Line { SrcBlock "Data Type Conversion" SrcPort 1 DstBlock "Mux5" DstPort 1 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 DstBlock "Mux1" DstPort 1 } Line { SrcBlock "Data Type Conversion2" SrcPort 1 Points [5, 0] Branch { DstBlock "Switch4" DstPort 3 } Branch { Points [0, -40] Branch { DstBlock "Switch5" DstPort 3 } Branch { Points [0, -10] DstBlock "Switch5" DstPort 2 } } } Line { SrcBlock "actionsbus" SrcPort 1 DstBlock "Bus decoder2" DstPort 1 } Line { SrcBlock "Motion_tuning_bus" SrcPort 1 DstBlock "Bus decoder" DstPort 1 } Line { Name "vmax_xy" Labels [0, 0] SrcBlock "Bus decoder" SrcPort 1 Points [5, 0; 0, -10] Branch { Points [0, -15] DstBlock "Mux3" DstPort 1 } Branch { DstBlock "Mux3" DstPort 2 } } Line { Name "amax_xy" Labels [0, 0] SrcBlock "Bus decoder" SrcPort 2 Points [15, 0] Branch { DstBlock "Mux3" DstPort 3 } Branch { DstBlock "Mux3" DstPort 4 } } Line { Name "vmax_phi" Labels [0, 0; 2, 1] SrcBlock "Bus decoder" SrcPort 3 Points [0, -5] DstBlock "Mux3" DstPort 5 } Line { Name "amax_phi" Labels [0, 0] SrcBlock "Bus decoder" SrcPort 4 Points [0, -10] DstBlock "Mux3" DstPort 6 } Line { SrcBlock "turtle1:\ngoalkeeper" SrcPort 1 DstBlock "Switch1" DstPort 2 } Line { SrcBlock "Mux3" SrcPort 1 Points [130, 0; 0, 75] DstBlock "Switch1" DstPort 3 } Line { SrcBlock "Mux4" SrcPort 1 Points [20, 0; 0, -100] DstBlock "Switch1" DstPort 1 } Line { SrcBlock "Switch1" SrcPort 1 DstBlock "Demux3" DstPort 1 } Line { SrcBlock "Gain2" SrcPort 1 DstBlock "Rate Limiter1" DstPort 3 } Line { SrcBlock "Demux3" SrcPort 2 Points [190, 0; 0, 200] DstBlock "Product1" DstPort 1 } Line { SrcBlock "Demux3" SrcPort 4 Points [270, 0; 0, 145] Branch { Points [0, 30] DstBlock "Gain2" DstPort 1 } Branch { DstBlock "Rate Limiter1" DstPort 1 } } Line { SrcBlock "Bus decoder1" SrcPort 2 Points [230, 0; 0, -105] DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Bus decoder1" SrcPort 1 Points [70, 0; 0, -250] DstBlock "turtle1:\ngoalkeeper" DstPort 1 } Line { SrcBlock "Bus decoder" SrcPort 5 DstBlock "Mux4" DstPort 1 } Line { SrcBlock "Bus decoder" SrcPort 6 DstBlock "Mux4" DstPort 2 } Line { SrcBlock "Bus decoder" SrcPort 7 DstBlock "Mux4" DstPort 3 } Line { SrcBlock "Bus decoder" SrcPort 8 DstBlock "Mux4" DstPort 4 } Line { SrcBlock "Bus decoder" SrcPort 9 DstBlock "Mux4" DstPort 5 } Line { SrcBlock "Bus decoder" SrcPort 10 DstBlock "Mux4" DstPort 6 } Line { SrcBlock "Bus decoder2" SrcPort 3 DstBlock "Data Type Conversion2" DstPort 1 } Annotation { Position [993, 391] } Annotation { Name "0=no emergency\n1=power dip\n2=battery empty\n3=stop refbox" Position [553, 649] } Annotation { Name "feedthrough only\nemergency 0,1,2\nduring manual mode" Position [1083, 614] } Annotation { Position [415, 407] } } } Block { BlockType SubSystem Name "motion emergency handler:\namplifier and power control" Ports [4, 6] Position [275, 272, 410, 433] BackgroundColor "gray" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "motion emergency handler:\namplifier and power control" Location [70, 275, 1306, 967] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "emergeny" Position [290, 63, 320, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "motionbus" Position [145, 493, 175, 507] ForegroundColor "green" Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "TRCbus" Position [145, 333, 175, 347] ForegroundColor "lightBlue" Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "actionsbus" Position [145, 393, 175, 407] ForegroundColor "[0.700000, 0.500000, 0.000000]" Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Sum Name "Add" Ports [2, 1] Position [520, 47, 550, 78] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType "S-Function" Name "Bus decoder" Ports [1, 2] Position [220, 452, 365, 543] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |position_global_xyo|robot_active|position_local_xyo|tacho_left|tacho_right|arm_left|arm_right|battery_voltage|motor_temperatures|panic_and_reset_switches|local_y_velocity|shoot_lever_encoder|SHTstatus|SHTValue|PWMmeasurement|velLocalRef_dxdydo|startBackupSoftwareSwitch|rs485ResultCh1|rs485ResultCh2|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'joystickOnOff');\nport_label('input',1,'TRCbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "TRCbus|off|off|off|off|off|off|off|off|off|off|off|off|off|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|TRCbus|1,2,3,4,5,6,7,8,9,10,11,14,15,16,17,|17," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType "S-Function" Name "Bus decoder2" Ports [1, 1] Position [220, 381, 365, 419] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |desiredVelocityStrategy|aimTarget_xy|actionHandlerReturnValue|skillId|controlEnable|emergencyStatus|target_xyo|waypointReached|scrum|subtarget_xy|subsubtarget_xy|kickEffort|desiredAccelerationStrategy|joystickKickEffort|joystickOnOff|dssssssf|e4ffsd|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'position_global_xyo[3]');\nport_label('input',1,'motionbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "motionbus|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|motionbus|2,3,4,5,6,7,8,9,11,13,14,15,16,17,18,22,20,23,24,|2," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType "S-Function" Name "Bus decoder1" Ports [1, 7] Position [120, 83, 295, 267] BackgroundColor "cyan" ShowName off FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |desiredVelocityStrategy|aimTarget_xy|actionHandlerReturnValue|skillId|controlEnable|emergencyStatus|target_xyo|waypointReached|scrum|subtarget_xy|subsubtarget_xy|kickEffort|desiredAccelerationStrategy|SHTValue|PWMmeasurement|dssssssf|e4ffsd|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'turtleID');\nport_label('input',1,'TRCbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "TRCbus|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|TRCbus|1,2,3,4,5,6,7,8,9,10,11,14,15,16,17,|1," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType DataTypeConversion Name "Data Type Conversion2" Position [245, 300, 290, 320] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType From Name "From1" Position [120, 451, 205, 469] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "cur_xyo" TagVisibility "global" } Block { BlockType From Name "From18" Position [930, 331, 1015, 349] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "cur_xyo" TagVisibility "global" } Block { BlockType From Name "From3" Position [120, 61, 235, 79] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "motionOffset" TagVisibility "global" } Block { BlockType From Name "From5" Position [120, 301, 235, 319] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "current_role" TagVisibility "global" } Block { BlockType Mux Name "Mux1" Ports [2, 1] Position [1405, 425, 1410, 560] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType UnitDelay Name "Unit Delay" Position [445, 703, 480, 737] Orientation "left" SampleTime "Ts" } Block { BlockType UnitDelay Name "Unit Delay1" Position [535, 658, 570, 692] Orientation "left" SampleTime "Ts" } Block { BlockType UnitDelay Name "Unit Delay2" Position [565, 538, 595, 572] ShowName off SampleTime "Ts" } Block { BlockType SubSystem Name "phi trajectory planner" Ports [4, 2] Position [1220, 467, 1350, 698] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "phi trajectory planner" Location [487, 139, 1550, 587] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "phi_ref" Position [95, 78, 125, 92] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control enable" Position [480, 333, 510, 347] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "va_max_rotate" Position [95, 298, 125, 312] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "robot_pos" Position [480, 273, 510, 287] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "2D Trajectory Planner" Ports [1, 1] Position [345, 203, 460, 237] FunctionName "trajectoryplanner_phi" } Block { BlockType Constant Name "Constant1" Position [250, 150, 280, 180] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant2" Position [250, 185, 280, 215] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant3" Position [250, 115, 280, 145] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType SubSystem Name "Determine position reset" Ports [3, 4] Position [550, 184, 765, 371] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Determine position reset" Location [159, 437, 985, 826] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "acceleration" Position [55, 43, 85, 57] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "robot_pos" Position [55, 173, 85, 187] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control enable" Position [55, 113, 85, 127] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant2" Position [220, 215, 250, 245] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion2" Position [275, 103, 350, 137] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType HitCross Name "Hit \nCrossing" Ports [1, 1] Position [215, 105, 245, 135] ShowName off HitCrossingOffset "0.5" HitCrossingDirection "either" } Block { BlockType Integrator Name "Integrator" Ports [3, 1] Position [485, 35, 520, 205] ShowName off ExternalReset "rising" InitialConditionSource "external" InitialCondition "[0 0]" } Block { BlockType Integrator Name "Integrator1" Ports [2, 1] Position [410, 39, 450, 86] ShowName off ExternalReset "rising" InitialCondition "[0 0]" } Block { BlockType Mux Name "Mux1" Ports [2, 1] Position [295, 154, 300, 256] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Product Name "Product" Ports [2, 1] Position [390, 157, 420, 188] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Selector Name "select phi" Ports [1, 1] Position [220, 161, 260, 199] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "3" OutputSizes "[(-2)]" } Block { BlockType Outport Name " position" Position [545, 113, 575, 127] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name " control enable" Position [165, 128, 195, 142] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name " robot_pos (phi 0)" Position [445, 238, 475, 252] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name " velocity" Position [545, 13, 575, 27] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Integrator" SrcPort 1 Points [0, 0] DstBlock " position" DstPort 1 } Line { SrcBlock "acceleration" SrcPort 1 DstBlock "Integrator1" DstPort 1 } Line { SrcBlock "Product" SrcPort 1 Points [0, 0] DstBlock "Integrator" DstPort 3 } Line { SrcBlock "control enable" SrcPort 1 Points [35, 0] Branch { DstBlock "Hit \nCrossing" DstPort 1 } Branch { Points [0, 15] DstBlock " control enable" DstPort 1 } } Line { SrcBlock "Hit \nCrossing" SrcPort 1 DstBlock "Data Type Conversion2" DstPort 1 } Line { SrcBlock "select phi" SrcPort 1 DstBlock "Mux1" DstPort 1 } Line { SrcBlock "Constant2" SrcPort 1 Points [0, 0] DstBlock "Mux1" DstPort 2 } Line { SrcBlock "robot_pos" SrcPort 1 DstBlock "select phi" DstPort 1 } Line { SrcBlock "Mux1" SrcPort 1 Points [70, 0] Branch { DstBlock "Product" DstPort 2 } Branch { Points [0, 40] DstBlock " robot_pos (phi 0)" DstPort 1 } } Line { SrcBlock "Data Type Conversion2" SrcPort 1 Points [20, 0] Branch { DstBlock "Product" DstPort 1 } Branch { DstBlock "Integrator" DstPort 2 } Branch { Points [0, -45] DstBlock "Integrator1" DstPort 2 } } Line { SrcBlock "Integrator1" SrcPort 1 Points [10, 0] Branch { DstBlock "Integrator" DstPort 1 } Branch { Points [0, -45] DstBlock " velocity" DstPort 1 } } } } Block { BlockType Mux Name "Mux" Ports [8, 1] Position [315, 69, 320, 366] ShowName off Inputs "8" DisplayOption "bar" } Block { BlockType Switch Name "Switch3" Position [805, 185, 835, 325] ShowName off Criteria "u2 > Threshold" Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Constant Name "rotation precision" Position [250, 325, 280, 355] Value "get_global_par('PRECISION_ROTATION')" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Selector Name "select\naccelerations" Ports [1, 1] Position [480, 201, 520, 239] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "[1 2]" OutputSizes "[(-2)]" } Block { BlockType Selector Name "select phi\n(2nd is redundant)" Ports [1, 1] Position [865, 236, 905, 274] InputPortWidth "2" IndexOptions "Index vector (dialog)" Indices "1" OutputSizes "[(-2)]" } Block { BlockType "S-Function" Name "wrap to smallest angle" Ports [2, 1] Position [180, 75, 280, 110] FunctionName "wrappen_trajectory" } Block { BlockType Outport Name "phi" Position [970, 248, 1000, 262] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "phirefwrapped" Position [350, 53, 380, 67] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "wrap to smallest angle" SrcPort 1 Points [5, 0] Branch { DstBlock "Mux" DstPort 1 } Branch { Points [0, -35] DstBlock "phirefwrapped" DstPort 1 } } Line { SrcBlock "select phi\n(2nd is redundant)" SrcPort 1 Points [15, 0] Branch { Points [0, -230; -780, 0; 0, 75] DstBlock "wrap to smallest angle" DstPort 2 } Branch { DstBlock "phi" DstPort 1 } } Line { SrcBlock "2D Trajectory Planner" SrcPort 1 DstBlock "select\naccelerations" DstPort 1 } Line { SrcBlock "select\naccelerations" SrcPort 1 DstBlock "Determine position reset" DstPort 1 } Line { SrcBlock "Constant3" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "phi_ref" SrcPort 1 DstBlock "wrap to smallest angle" DstPort 1 } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "Mux" DstPort 3 } Line { SrcBlock "Constant2" SrcPort 1 DstBlock "Mux" DstPort 4 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "2D Trajectory Planner" DstPort 1 } Line { SrcBlock "robot_pos" SrcPort 1 DstBlock "Determine position reset" DstPort 2 } Line { SrcBlock "control enable" SrcPort 1 DstBlock "Determine position reset" DstPort 3 } Line { SrcBlock "Switch3" SrcPort 1 DstBlock "select phi\n(2nd is redundant)" DstPort 1 } Line { SrcBlock "Determine position reset" SrcPort 3 DstBlock "Switch3" DstPort 3 } Line { SrcBlock "Determine position reset" SrcPort 1 Points [10, 0] Branch { DstBlock "Switch3" DstPort 1 } Branch { Points [0, -175; -625, 0; 0, 200] DstBlock "Mux" DstPort 5 } } Line { SrcBlock "Determine position reset" SrcPort 2 DstBlock "Switch3" DstPort 2 } Line { SrcBlock "Determine position reset" SrcPort 4 Points [10, 0; 0, 55; -625, 0; 0, -130] DstBlock "Mux" DstPort 6 } Line { SrcBlock "rotation precision" SrcPort 1 DstBlock "Mux" DstPort 8 } Line { SrcBlock "va_max_rotate" SrcPort 1 DstBlock "Mux" DstPort 7 } } } Block { BlockType "S-Function" Name "phimaker" Ports [9, 2] Position [1040, 69, 1150, 451] FunctionName "phimaker" MaskDisplay "port_label('output', 1, 'phi')\nport_label('input', 1, 'skillID')\nport_label('input', 2, 'target')\nport_label('input', 3, 'aimtarget')\nport_label('input', 4, 'xydot')\nport_label('input', 5, 'xy')\nport_label('input', 6, 'backwards attack')\nport_label('input', 7, 'pose xyo')\nport_label('input', 8, 'target global xyo')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType "S-Function" Name "trajectory planner preprocessor" Ports [10, 3] Position [390, 214, 610, 496] FunctionName "trajplanpreproc" MaskInitialization "labels = getLabels('trajplanpreproc.c');\nset_param(gcb,'MaskDisplay',labels);" MaskDisplay "port_label('input',1,'skillID')\nport_label('input',2,'desired refbox task velocity')\nport_label('input',3,'tunable parameters')\nport_label('input',4,'role ID')\nport_label('input',5,'phi_ref')\nport_label('input',6,'pose_encoders')\nport_label('input',7,'cur_xydot')\nport_label('input',8,'robot ID')\nport_label('input',9,'robot position: cur_xyo')\nport_label('input',10,'desired action acceleration')\nport_label('output',1,'va_max')\nport_label('output',2,'skill ID for trajectory planner')\nport_label('output',3,'va_max rotate (for phi)')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType SubSystem Name "xy trajectory planner" Ports [8, 3] Position [745, 163, 880, 512] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "xy trajectory planner" Location [226, 212, 1333, 834] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "subtarget xy" Position [90, 168, 120, 182] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "va_max" Position [90, 368, 120, 382] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "skill ID" Position [415, 168, 445, 182] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "robot_pos" Position [550, 318, 580, 332] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "phi" Position [415, 118, 445, 132] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control_enable" Position [405, 358, 435, 372] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "turn flag" Position [405, 323, 435, 337] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "robotID" Position [90, 408, 120, 422] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [210, 160, 240, 190] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant2" Position [210, 240, 240, 270] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [160, 405, 205, 425] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion3" Position [495, 165, 540, 185] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux1" Ports [1, 2] Position [185, 93, 190, 257] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux" Ports [8, 1] Position [260, 105, 265, 445] ShowName off Inputs "8" DisplayOption "bar" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [830, 240, 850, 260] ShowName off IconShape "round" Inputs "-+|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [890, 240, 910, 260] ShowName off IconShape "round" Inputs "++|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [140, 165, 160, 185] ShowName off IconShape "round" Inputs "-+|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch3" Position [950, 225, 980, 375] ShowName off Criteria "u2 > Threshold" Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay" Position [540, 388, 575, 422] ShowName off SampleTime "-1" } Block { BlockType SubSystem Name "parking brake" Ports [4, 1] Position [470, 260, 560, 315] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "parking brake" Location [867, 102, 1633, 559] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "a_xy" Position [25, 93, 55, 107] IconDisplay "Port number" } Block { BlockType Inport Name "overshoot flag" Position [25, 213, 55, 227] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "control enable" Position [25, 248, 55, 262] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "turn flag" Position [105, 368, 135, 382] Port "4" IconDisplay "Port number" } Block { BlockType Switch Name "Switch" Position [440, 255, 470, 285] Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "handbrake dribble turn" Ports [3, 1] Position [290, 336, 420, 404] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "handbrake dribble turn" Location [815, 201, 1260, 472] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "a_xy" Position [25, 48, 55, 62] IconDisplay "Port number" } Block { BlockType Inport Name "trigger" Position [45, 168, 75, 182] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "control enable" Position [45, 203, 75, 217] Port "3" IconDisplay "Port number" } Block { BlockType Gain Name " brakinggain" Position [245, 195, 275, 225] Gain "4" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux4" Ports [1, 2] Position [145, 27, 150, 78] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux1" Ports [2, 1] Position [360, 144, 365, 246] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Product Name "Product" Ports [2, 1] Position [100, 156, 130, 229] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch" Position [310, 155, 340, 185] Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [310, 205, 340, 235] Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Selector Name "accelrations" Ports [1, 1] Position [80, 36, 120, 74] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "[1 2]" OutputSizes "[(-2)]" } Block { BlockType Gain Name "brakinggain" Position [245, 145, 275, 175] Gain "4" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "a_xy1" Position [390, 188, 420, 202] IconDisplay "Port number" } Line { SrcBlock "control enable" SrcPort 1 DstBlock "Product" DstPort 2 } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "a_xy1" DstPort 1 } Line { SrcBlock "trigger" SrcPort 1 DstBlock "Product" DstPort 1 } Line { SrcBlock "a_xy" SrcPort 1 DstBlock "accelrations" DstPort 1 } Line { SrcBlock "Demux4" SrcPort 1 Points [70, 0; 0, 70] Branch { Points [0, 70] DstBlock "Switch" DstPort 3 } Branch { Points [5, 0] DstBlock "brakinggain" DstPort 1 } } Line { SrcBlock "Switch1" SrcPort 1 DstBlock "Mux1" DstPort 2 } Line { SrcBlock " brakinggain" SrcPort 1 DstBlock "Switch1" DstPort 1 } Line { SrcBlock "Demux4" SrcPort 2 Points [40, 0; 0, 145] Branch { DstBlock " brakinggain" DstPort 1 } Branch { Points [0, 20] DstBlock "Switch1" DstPort 3 } } Line { SrcBlock "Switch" SrcPort 1 DstBlock "Mux1" DstPort 1 } Line { SrcBlock "brakinggain" SrcPort 1 DstBlock "Switch" DstPort 1 } Line { SrcBlock "accelrations" SrcPort 1 DstBlock "Demux4" DstPort 1 } Line { SrcBlock "Product" SrcPort 1 Points [35, 0] Branch { Points [15, 0; 0, -25] DstBlock "Switch" DstPort 2 } Branch { Points [0, 25] DstBlock "Switch1" DstPort 2 } } } } Block { BlockType SubSystem Name "handbrake overshoot" Ports [3, 1] Position [250, 186, 380, 254] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "handbrake overshoot" Location [815, 201, 1260, 472] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "a_xy" Position [25, 48, 55, 62] IconDisplay "Port number" } Block { BlockType Inport Name "trigger" Position [45, 168, 75, 182] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "control enable" Position [45, 203, 75, 217] Port "3" IconDisplay "Port number" } Block { BlockType Gain Name " brakinggain" Position [245, 195, 275, 225] Gain "overshootbrakegain" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux1" Ports [1, 2] Position [160, 167, 165, 218] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Demux Name "Demux4" Ports [1, 2] Position [145, 27, 150, 78] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux1" Ports [2, 1] Position [360, 144, 365, 246] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Product Name "Product" Ports [2, 1] Position [100, 156, 130, 229] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch" Position [310, 155, 340, 185] Threshold "2.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [310, 205, 340, 235] Threshold "2.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Selector Name "accelrations" Ports [1, 1] Position [80, 36, 120, 74] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "[1 2]" OutputSizes "[(-2)]" } Block { BlockType Gain Name "brakinggain" Position [245, 145, 275, 175] Gain "overshootbrakegain" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "a_xy1" Position [390, 188, 420, 202] IconDisplay "Port number" } Line { SrcBlock "accelrations" SrcPort 1 DstBlock "Demux4" DstPort 1 } Line { SrcBlock "brakinggain" SrcPort 1 DstBlock "Switch" DstPort 1 } Line { SrcBlock "Switch" SrcPort 1 DstBlock "Mux1" DstPort 1 } Line { SrcBlock "Demux4" SrcPort 2 Points [40, 0; 0, 145] Branch { Points [0, 20] DstBlock "Switch1" DstPort 3 } Branch { DstBlock " brakinggain" DstPort 1 } } Line { SrcBlock " brakinggain" SrcPort 1 DstBlock "Switch1" DstPort 1 } Line { SrcBlock "Switch1" SrcPort 1 DstBlock "Mux1" DstPort 2 } Line { SrcBlock "Demux4" SrcPort 1 Points [70, 0; 0, 70] Branch { Points [5, 0] DstBlock "brakinggain" DstPort 1 } Branch { Points [0, 70] DstBlock "Switch" DstPort 3 } } Line { SrcBlock "a_xy" SrcPort 1 DstBlock "accelrations" DstPort 1 } Line { SrcBlock "trigger" SrcPort 1 DstBlock "Product" DstPort 1 } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "a_xy1" DstPort 1 } Line { SrcBlock "control enable" SrcPort 1 DstBlock "Product" DstPort 2 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 1 Points [55, 0; 0, -40; 65, 0; 0, 30] DstBlock "Switch" DstPort 2 } Line { SrcBlock "Demux1" SrcPort 2 Points [55, 0; 0, -65; 65, 0; 0, 80] DstBlock "Switch1" DstPort 2 } } } Block { BlockType Outport Name "a_xy " Position [510, 263, 540, 277] IconDisplay "Port number" } Line { SrcBlock "a_xy" SrcPort 1 Points [100, 0] Branch { Points [75, 0] DstBlock "handbrake overshoot" DstPort 1 } Branch { Points [0, 250] DstBlock "handbrake dribble turn" DstPort 1 } } Line { SrcBlock "control enable" SrcPort 1 Points [150, 0] Branch { Points [25, 0] DstBlock "handbrake overshoot" DstPort 3 } Branch { Points [0, 135] DstBlock "handbrake dribble turn" DstPort 3 } } Line { SrcBlock "overshoot flag" SrcPort 1 DstBlock "handbrake overshoot" DstPort 2 } Line { SrcBlock "turn flag" SrcPort 1 Points [115, 0] Branch { Points [20, 0] DstBlock "handbrake dribble turn" DstPort 2 } Branch { Points [0, -105] DstBlock "Switch" DstPort 2 } } Line { SrcBlock "handbrake dribble turn" SrcPort 1 Points [0, -90; -5, 0; 0, -20] DstBlock "Switch" DstPort 1 } Line { SrcBlock "handbrake overshoot" SrcPort 1 Points [35, 0; 0, 60] DstBlock "Switch" DstPort 3 } Line { SrcBlock "Switch" SrcPort 1 DstBlock "a_xy " DstPort 1 } } } Block { BlockType SubSystem Name "position reset: skill ID switching, control enable" Ports [5, 4] Position [600, 229, 795, 421] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "position reset: skill ID switching, control enable" Location [586, 227, 1395, 527] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "skill ID" Position [55, 223, 85, 237] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "axy" Position [55, 48, 85, 62] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "robot_pos" Position [55, 173, 85, 187] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control enable" Position [55, 113, 85, 127] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "xy" Position [55, 268, 85, 282] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [285, 213, 325, 247] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion2" Position [285, 103, 325, 137] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType HitCross Name "Hit \nCrossing" Ports [1, 1] Position [240, 105, 270, 135] ShowName off HitCrossingOffset "0.5" HitCrossingDirection "either" } Block { BlockType HitCross Name "Hit \nCrossing1" Ports [1, 1] Position [240, 215, 270, 245] ShowName off HitCrossingOffset "1.5" HitCrossingDirection "falling" } Block { BlockType Integrator Name "Integrator" Ports [3, 1] Position [555, 35, 590, 205] ShowName off ExternalReset "rising" InitialConditionSource "external" InitialCondition "[0 0]" } Block { BlockType Integrator Name "Integrator1" Ports [2, 1] Position [485, 43, 520, 87] ShowName off ExternalReset "rising" InitialCondition "[0 0]" } Block { BlockType Product Name "Product" Ports [2, 1] Position [350, 157, 380, 188] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [350, 252, 380, 283] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [405, 110, 425, 130] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [450, 165, 470, 185] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Selector Name "accelrations" Ports [1, 1] Position [115, 161, 155, 199] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "[1 2]" OutputSizes "[(-2)]" } Block { BlockType Outport Name " xy" Position [615, 113, 645, 127] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name " control enable" Position [195, 128, 225, 142] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name " robot_pos" Position [195, 193, 225, 207] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name " vxy" Position [600, 18, 630, 32] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Integrator" SrcPort 1 Points [0, 0] DstBlock " xy" DstPort 1 } Line { SrcBlock "axy" SrcPort 1 DstBlock "Integrator1" DstPort 1 } Line { SrcBlock "Sum2" SrcPort 1 DstBlock "Integrator" DstPort 3 } Line { SrcBlock "Product1" SrcPort 1 Points [75, 0] DstBlock "Sum2" DstPort 2 } Line { SrcBlock "xy" SrcPort 1 DstBlock "Product1" DstPort 2 } Line { SrcBlock "Hit \nCrossing1" SrcPort 1 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "robot_pos" SrcPort 1 DstBlock "accelrations" DstPort 1 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum2" DstPort 1 } Line { SrcBlock "skill ID" SrcPort 1 DstBlock "Hit \nCrossing1" DstPort 1 } Line { SrcBlock "control enable" SrcPort 1 Points [90, 0] Branch { DstBlock "Hit \nCrossing" DstPort 1 } Branch { DstBlock " control enable" DstPort 1 } } Line { SrcBlock "Hit \nCrossing" SrcPort 1 DstBlock "Data Type Conversion2" DstPort 1 } Line { SrcBlock "accelrations" SrcPort 1 Points [20, 0] Branch { DstBlock "Product" DstPort 2 } Branch { DstBlock " robot_pos" DstPort 1 } } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Integrator" DstPort 2 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 Points [5, 0] Branch { DstBlock "Product1" DstPort 1 } Branch { Points [80, 0] DstBlock "Sum1" DstPort 2 } } Line { SrcBlock "Data Type Conversion2" SrcPort 1 Points [5, 0] Branch { DstBlock "Product" DstPort 1 } Branch { Points [35, 0] Branch { DstBlock "Sum1" DstPort 1 } Branch { Points [0, -45] DstBlock "Integrator1" DstPort 2 } } } Line { SrcBlock "Integrator1" SrcPort 1 Points [5, 0] Branch { Points [0, 0; 0, -40] DstBlock " vxy" DstPort 1 } Branch { DstBlock "Integrator" DstPort 1 } } } } Block { BlockType SubSystem Name "rotation part to rotate around ball" Ports [2, 2] Position [600, 100, 795, 200] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "rotation part to rotate around ball" Location [40, 216, 997, 593] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "phi" Position [50, 28, 80, 42] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "skill ID" Position [50, 163, 80, 177] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant" Position [560, 195, 590, 225] Value "[0 0]" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant2" Position [560, 105, 590, 135] Value "[0 0]" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [305, 153, 380, 187] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain2" Position [350, 95, 380, 125] Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType HitCross Name "Hit \nCrossing" Ports [1, 1] Position [250, 155, 280, 185] HitCrossingOffset "1.5" HitCrossingDirection "rising" } Block { BlockType Memory Name "Memory" Position [495, 190, 525, 220] Orientation "left" } Block { BlockType Mux Name "Mux1" Ports [2, 1] Position [455, 13, 460, 142] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Product Name "Product" Ports [2, 1] Position [305, 27, 335, 58] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [305, 92, 335, 123] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch" Position [610, 175, 640, 205] Threshold "1.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [610, 75, 640, 105] Threshold "1.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch2" Position [500, 155, 530, 185] ShowName off Criteria "u2 > Threshold" Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [250, 100, 280, 130] ShowName off Operator "cos" } Block { BlockType Trigonometry Name "Trigonometric\nFunction2" Ports [1, 1] Position [250, 20, 280, 50] ShowName off } Block { BlockType Constant Name "robot-ball distance" Position [155, 60, 185, 90] Value "get_global_par('BALLROBOTDIST')" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "dynamic rotation part xy" Position [725, 83, 755, 97] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "static rotation part xy" Position [725, 183, 755, 197] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "phi" SrcPort 1 Points [145, 0] Branch { Points [0, 80] DstBlock "Trigonometric\nFunction1" DstPort 1 } Branch { DstBlock "Trigonometric\nFunction2" DstPort 1 } } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 DstBlock "Product1" DstPort 2 } Line { SrcBlock "Trigonometric\nFunction2" SrcPort 1 DstBlock "Product" DstPort 1 } Line { SrcBlock "Gain2" SrcPort 1 Points [0, 0] DstBlock "Mux1" DstPort 2 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Mux1" DstPort 1 } Line { SrcBlock "Mux1" SrcPort 1 Points [0, 0; 20, 0] Branch { DstBlock "Switch2" DstPort 1 } Branch { DstBlock "Switch1" DstPort 1 } } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Gain2" DstPort 1 } Line { SrcBlock "skill ID" SrcPort 1 Points [145, 0] Branch { DstBlock "Hit \nCrossing" DstPort 1 } Branch { Points [0, 60; 320, 0; 0, -40] Branch { DstBlock "Switch" DstPort 2 } Branch { Points [0, -100] DstBlock "Switch1" DstPort 2 } } } Line { SrcBlock "Hit \nCrossing" SrcPort 1 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 Points [0, 0] DstBlock "Switch2" DstPort 2 } Line { SrcBlock "Switch2" SrcPort 1 Points [0, 0; 5, 0] Branch { Points [55, 0] DstBlock "Switch" DstPort 1 } Branch { DstBlock "Memory" DstPort 1 } } Line { SrcBlock "Constant" SrcPort 1 Points [0, 0] DstBlock "Switch" DstPort 3 } Line { SrcBlock "Switch" SrcPort 1 Points [0, 0] DstBlock "static rotation part xy" DstPort 1 } Line { SrcBlock "Constant2" SrcPort 1 DstBlock "Switch1" DstPort 3 } Line { SrcBlock "Switch1" SrcPort 1 Points [0, 0] DstBlock "dynamic rotation part xy" DstPort 1 } Line { SrcBlock "robot-ball distance" SrcPort 1 Points [100, 0] Branch { DstBlock "Product" DstPort 2 } Branch { DstBlock "Product1" DstPort 1 } } Line { SrcBlock "Memory" SrcPort 1 Points [-5, 0] DstBlock "Switch2" DstPort 3 } } } Block { BlockType "S-Function" Name "trajectory planner xy" Ports [1, 2] Position [305, 253, 420, 297] FunctionName "trajectoryplanner" } Block { BlockType Outport Name "cur_xydot" Position [1005, 393, 1035, 407] IconDisplay "Port number" } Block { BlockType Outport Name "xy_ball_dribble" Position [1005, 453, 1035, 467] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "xy" Position [1005, 293, 1035, 307] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Mux" SrcPort 1 DstBlock "trajectory planner xy" DstPort 1 } Line { SrcBlock "parking brake" SrcPort 1 Points [0, -5] DstBlock "position reset: skill ID switching, control enable" DstPort 2 } Line { SrcBlock "trajectory planner xy" SrcPort 2 Points [30, 0] DstBlock "parking brake" DstPort 2 } Line { Labels [1, 0] SrcBlock "skill ID" SrcPort 1 DstBlock "Data Type Conversion3" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 Points [10, 0] Branch { Points [0, -200; -800, 0; 0, 245] DstBlock "Mux" DstPort 5 } Branch { DstBlock "Sum1" DstPort 2 } } Line { SrcBlock "Sum1" SrcPort 1 Points [10, 0] Branch { DstBlock "Switch3" DstPort 1 } Branch { Points [0, 210] Branch { Points [-400, 0] DstBlock "Unit Delay" DstPort 1 } Branch { DstBlock "xy_ball_dribble" DstPort 1 } } } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Constant2" SrcPort 1 DstBlock "Mux" DstPort 4 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 2 DstBlock "Mux" DstPort 3 } Line { SrcBlock "position reset: skill ID switching, control enable" SrcPort 4 Points [10, 0] Branch { DstBlock "cur_xydot" DstPort 1 } Branch { Points [0, 85; -740, 0; 0, -150] DstBlock "Mux" DstPort 6 } } Line { SrcBlock "Switch3" SrcPort 1 DstBlock "xy" DstPort 1 } Line { SrcBlock "position reset: skill ID switching, control enable" SrcPort 2 DstBlock "Switch3" DstPort 2 } Line { SrcBlock "robot_pos" SrcPort 1 DstBlock "position reset: skill ID switching, control enable" DstPort 3 } Line { SrcBlock "control_enable" SrcPort 1 Points [10, 0] Branch { DstBlock "position reset: skill ID switching, control enable" DstPort 4 } Branch { Points [0, -70] DstBlock "parking brake" DstPort 3 } } Line { SrcBlock "phi" SrcPort 1 DstBlock "rotation part to rotate around ball" DstPort 1 } Line { SrcBlock "Unit Delay" SrcPort 1 DstBlock "position reset: skill ID switching, control enable" DstPort 5 } Line { SrcBlock "trajectory planner xy" SrcPort 1 DstBlock "parking brake" DstPort 1 } Line { SrcBlock "va_max" SrcPort 1 DstBlock "Mux" DstPort 7 } Line { SrcBlock "Data Type Conversion3" SrcPort 1 Points [30, 0] Branch { DstBlock "rotation part to rotate around ball" DstPort 2 } Branch { Points [0, 70] DstBlock "position reset: skill ID switching, control enable" DstPort 1 } } Line { SrcBlock "position reset: skill ID switching, control enable" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "rotation part to rotate around ball" SrcPort 2 Points [40, 0] Branch { DstBlock "Sum" DstPort 1 } Branch { Points [0, -100; -690, 0] DstBlock "Sum2" DstPort 1 } } Line { SrcBlock "rotation part to rotate around ball" SrcPort 1 Points [100, 0] DstBlock "Sum1" DstPort 1 } Line { SrcBlock "position reset: skill ID switching, control enable" SrcPort 3 DstBlock "Switch3" DstPort 3 } Line { SrcBlock "subtarget xy" SrcPort 1 DstBlock "Sum2" DstPort 2 } Line { SrcBlock "Sum2" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "turn flag" SrcPort 1 Points [0, -20] DstBlock "parking brake" DstPort 4 } Line { SrcBlock "robotID" SrcPort 1 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 DstBlock "Mux" DstPort 8 } } } Block { BlockType Outport Name "pose_g_robot_ref" Position [1465, 488, 1495, 502] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "cur_dxdy" Position [970, 193, 1000, 207] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "va_max" Position [665, 253, 695, 267] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "phi trajectory planner" SrcPort 1 Points [20, 0] Branch { DstBlock "Mux1" DstPort 2 } Branch { Points [0, 205; -685, 0; 0, -370] DstBlock "xy trajectory planner" DstPort 5 } } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "pose_g_robot_ref" DstPort 1 } Line { SrcBlock "xy trajectory planner" SrcPort 3 Points [505, 0] DstBlock "Mux1" DstPort 1 } Line { SrcBlock "phi trajectory planner" SrcPort 2 Points [10, 0; 0, 80] DstBlock "Unit Delay" DstPort 1 } Line { SrcBlock "Bus decoder1" SrcPort 4 Points [370, 0; 0, -30; 235, 0; 0, 155] DstBlock "phimaker" DstPort 6 } Line { SrcBlock "xy trajectory planner" SrcPort 2 Points [30, 0; 0, -80] DstBlock "phimaker" DstPort 5 } Line { SrcBlock "phimaker" SrcPort 1 Points [15, 0; 0, 335] DstBlock "phi trajectory planner" DstPort 1 } Line { SrcBlock "From5" SrcPort 1 DstBlock "Data Type Conversion2" DstPort 1 } Line { SrcBlock "trajectory planner preprocessor" SrcPort 1 Points [0, -15; 35, 0] Branch { Points [80, 0] DstBlock "xy trajectory planner" DstPort 2 } Branch { DstBlock "va_max" DstPort 1 } } Line { SrcBlock "Bus decoder" SrcPort 1 Points [35, 0] Branch { DstBlock "trajectory planner preprocessor" DstPort 6 } Branch { Points [0, -40; 395, 0] DstBlock "xy trajectory planner" DstPort 4 } Branch { Points [0, 295] DstBlock "phi trajectory planner" DstPort 4 } } Line { SrcBlock "Bus decoder1" SrcPort 2 Points [0, 5] DstBlock "(sub)target filtering + global to local" DstPort 3 } Line { SrcBlock "Bus decoder1" SrcPort 1 Points [60, 0] Branch { DstBlock "(sub)target filtering + global to local" DstPort 2 } Branch { Points [0, 95; 315, 0; 0, -45; 225, 0; 0, 230] DstBlock "phimaker" DstPort 8 } } Line { SrcBlock "From3" SrcPort 1 DstBlock "(sub)target filtering + global to local" DstPort 1 } Line { SrcBlock "Bus decoder1" SrcPort 3 Points [75, 0] DstBlock "(sub)target filtering + global to local" DstPort 4 } Line { SrcBlock "xy trajectory planner" SrcPort 1 Points [5, 0] Branch { Points [0, 450] DstBlock "Unit Delay1" DstPort 1 } Branch { Points [45, 0] Branch { Points [0, -25] DstBlock "cur_dxdy" DstPort 1 } Branch { Points [90, 0] DstBlock "phimaker" DstPort 4 } } } Line { SrcBlock "Data Type Conversion2" SrcPort 1 DstBlock "trajectory planner preprocessor" DstPort 4 } Line { SrcBlock "Bus decoder1" SrcPort 5 Points [50, 0; 0, 20] DstBlock "trajectory planner preprocessor" DstPort 1 } Line { SrcBlock "Unit Delay" SrcPort 1 Points [-80, 0; 0, -380] DstBlock "trajectory planner preprocessor" DstPort 5 } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [-160, 0; 0, -275] DstBlock "trajectory planner preprocessor" DstPort 7 } Line { SrcBlock "(sub)target filtering + global to local" SrcPort 2 Points [320, 0; 0, 65] DstBlock "phimaker" DstPort 3 } Line { SrcBlock "From18" SrcPort 1 DstBlock "phimaker" DstPort 7 } Line { SrcBlock "trajectory planner preprocessor" SrcPort 3 Points [0, 160] DstBlock "phi trajectory planner" DstPort 3 } Line { SrcBlock "(sub)target filtering + global to local" SrcPort 1 Points [400, 0; 0, 65] DstBlock "phimaker" DstPort 2 } Line { SrcBlock "(sub)target filtering + global to local" SrcPort 3 Points [110, 0] Branch { DstBlock "xy trajectory planner" DstPort 1 } Branch { Points [165, 0; 0, 265] DstBlock "phimaker" DstPort 9 } } Line { SrcBlock "trajectory planner preprocessor" SrcPort 2 Points [10, 0; 0, -65] Branch { Points [105, 0] DstBlock "xy trajectory planner" DstPort 3 } Branch { Points [0, -190] DstBlock "phimaker" DstPort 1 } } Line { SrcBlock "phimaker" SrcPort 2 Points [0, 190; -430, 0; 0, -95] DstBlock "xy trajectory planner" DstPort 7 } Line { SrcBlock "Motion_tuning_bus" SrcPort 1 DstBlock "trajectory planner preprocessor" DstPort 3 } Line { SrcBlock "Unit Delay2" SrcPort 1 Points [110, 0] Branch { DstBlock "phi trajectory planner" DstPort 2 } Branch { Points [0, -150] DstBlock "xy trajectory planner" DstPort 6 } } Line { SrcBlock "control enable,\namps on" SrcPort 1 DstBlock "Unit Delay2" DstPort 1 } Line { SrcBlock "motionbus" SrcPort 1 DstBlock "Bus decoder" DstPort 1 } Line { SrcBlock "actionsbus" SrcPort 1 DstBlock "Bus decoder1" DstPort 1 } Line { SrcBlock "Bus decoder1" SrcPort 6 Points [45, 0; 0, 25] DstBlock "trajectory planner preprocessor" DstPort 2 } Line { SrcBlock "TRCbus" SrcPort 1 DstBlock "Bus decoder2" DstPort 1 } Line { SrcBlock "Bus decoder2" SrcPort 1 Points [15, 0] Branch { Points [415, 0] DstBlock "xy trajectory planner" DstPort 8 } Branch { Points [0, -80] DstBlock "trajectory planner preprocessor" DstPort 8 } } Line { SrcBlock "From1" SrcPort 1 DstBlock "trajectory planner preprocessor" DstPort 9 } Line { SrcBlock "Bus decoder1" SrcPort 7 Points [25, 0; 0, 240] DstBlock "trajectory planner preprocessor" DstPort 10 } } } Block { BlockType Outport Name "controlbus" Position [1450, 758, 1480, 772] BackgroundColor "gray" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "keeper frame control" SrcPort 1 Points [40, 0] Branch { Points [0, 575; -205, 0; 0, -85] DstBlock "LED control" DstPort 2 } Branch { Points [315, 0] DstBlock "Bus assigner2" DstPort 1 } } Line { SrcBlock "manual control (joystick)" SrcPort 2 Points [290, 0; 0, 5] DstBlock "kick control" DstPort 1 } Line { SrcBlock "manual control (joystick)" SrcPort 3 Points [290, 0; 0, 5] DstBlock "kick control" DstPort 2 } Line { SrcBlock "ball handling control" SrcPort 1 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "motion emergency handler:\namplifier and power control" SrcPort 1 Points [275, 0; 0, -65] DstBlock "kick control" DstPort 3 } Line { SrcBlock "motion emergency handler:\namplifier and power control" SrcPort 3 Points [55, 0] Branch { Points [0, -260] DstBlock "keeper frame control" DstPort 2 } Branch { Points [115, 0; 0, 415] DstBlock "Bus assigner1" DstPort 4 } } Line { SrcBlock "manual control (joystick)" SrcPort 4 Points [15, 0; 0, 35] Branch { Points [-170, 0] DstBlock "motion emergency handler:\namplifier and power control" DstPort 1 } Branch { Points [250, 0; 0, 110] DstBlock "kick control" DstPort 7 } } Line { SrcBlock "motion emergency handler:\namplifier and power control" SrcPort 6 Points [85, 0; 0, 70] Branch { Points [-245, 0; 0, 40] DstBlock "trajectory planner" DstPort 1 } Branch { Points [45, 0; 0, 310] DstBlock "Bus assigner1" DstPort 6 } } Line { SrcBlock "motionbus" SrcPort 1 Points [50, 0] Branch { Points [0, 95] Branch { Points [455, 0; 0, 0] Branch { Points [0, -185] DstBlock "kick control" DstPort 4 } Branch { Points [0, 100] DstBlock "LED control" DstPort 1 } Branch { DstBlock "ball handling control" DstPort 2 } } Branch { Points [0, 95] DstBlock "trajectory planner" DstPort 2 } } Branch { Points [0, -15] DstBlock "motion emergency handler:\namplifier and power control" DstPort 2 } } Line { SrcBlock "trajectory planner" SrcPort 2 DstBlock "Goto5" DstPort 1 } Line { SrcBlock "trajectory planner" SrcPort 3 Points [90, 0; 0, 255; 510, 0] Branch { DstBlock "Bus assigner1" DstPort 8 } Branch { Points [0, 25] DstBlock "Goto3" DstPort 1 } } Line { SrcBlock "Motion_tuning_bus" SrcPort 1 Points [15, 0] Branch { Points [0, 90] DstBlock "trajectory planner" DstPort 3 } Branch { Points [0, 0] Branch { Points [460, 0] Branch { Points [0, -170] DstBlock "kick control" DstPort 5 } Branch { DstBlock "ball handling control" DstPort 3 } } Branch { Points [0, -345] DstBlock "manual control (joystick)" DstPort 1 } } } Line { SrcBlock "TRCbus" SrcPort 1 Points [25, 0] Branch { Points [0, 115] Branch { DstBlock "manual control (joystick)" DstPort 2 } Branch { Points [0, 205] Branch { DstBlock "motion emergency handler:\namplifier and power control" DstPort 3 } Branch { Points [0, 210] DstBlock "trajectory planner" DstPort 5 } } } Branch { Points [430, 0; 0, 50] Branch { Points [0, 225] Branch { Points [0, 155] Branch { Points [0, 110] DstBlock "LED control" DstPort 3 } Branch { DstBlock "ball handling control" DstPort 4 } } Branch { DstBlock "kick control" DstPort 6 } } Branch { DstBlock "keeper frame control" DstPort 3 } } } Line { SrcBlock "visionbus" SrcPort 1 DstBlock "keeper frame control" DstPort 1 } Line { SrcBlock "Data Type Conversion" SrcPort 1 Points [5, 0; 0, -70] Branch { Points [0, -45] DstBlock "Goto4" DstPort 1 } Branch { Points [45, 0; 0, -30; 185, 0] DstBlock "Bus assigner2" DstPort 7 } } Line { SrcBlock "actionsbus" SrcPort 1 Points [40, 0] Branch { DstBlock "trajectory planner" DstPort 4 } Branch { Points [0, -65] Branch { Points [450, 0] Branch { Points [0, 115] DstBlock "LED control" DstPort 4 } Branch { DstBlock "ball handling control" DstPort 5 } } Branch { Points [0, -90] Branch { DstBlock "motion emergency handler:\namplifier and power control" DstPort 4 } Branch { Points [0, -195] DstBlock "manual control (joystick)" DstPort 3 } } } } Line { SrcBlock "kick control" SrcPort 6 Points [20, 0; 0, 35] DstBlock "Sum" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 Points [5, 0; 0, -90] DstBlock "Bus assigner2" DstPort 6 } Line { SrcBlock "kick control" SrcPort 5 Points [30, 0; 0, 110; -185, 0] DstBlock "ball handling control" DstPort 1 } Line { SrcBlock "kick control" SrcPort 1 Points [355, 0] DstBlock "Bus assigner2" DstPort 2 } Line { SrcBlock "kick control" SrcPort 2 Points [355, 0] DstBlock "Bus assigner2" DstPort 3 } Line { SrcBlock "kick control" SrcPort 3 Points [355, 0] DstBlock "Bus assigner2" DstPort 4 } Line { SrcBlock "ball handling control" SrcPort 2 Points [185, 0; 0, -95] DstBlock "Bus assigner2" DstPort 8 } Line { SrcBlock "ball handling control" SrcPort 3 Points [220, 0; 0, -85] DstBlock "Bus assigner2" DstPort 9 } Line { SrcBlock "ball handling control" SrcPort 4 Points [285, 0; 0, -75] DstBlock "Bus assigner2" DstPort 10 } Line { SrcBlock "LED control" SrcPort 1 Points [180, 0; 0, -40; 175, 0] DstBlock "Bus assigner2" DstPort 11 } Line { SrcBlock "LED control" SrcPort 2 Points [220, 0; 0, -110] DstBlock "Bus assigner2" DstPort 12 } Line { SrcBlock "Bus assigner2" SrcPort 1 Points [90, 0; 0, 315; -310, 0] DstBlock "Bus assigner1" DstPort 1 } Line { SrcBlock "Bus assigner1" SrcPort 1 DstBlock "controlbus" DstPort 1 } Line { SrcBlock "manual control (joystick)" SrcPort 1 Points [210, 0; 0, 600] DstBlock "Bus assigner1" DstPort 2 } Line { SrcBlock "motion emergency handler:\namplifier and power control" SrcPort 2 Points [190, 0; 0, 420] DstBlock "Bus assigner1" DstPort 3 } Line { SrcBlock "motion emergency handler:\namplifier and power control" SrcPort 4 Points [150, 0; 0, 410] DstBlock "Bus assigner1" DstPort 5 } Line { SrcBlock "trajectory planner" SrcPort 1 Points [110, 0; 0, 285] DstBlock "Bus assigner1" DstPort 7 } Line { SrcBlock "kick control" SrcPort 4 Points [355, 0] DstBlock "Bus assigner2" DstPort 5 } Line { SrcBlock "motion emergency handler:\namplifier and power control" SrcPort 5 Points [510, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "LRFbus" SrcPort 1 DstBlock "Bus decoder" DstPort 1 } Line { SrcBlock "Bus decoder" SrcPort 1 Points [30, 0; 0, -100] DstBlock "Bus assigner2" DstPort 13 } Line { SrcBlock "RS485_422_CH2" SrcPort 1 Points [225, 0; 0, -100] DstBlock "Bus assigner2" DstPort 14 } Line { SrcBlock "kick control" SrcPort 7 Points [10, 0; 0, 240] DstBlock "Bus assigner2" DstPort 15 } } } Block { BlockType SubSystem Name "general communication\ntodo: vision only" Ports [4, 1] Position [105, 104, 230, 216] BackgroundColor "yellow" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "general communication\ntodo: vision only" Location [5, 77, 1275, 690] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "motionbus" Position [395, 93, 425, 107] ForegroundColor "green" IconDisplay "Port number" } Block { BlockType Inport Name "actionsbus" Position [395, 123, 425, 137] ForegroundColor "[0.700000, 0.500000, 0.000000]" Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "TRCbus" Position [395, 153, 425, 167] ForegroundColor "lightBlue" Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Controlbus" Position [395, 183, 425, 197] ForegroundColor "gray" Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [555, 270, 600, 290] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion10" Position [555, 600, 600, 620] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion11" Position [555, 630, 600, 650] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion3" Position [555, 330, 600, 350] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion4" Position [555, 360, 600, 380] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion7" Position [555, 480, 600, 500] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion8" Position [555, 510, 600, 530] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType From Name "From1" Position [355, 271, 470, 289] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "current_role" TagVisibility "global" } Block { BlockType From Name "From13" Position [355, 391, 470, 409] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "CPPArobot" TagVisibility "global" } Block { BlockType From Name "From15" Position [355, 421, 470, 439] BackgroundColor "red" ShowName off CloseFcn "tagdialog Close" GotoTag "CPBteam" TagVisibility "global" } Block { BlockType From Name "From18" Position [355, 211, 470, 229] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "cur_xyo" TagVisibility "global" } Block { BlockType From Name "From19" Position [355, 451, 470, 469] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "cur_xyo_at_l2g_vision" TagVisibility "global" } Block { BlockType From Name "From2" Position [355, 241, 470, 259] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "LaserPoseFound" TagVisibility "global" } Block { BlockType From Name "From20" Position [355, 481, 470, 499] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "RefboxStageState" TagVisibility "global" } Block { BlockType From Name "From21" Position [355, 511, 470, 529] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "GameStageState" TagVisibility "global" } Block { BlockType From Name "From24" Position [355, 571, 470, 589] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "wppathlength" TagVisibility "global" } Block { BlockType From Name "From26" Position [355, 601, 470, 619] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "pass_role_id" TagVisibility "global" } Block { BlockType From Name "From27" Position [355, 631, 470, 649] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "RefboxRandNr" TagVisibility "global" } Block { BlockType From Name "From30" Position [220, 721, 335, 739] BackgroundColor "[0.700000, 0.500000, 0.000000]" ShowName off CloseFcn "tagdialog Close" GotoTag "temp" TagVisibility "global" } Block { BlockType From Name "From6" Position [355, 301, 470, 319] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "refbox_role" TagVisibility "global" } Block { BlockType From Name "From7" Position [355, 331, 470, 349] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "assigned_role" TagVisibility "global" } Block { BlockType From Name "From8" Position [355, 361, 470, 379] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "roleSwitch" TagVisibility "global" } Block { BlockType From Name "From9" Position [355, 541, 470, 559] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "waypoints_xy" TagVisibility "global" } Block { BlockType Terminator Name "Terminator1" Position [495, 720, 515, 740] } Block { BlockType "S-Function" Name "mccomm_motion1" Ports [19, 1] Position [865, 76, 1080, 664] BackgroundColor "green" FunctionName "mccomm_motion" } Block { BlockType Selector Name "path_xy" Ports [1, 1] Position [405, 711, 445, 749] InputPortWidth "3*NOBST_TEAMMEMBERS_MAX*(MAX_ACTIVE_TURTLES-1)" IndexOptions "Index vector (dialog)" Indices "[1:16]" OutputSizes "1" } Block { BlockType Selector Name "path_xy1" Ports [1, 1] Position [485, 531, 525, 569] InputPortWidth "150" IndexOptions "Index vector (dialog)" Indices "[1,2,4,5,7,8,10,11,13,14,16,17,19,20,22,23]" OutputSizes "1" } Block { BlockType Outport Name "visionbus" Position [1155, 363, 1185, 377] ForegroundColor "yellow" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "From24" SrcPort 1 DstBlock "mccomm_motion1" DstPort 17 } Line { SrcBlock "From9" SrcPort 1 DstBlock "path_xy1" DstPort 1 } Line { SrcBlock "From30" SrcPort 1 DstBlock "path_xy" DstPort 1 } Line { SrcBlock "path_xy" SrcPort 1 DstBlock "Terminator1" DstPort 1 } Line { SrcBlock "mccomm_motion1" SrcPort 1 DstBlock "visionbus" DstPort 1 } Line { SrcBlock "actionsbus" SrcPort 1 DstBlock "mccomm_motion1" DstPort 2 } Line { SrcBlock "TRCbus" SrcPort 1 DstBlock "mccomm_motion1" DstPort 3 } Line { SrcBlock "Controlbus" SrcPort 1 DstBlock "mccomm_motion1" DstPort 4 } Line { SrcBlock "From18" SrcPort 1 DstBlock "mccomm_motion1" DstPort 5 } Line { SrcBlock "From2" SrcPort 1 DstBlock "mccomm_motion1" DstPort 6 } Line { SrcBlock "From1" SrcPort 1 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "From6" SrcPort 1 DstBlock "mccomm_motion1" DstPort 8 } Line { SrcBlock "From7" SrcPort 1 DstBlock "Data Type Conversion3" DstPort 1 } Line { SrcBlock "From8" SrcPort 1 DstBlock "Data Type Conversion4" DstPort 1 } Line { SrcBlock "From13" SrcPort 1 DstBlock "mccomm_motion1" DstPort 11 } Line { SrcBlock "From15" SrcPort 1 DstBlock "mccomm_motion1" DstPort 12 } Line { SrcBlock "From19" SrcPort 1 DstBlock "mccomm_motion1" DstPort 13 } Line { SrcBlock "From20" SrcPort 1 DstBlock "Data Type Conversion7" DstPort 1 } Line { SrcBlock "From21" SrcPort 1 DstBlock "Data Type Conversion8" DstPort 1 } Line { SrcBlock "path_xy1" SrcPort 1 DstBlock "mccomm_motion1" DstPort 16 } Line { SrcBlock "From26" SrcPort 1 DstBlock "Data Type Conversion10" DstPort 1 } Line { SrcBlock "From27" SrcPort 1 DstBlock "Data Type Conversion11" DstPort 1 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 DstBlock "mccomm_motion1" DstPort 7 } Line { SrcBlock "Data Type Conversion3" SrcPort 1 DstBlock "mccomm_motion1" DstPort 9 } Line { SrcBlock "motionbus" SrcPort 1 DstBlock "mccomm_motion1" DstPort 1 } Line { SrcBlock "Data Type Conversion4" SrcPort 1 DstBlock "mccomm_motion1" DstPort 10 } Line { SrcBlock "Data Type Conversion7" SrcPort 1 DstBlock "mccomm_motion1" DstPort 14 } Line { SrcBlock "Data Type Conversion8" SrcPort 1 DstBlock "mccomm_motion1" DstPort 15 } Line { SrcBlock "Data Type Conversion10" SrcPort 1 DstBlock "mccomm_motion1" DstPort 18 } Line { SrcBlock "Data Type Conversion11" SrcPort 1 DstBlock "mccomm_motion1" DstPort 19 } } } Block { BlockType SubSystem Name "sensor fusion" Ports [5, 1] Position [350, 458, 490, 642] BackgroundColor "[0.710000, 0.820000, 0.120000]" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "sensor fusion" Location [289, 77, 1519, 888] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "motionbus" Position [90, 583, 120, 597] ForegroundColor "green" IconDisplay "Port number" } Block { BlockType Inport Name "visionbus" Position [95, 648, 125, 662] ForegroundColor "yellow" Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "Strategy_tuning_bus" Position [95, 348, 125, 362] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "teambus" Position [95, 488, 125, 502] ForegroundColor "red" Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "LRFbus" Position [95, 698, 125, 712] ForegroundColor "gray" Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "Bus decoder" Ports [1, 2] Position [230, 553, 405, 622] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |position_global_xyo|robot_active|position_local_xyo|tacho_left|tacho_right|arm_left|arm_right|battery_voltage|motor_temperatures|panic_and_reset_switches|local_y_velocity|shoot_lever_encoder|SHTstatus|SHTValue|PWMmeasurement|velLocalRef_dxdydo|startBackupSoftwareSwitch|rs485ResultCh1|rs485ResultCh2|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'pose_xyo_ov[3]');\nport_label('output',2,'pose_ov_found');\nport_label('output',3,'image_time_ov');\nport_label('output',4,'l2g_vision_time');\nport_label('output',5,'t_VL');\nport_label('input',1,'visionbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "visionbus|on|on|off|off|off|off|off|on|on|off|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|visionbus|1,2,3,4,5,6,7,8,9,10,11,12,|1,2,8,9,12," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType "S-Function" Name "Bus decoder2" Ports [1, 2] Position [400, 173, 545, 237] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |rs485ControlCh1|ball_top_lrf|ball_top_lrf_f|pose_lrf|pose_lrf_f|ball_ground_lrf|ball_ground_lrf_f|ball_ground_lrf_f|WMLclipradius|WMLkscale|WMLmaxage|FixedShutterTime_us|joystickSkillID|joystickKickEffort|joystickOnOff|dssssssf|e4ffsd|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus|AHparamsbus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_assign('init');||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;bus_is_in=@2;var_name01=&3;var_name02=&4;var_name03=&5;var_name04=&6;var_name05=&7;var_name06=&8;var_name07=&9;var_name08=&10;var_name09=&11;var_name10=&12;var_name11=&13;var_name12=&14;var_name13=&15;var_name14=&16;var_name15=&17;var_name16=&18;var_name17=&19;var_name18=&20;var_name19=&21;var_name20=&22;var_name21=&23;var_name22=&24;var_name23=&25;var_name24=&26;var_name25=&27;var_name26=&28;var_name27=&29;var_name28=&30;var_name29=&31;var_name30=&32;var_name31=&33;var_name32=&34;var_name33=&35;var_name34=&36;var_name35=&37;var_name36=&38;var_name37=&39;var_name38=&40;var_name39=&41;var_name40=&42;var_name41=&43;var_name42=&44;var_name43=&45;var_name44=&46;var_name45=&47;var_name46=&48;var_name47=&49;var_name48=&50;var_name49=&51;var_name50=&52;var_name51=&53;var_name52=&54;var_name53=&55;var_name54=&56;var_name55=&57;var_name56=&58;var_name57=&59;var_name58=&60;var_name59=&61;var_name60=&62;var_name61=&63;var_name62=&64;var_name63=&65;var_name64=&66;var_name65=&67;var_name66=&68;var_name67=&69;var_name68=&70;var_name69=&71;var_name70=&72;var_name71=&73;var_name72=&74;var_name73=&75;var_name74=&76;var_name75=&77;var_name76=&78;var_name77=&79;var_name78=&80;var_name79=&81;var_name80=&82;var_name81=&83;var_name82=&84;var_name83=&85;var_name84=&86;var_name85=&87;var_name86=&88;var_name87=&89;var_name88=&90;var_name89=&91;var_name90=&92;var_name91=&93;var_name92=&94;var_name93=&95;var_name94=&96;var_name95=&97;var_name96=&98;var_name97=&99;var_name98=&100;var_name99=&101;var_name100=&102;selected_bus=&103;var_ids=&104;checked_var_ids=&105;" MaskInitialization "mask_sf_bus_assign('init');\n" MaskDisplay "port_label('input',1,'RefboxRandNr_comm[MAX_ACTIVE_TURTLES]');\nport_label('input',2,'refbox_role');\nport_label('input',3,'assigned_role');\nport_label('input',4,'current_role');\nport_label('input',5,'taskswitch_go[MAX_ACTIVE_TURTLES]');\nport_label('input',6,'roleSwitch[2]');\nport_label('input',7,'wppathlength');\nport_label('input',8,'waypoints_xy[3*NPATH_MAX]');\nport_label('input',9,'motionControlDisableRefboxhandler');\nport_label('input',10,'handlingOnOffRefboxhandler');\nport_label('input',11,'RefboxStageState');\nport_label('input',12,'RefboxRandNr');\nport_label('input',13,'refboxParams[3]');\nport_label('input',14,'GameStageState');\nport_label('input',15,'pass_role_id');\nport_label('input',16,'ActivateKeeperFrame');\nport_label('output',1,'strategybus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "strategybus|off|on|on|on|on|on|on|on|on|on|on|on|on|on|on|on|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|strategybus|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType From Name "From1" Position [1345, 126, 1460, 144] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "refbox_role" TagVisibility "global" } Block { BlockType From Name "From10" Position [1345, 476, 1460, 494] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "RefboxRandNr" TagVisibility "global" } Block { BlockType From Name "From11" Position [1345, 441, 1460, 459] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "RefboxStageState" TagVisibility "global" } Block { BlockType From Name "From12" Position [1345, 371, 1460, 389] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "motionControlDisableRefboxhandler" TagVisibility "global" } Block { BlockType From Name "From13" Position [1345, 616, 1460, 634] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "ActivateKeeperframe" TagVisibility "global" } Block { BlockType From Name "From14" Position [1345, 581, 1460, 599] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "pass_role_id" TagVisibility "global" } Block { BlockType From Name "From15" Position [1345, 511, 1460, 529] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "refboxParams" TagVisibility "global" } Block { BlockType From Name "From16" Position [1345, 546, 1460, 564] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "GameStageState" TagVisibility "global" } Block { BlockType From Name "From2" Position [1345, 196, 1460, 214] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "current_role" TagVisibility "global" } Block { BlockType From Name "From3" Position [1345, 161, 1460, 179] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "assigned_role" TagVisibility "global" } Block { BlockType From Name "From4" Position [1345, 266, 1460, 284] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "roleSwitch" TagVisibility "global" } Block { BlockType From Name "From5" Position [1345, 336, 1460, 354] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "waypoints_xy" TagVisibility "global" } Block { BlockType From Name "From6" Position [1345, 301, 1460, 319] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "wppathlength" TagVisibility "global" } Block { BlockType From Name "From7" Position [1345, 231, 1460, 249] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "taskswitch_go" TagVisibility "global" } Block { BlockType From Name "From8" Position [1345, 406, 1460, 424] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "ballhandlingOnOffRefboxhandler" TagVisibility "global" } Block { BlockType From Name "From9" Position [1345, 91, 1460, 109] BackgroundColor "orange" ShowName off CloseFcn "tagdialog Close" GotoTag "RefboxRandNr_comm" TagVisibility "global" } Block { BlockType SubSystem Name "Goal Keeper" Ports [7, 4] Position [855, 649, 1055, 791] BackgroundColor "orange" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Goal Keeper" Location [5, 77, 1275, 690] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "85" Block { BlockType Inport Name "refboxParams" Position [610, 488, 640, 502] IconDisplay "Port number" } Block { BlockType Inport Name "Gameroles_xyphi_wm" Position [610, 523, 640, 537] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "current role" Position [620, 83, 650, 97] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "visionbus" Position [140, 383, 170, 397] ForegroundColor "yellow" Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "actionsbus" Position [610, 578, 640, 592] ForegroundColor "[0.700000, 0.500000, 0.000000]" Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "teambus" Position [610, 623, 640, 637] ForegroundColor "red" Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "TRCbus" Position [610, 668, 640, 682] ForegroundColor "lightBlue" Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "Bus decoder" Ports [1, 2] Position [195, 269, 455, 511] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |pose_xyo_ov|pose_ov_found|ball_xyz_ov|ball_confidence_ov|ball_found_ov|ov_lob_detected|obs_xy_xydot_r_for_strategy|image_time_ov|l2g_vision_time|ball_xyz_vxvyvz_est|obs_worldmodel_local_xyr|t_VL|joystickSkillID|joystickKickEffort|joystickOnOff|dssssssf|e4ffsd|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'refboxTask');\nport_label('output',2,'refboxTaskTrigger');\nport_label('output',3,'destination_xyo[3]');\nport_label('output',4,'penaltyDemoMode');\nport_label('input',1,'TRCbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "TRCbus|off|off|off|off|off|on|on|on|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|TRCbus|1,2,3,4,5,6,7,8,9,10,11,14,15,16,17,|6,7,8,10," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType "S-Function" Name "Bus decoder1" Ports [1, 1] Position [195, 453, 475, 507] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |pose_xyo_ov|pose_ov_found|ball_xyz_ov|ball_confidence_ov|ball_found_ov|ov_lob_detected|obs_xy_xydot_r_for_strategy|image_time_ov|l2g_vision_time|ball_xyz_vxvyvz_est|obs_worldmodel_local_xyr|t_VL|joystickSkillID|joystickKickEffort|joystickOnOff|dssssssf|e4ffsd|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |x |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'refboxTask');\nport_label('output',2,'refboxTaskTrigger');\nport_label('output',3,'roleAssignerMode');\nport_label('output',4,'refboxRoleIDs[MAX_ACTIVE_TURTLES]');\nport_label('output',5,'turtleID');\nport_label('output',6,'roleIDs[MAX_ACTIVE_TURTLES]');\nport_label('input',1,'TRCbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "TRCbus|on|off|off|on|on|on|on|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|TRCbus|1,2,3,4,5,6,7,8,9,10,11,14,15,16,17,|6,7,9,5,1,4," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType Reference Name "Compare\nTo Constant" Ports [1, 1] Position [455, 625, 485, 655] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop "==" const "get_global_par('DEMO_ROLES')" LogicOutDataTypeMode "uint8" ZeroCross off } Block { BlockType Reference Name "Compare\nTo Constant1" Ports [1, 1] Position [455, 700, 485, 730] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop "~=" const "get_global_par('ARBITRARY_BALL_DEMO')" LogicOutDataTypeMode "uint8" ZeroCross off } Block { BlockType Reference Name "Compare\nTo Constant2" Ports [1, 1] Position [455, 660, 485, 690] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop ">" const "0" LogicOutDataTypeMode "uint8" ZeroCross off } Block { BlockType Constant Name "Constant" Position [905, 515, 935, 545] Value "0" OutDataTypeMode "int32" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [955, 113, 995, 147] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [955, 298, 995, 332] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion10" Position [350, 288, 390, 322] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion2" Position [655, 680, 715, 710] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion3" Position [505, 625, 565, 655] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion4" Position [1130, 183, 1170, 217] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion5" Position [570, 552, 615, 588] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion6" Position [310, 148, 350, 182] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion7" Position [325, 183, 365, 217] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion8" Position [570, 592, 615, 628] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux" Ports [1, 6] Position [650, 181, 655, 359] BackgroundColor "black" ShowName off Outputs "[2 2 2 2 2 2]" DisplayOption "bar" } Block { BlockType Demux Name "Demux1" Ports [1, 6] Position [655, 359, 660, 541] BackgroundColor "black" ShowName off Outputs "[2 2 2 2 2 2]" DisplayOption "bar" } Block { BlockType From Name "From1" Position [440, 601, 555, 619] BackgroundColor "red" ShowName off CloseFcn "tagdialog Close" GotoTag "game_role_IDs" TagVisibility "global" } Block { BlockType From Name "From11" Position [520, 126, 635, 144] BackgroundColor "red" ShowName off CloseFcn "tagdialog Close" GotoTag "WM_active_robots" TagVisibility "global" } Block { BlockType From Name "From12" Position [435, 261, 550, 279] BackgroundColor "red" ShowName off CloseFcn "tagdialog Close" GotoTag "WM_robot_pos" TagVisibility "global" } Block { BlockType From Name "From2" Position [305, 686, 420, 704] BackgroundColor "red" ShowName off CloseFcn "tagdialog Close" GotoTag "WM_active" TagVisibility "global" } Block { BlockType From Name "From4" Position [440, 561, 555, 579] BackgroundColor "red" ShowName off CloseFcn "tagdialog Close" GotoTag "refbox_role_IDs_comm" TagVisibility "global" } Block { BlockType Logic Name "Logical\nOperator" Ports [3, 1] Position [575, 667, 605, 723] ShowName off Inputs "3" AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType Memory Name "Memory" Position [905, 300, 935, 330] ShowName off InheritSampleTime on } Block { BlockType Memory Name "Memory1" Position [905, 115, 935, 145] ShowName off InheritSampleTime on } Block { BlockType Memory Name "Memory2" Position [905, 485, 935, 515] ShowName off InheritSampleTime on } Block { BlockType "S-Function" Name "Role assigner" Ports [20, 3] Position [680, 30, 885, 600] BackgroundColor "orange" FunctionName "role_assigner" MaskDisplay "port_label('input',1,'refbox_task')\nport_label('input',2,'new_refbox_trigger')\nport_label('input',3,'turtle_id')\nport_label('input',4,'turtle_active')\nport_label('input',5,'initial desired roles')\nport_label('input',6,'turtle1_pos')\nport_label('input',7,'turtle2_pos')\nport_label('input',8,'turtle3_pos')\nport_label('input',9,'turtle4_pos')\nport_label('input',10,'turtle5_pos')\nport_label('input',11,'turtle6_pos')\nport_label('input',12,'roleNONE_des_pos')\nport_label('input',13,'role1_des_pos')\nport_label('input',14,'role2_des_pos')\nport_label('input',15,'role3_des_pos')\nport_label('input',16,'role4_des_pos')\nport_label('input',17,'role5_des_pos')\nport_label('input',18,'demo mode on/off')\nport_label('input',19,'array with refbox roles')\nport_label('output',1,'refbox_role')\nport_label('output',2,'game_role')\nport_label('output',3,'reset_role')\n\n" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType "S-Function" Name "Role converter" Ports [2, 1] Position [1195, 144, 1280, 211] BackgroundColor "orange" FunctionName "role_converter_libroles2refboxroles" MaskDisplay "port_label('input',1,'RefboxTask')\nport_label('input',2,'GameRoleID')\n\nport_label('output',1,'RefboxRoleID')\n\n\n" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType Switch Name "Switch1" Position [1045, 489, 1075, 541] ShowName off Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch2" Position [1320, 117, 1350, 193] ShowName off Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch3" Position [1305, 304, 1335, 356] ShowName off Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "select this turtles signals3" Ports [2, 1] Position [1045, 242, 1110, 293] ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "select this turtles signals3" Location [533, 131, 1234, 585] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "turtle id" Position [190, 128, 220, 142] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "all turtles" Position [190, 218, 220, 232] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux1" Ports [1, 6] Position [265, 148, 275, 297] BackgroundColor "black" ShowName off Outputs "[1 1 1 1 1 1]" DisplayOption "bar" } Block { BlockType MultiPortSwitch Name "Multiport\nSwitch" Ports [7, 1] Position [345, 128, 395, 292] Inputs "6" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Outport Name "This turtle" Position [470, 203, 500, 217] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "turtle id" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 1 } Line { SrcBlock "Multiport\nSwitch" SrcPort 1 DstBlock "This turtle" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 6 DstBlock "Multiport\nSwitch" DstPort 7 } Line { SrcBlock "Demux1" SrcPort 5 DstBlock "Multiport\nSwitch" DstPort 6 } Line { SrcBlock "Demux1" SrcPort 4 DstBlock "Multiport\nSwitch" DstPort 5 } Line { SrcBlock "Demux1" SrcPort 3 DstBlock "Multiport\nSwitch" DstPort 4 } Line { SrcBlock "Demux1" SrcPort 2 DstBlock "Multiport\nSwitch" DstPort 3 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 2 } Line { SrcBlock "all turtles" SrcPort 1 DstBlock "Demux1" DstPort 1 } } } Block { BlockType SubSystem Name "select this turtles signals4" Ports [2, 1] Position [1045, 172, 1110, 223] ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "select this turtles signals4" Location [533, 131, 1234, 585] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "turtle id" Position [190, 128, 220, 142] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "all turtles" Position [190, 218, 220, 232] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux1" Ports [1, 6] Position [265, 148, 275, 297] BackgroundColor "black" ShowName off Outputs "[1 1 1 1 1 1]" DisplayOption "bar" } Block { BlockType MultiPortSwitch Name "Multiport\nSwitch" Ports [7, 1] Position [345, 128, 395, 292] Inputs "6" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Outport Name "This turtle" Position [470, 203, 500, 217] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "all turtles" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 2 } Line { SrcBlock "Demux1" SrcPort 2 DstBlock "Multiport\nSwitch" DstPort 3 } Line { SrcBlock "Demux1" SrcPort 3 DstBlock "Multiport\nSwitch" DstPort 4 } Line { SrcBlock "Demux1" SrcPort 4 DstBlock "Multiport\nSwitch" DstPort 5 } Line { SrcBlock "Demux1" SrcPort 5 DstBlock "Multiport\nSwitch" DstPort 6 } Line { SrcBlock "Demux1" SrcPort 6 DstBlock "Multiport\nSwitch" DstPort 7 } Line { SrcBlock "Multiport\nSwitch" SrcPort 1 DstBlock "This turtle" DstPort 1 } Line { SrcBlock "turtle id" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 1 } } } Block { BlockType Selector Name "take only x&y positions" Ports [1, 1] Position [570, 431, 610, 469] InputPortWidth "18" IndexOptions "Index vector (dialog)" Indices "[1 2 4 5 7 8 10 11 13 14 16 17]" OutputSizes "1" } Block { BlockType Selector Name "take only x&y positions1" Ports [1, 1] Position [570, 251, 610, 289] InputPortWidth "18" IndexOptions "Index vector (dialog)" Indices "[1 2 4 5 7 8 10 11 13 14 16 17]" OutputSizes "1" } Block { BlockType Outport Name "refboxRole" Position [1375, 148, 1405, 162] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "assignedRole" Position [1360, 323, 1390, 337] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "role_reset" Position [1140, 508, 1170, 522] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "refbox_task_extended" SrcPort 1 Points [55, 0] DstBlock "Role assigner" DstPort 1 } Line { SrcBlock "From12" SrcPort 1 DstBlock "take only x&y positions1" DstPort 1 } Line { SrcBlock "desired refbox pos" SrcPort 1 DstBlock "take only x&y positions" DstPort 1 } Line { SrcBlock "take only x&y positions" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Role assigner" SrcPort 1 DstBlock "Memory1" DstPort 1 } Line { SrcBlock "Role assigner" SrcPort 2 DstBlock "Memory" DstPort 1 } Line { SrcBlock "take only x&y positions1" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Memory1" SrcPort 1 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "Memory" SrcPort 1 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "Data Type Conversion" SrcPort 1 DstBlock "Switch2" DstPort 1 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 DstBlock "Switch3" DstPort 1 } Line { SrcBlock "Bus decoder" SrcPort 2 DstBlock "Data Type Conversion7" DstPort 1 } Line { SrcBlock "Bus decoder" SrcPort 5 DstBlock "Data Type Conversion10" DstPort 1 } Line { SrcBlock "From11" SrcPort 1 Points [25, 0] DstBlock "Role assigner" DstPort 4 } Line { SrcBlock "Demux" SrcPort 1 Points [5, 0] DstBlock "Role assigner" DstPort 6 } Line { SrcBlock "Demux" SrcPort 2 Points [5, 0] DstBlock "Role assigner" DstPort 7 } Line { SrcBlock "Demux" SrcPort 3 Points [5, 0] DstBlock "Role assigner" DstPort 8 } Line { SrcBlock "Demux" SrcPort 4 Points [5, 0] DstBlock "Role assigner" DstPort 9 } Line { SrcBlock "Demux" SrcPort 5 Points [5, 0] DstBlock "Role assigner" DstPort 10 } Line { SrcBlock "Demux" SrcPort 6 Points [5, 0] DstBlock "Role assigner" DstPort 11 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "Role assigner" DstPort 12 } Line { SrcBlock "Demux1" SrcPort 2 DstBlock "Role assigner" DstPort 13 } Line { SrcBlock "Demux1" SrcPort 3 DstBlock "Role assigner" DstPort 14 } Line { SrcBlock "Demux1" SrcPort 4 DstBlock "Role assigner" DstPort 15 } Line { SrcBlock "Demux1" SrcPort 5 DstBlock "Role assigner" DstPort 16 } Line { SrcBlock "Demux1" SrcPort 6 DstBlock "Role assigner" DstPort 17 } Line { SrcBlock "Data Type Conversion5" SrcPort 1 DstBlock "Role assigner" DstPort 19 } Line { SrcBlock "Bus decoder" SrcPort 3 Points [50, 0; 0, 405; 90, 0] Branch { DstBlock "Compare\nTo Constant" DstPort 1 } Branch { Points [5, 0; 0, 35] Branch { DstBlock "Compare\nTo Constant1" DstPort 1 } Branch { DstBlock "Compare\nTo Constant2" DstPort 1 } } } Line { SrcBlock "Compare\nTo Constant" SrcPort 1 DstBlock "Data Type Conversion3" DstPort 1 } Line { SrcBlock "Data Type Conversion3" SrcPort 1 Points [85, 0; 0, -100] DstBlock "Role assigner" DstPort 18 } Line { SrcBlock "Logical\nOperator" SrcPort 1 DstBlock "Data Type Conversion2" DstPort 1 } Line { SrcBlock "Compare\nTo Constant2" SrcPort 1 DstBlock "Logical\nOperator" DstPort 1 } Line { SrcBlock "From2" SrcPort 1 DstBlock "Logical\nOperator" DstPort 2 } Line { SrcBlock "Role converter" SrcPort 1 DstBlock "Switch2" DstPort 3 } Line { SrcBlock "select this turtles signals4" SrcPort 1 DstBlock "Data Type Conversion4" DstPort 1 } Line { SrcBlock "Data Type Conversion4" SrcPort 1 Points [5, 0] DstBlock "Role converter" DstPort 2 } Line { SrcBlock "Switch3" SrcPort 1 DstBlock "assignedRole" DstPort 1 } Line { SrcBlock "Switch2" SrcPort 1 DstBlock "refboxRole" DstPort 1 } Line { SrcBlock "select this turtles signals3" SrcPort 1 Points [0, 75] DstBlock "Switch3" DstPort 3 } Line { SrcBlock "Data Type Conversion2" SrcPort 1 Points [305, 0] Branch { Points [260, 0; 0, -365] Branch { DstBlock "Switch3" DstPort 2 } Branch { Points [0, -175] DstBlock "Switch2" DstPort 2 } } Branch { Points [0, -180] DstBlock "Switch1" DstPort 2 } } Line { SrcBlock "From4" SrcPort 1 DstBlock "Data Type Conversion5" DstPort 1 } Line { SrcBlock "TRCbus" SrcPort 1 DstBlock "Bus decoder" DstPort 1 } Line { SrcBlock "Bus decoder" SrcPort 1 DstBlock "Data Type Conversion6" DstPort 1 } Line { SrcBlock "Bus decoder" SrcPort 6 Points [125, 0; 0, -175; 235, 0] Branch { Points [10, 0] DstBlock "Role assigner" DstPort 5 } Branch { Points [0, -165; 355, 0; 0, 280] DstBlock "select this turtles signals3" DstPort 2 } } Line { SrcBlock "Bus decoder" SrcPort 4 Points [80, 0; 0, -265; 630, 0; 0, 205] DstBlock "select this turtles signals4" DstPort 2 } Line { SrcBlock "Data Type Conversion6" SrcPort 1 Points [10, 0; 0, -165; 795, 0; 0, 160] DstBlock "Role converter" DstPort 1 } Line { SrcBlock "Data Type Conversion7" SrcPort 1 Points [20, 0; 0, -140] DstBlock "Role assigner" DstPort 2 } Line { SrcBlock "Data Type Conversion10" SrcPort 1 Points [10, 0; 0, -200; 245, 0] Branch { Points [15, 0] DstBlock "Role assigner" DstPort 3 } Branch { Points [0, -105; 375, 0; 0, 185] Branch { Points [0, 70] DstBlock "select this turtles signals3" DstPort 1 } Branch { DstBlock "select this turtles signals4" DstPort 1 } } } Line { SrcBlock "Role assigner" SrcPort 3 DstBlock "Memory2" DstPort 1 } Line { SrcBlock "Switch1" SrcPort 1 DstBlock "role_reset" DstPort 1 } Line { SrcBlock "Memory2" SrcPort 1 DstBlock "Switch1" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Switch1" DstPort 3 } Line { SrcBlock "From1" SrcPort 1 DstBlock "Data Type Conversion8" DstPort 1 } Line { SrcBlock "Data Type Conversion8" SrcPort 1 Points [30, 0; 0, -10] DstBlock "Role assigner" DstPort 20 } Line { SrcBlock "Compare\nTo Constant1" SrcPort 1 DstBlock "Logical\nOperator" DstPort 3 } Annotation { Name "role assigner modes\n0: off\n1: on\n2: on + demo" Position [387, 602] } } } Block { BlockType SubSystem Name "role handler" Ports [11, 6] Position [855, 368, 1055, 592] BackgroundColor "orange" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "role handler" Location [5, 77, 1275, 690] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "102" Block { BlockType Inport Name "refboxParams" Position [615, 188, 645, 202] IconDisplay "Port number" } Block { BlockType Inport Name "Gameroles_xyphi_wm" Position [615, 223, 645, 237] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Gameroles_stage_states" Position [615, 258, 645, 272] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "current role" Position [615, 48, 645, 62] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "agression level" Position [615, 363, 645, 377] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "visionbus" Position [60, 293, 90, 307] ForegroundColor "yellow" Port "6" IconDisplay "Port number" } Block { BlockType Inport Name "Strategy_tuning_bus" Position [615, 643, 645, 657] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "actionsbus" Position [615, 573, 645, 587] ForegroundColor "[0.700000, 0.500000, 0.000000]" Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "teambus" Position [615, 608, 645, 622] ForegroundColor "red" Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Gameroles_subtarget" Position [615, 678, 645, 692] Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "TRCbus" Position [615, 748, 645, 762] ForegroundColor "lightBlue" Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "Bus decoder" Ports [1, 1] Position [155, 277, 485, 323] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |pose_xyo_ov|pose_ov_found|ball_xyz_ov|ball_confidence_ov|ball_found_ov|ov_lob_detected|obs_xy_xydot_r_for_strategy|image_time_ov|l2g_vision_time|ball_xyz_vxvyvz_est|obs_worldmodel_local_xyr|t_VL|SF_subtarget_arrive_velocity|SF_add_effort_ballhandling|BH_FB_arm_reference_left|BH_FB_arm_reference_right|BH_FB_arm_p_action_catch|BH_FB_arm_p_action_drive|BH_FF_vel_gain_pos_ydot|BH_FF_vel_gain_neg_ydot|BH_FF_vel_offset|K_retract_ball_time_in_ms|K_basis_value_lob|K_rate_value_lob|K_basis_value_pass|K_rate_value_pass|K_maximum_value_flat|K_angle_flat_shot|K_velocity_gain_lob|K_wait_time_during_aim_in_s|K_use_demo_goal|K_height_hole1|K_height_hole2|K_height_hole3|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(|TRCbus|motionbus|teambus|visionbus|tunable_pardata_motion_bus|tunable_pardata_vision_bus|tunable_pardata_strategy_bus|actionsbus|controlbus|LRFbus|strategybus),checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskCallbackString "mask_sf_bus_decode('init');|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," MaskVariables "bus_name=&1;var_name01=&2;var_name02=&3;var_name03=&4;var_name04=&5;var_name05=&6;var_name06=&7;var_name07=&8;var_name08=&9;var_name09=&10;var_name10=&11;var_name11=&12;var_name12=&13;var_name13=&14;var_name14=&15;var_name15=&16;var_name16=&17;var_name17=&18;var_name18=&19;var_name19=&20;var_name20=&21;var_name21=&22;var_name22=&23;var_name23=&24;var_name24=&25;var_name25=&26;var_name26=&27;var_name27=&28;var_name28=&29;var_name29=&30;var_name30=&31;var_name31=&32;var_name32=&33;var_name33=&34;var_name34=&35;var_name35=&36;var_name36=&37;var_name37=&38;var_name38=&39;var_name39=&40;var_name40=&41;var_name41=&42;var_name42=&43;var_name43=&44;var_name44=&45;var_name45=&46;var_name46=&47;var_name47=&48;var_name48=&49;var_name49=&50;var_name50=&51;var_name51=&52;var_name52=&53;var_name53=&54;var_name54=&55;var_name55=&56;var_name56=&57;var_name57=&58;var_name58=&59;var_name59=&60;var_name60=&61;var_name61=&62;var_name62=&63;var_name63=&64;var_name64=&65;var_name65=&66;var_name66=&67;var_name67=&68;var_name68=&69;var_name69=&70;var_name70=&71;var_name71=&72;var_name72=&73;var_name73=&74;var_name74=&75;var_name75=&76;var_name76=&77;var_name77=&78;var_name78=&79;var_name79=&80;var_name80=&81;var_name81=&82;var_name82=&83;var_name83=&84;var_name84=&85;var_name85=&86;var_name86=&87;var_name87=&88;var_name88=&89;var_name89=&90;var_name90=&91;var_name91=&92;var_name92=&93;var_name93=&94;var_name94=&95;var_name95=&96;var_name96=&97;var_name97=&98;var_name98=&99;var_name99=&100;var_name100=&101;selected_bus=&102;var_ids=&103;checked_var_ids=&104;" MaskInitialization "mask_sf_bus_decode('init');\n" MaskDisplay "port_label('output',1,'refboxTaskTrigger');\nport_label('input',1,'TRCbus')" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "TRCbus|off|off|off|off|off|off|on|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|off|TRCbus|1,2,3,4,5,6,7,8,9,10,11,14,15,16,17,|7," MaskTabNameString ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } Block { BlockType Reference Name "Compare\nTo Constant1" Ports [1, 1] Position [175, 230, 205, 260] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop ">" const "0.5" LogicOutDataTypeMode "uint8" ZeroCross off } Block { BlockType Reference Name "Compare\nTo Constant3" Ports [1, 1] Position [175, 300, 205, 330] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop ">" const "0.5" LogicOutDataTypeMode "uint8" ZeroCross off } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [535, 200, 580, 220] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion2" Position [535, 235, 580, 255] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion3" Position [670, 470, 715, 490] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion4" Position [820, 140, 865, 160] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion5" Position [535, 270, 580, 290] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType From Name "From10" Position [305, 61, 420, 79] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "ball_xyzdxdydz" TagVisibility "global" } Block { BlockType From Name "From13" Position [305, 96, 420, 114] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "ballFoundForStrategy" TagVisibility "global" } Block { BlockType From Name "From18" Position [305, 26, 420, 44] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "cur_xyo" TagVisibility "global" } Block { BlockType From Name "From28" Position [305, 131, 420, 149] BackgroundColor "red" ShowName off CloseFcn "tagdialog Close" GotoTag "CPBteam" TagVisibility "global" } Block { BlockType From Name "From3" Position [305, 236, 420, 254] BackgroundColor "red" ShowName off CloseFcn "tagdialog Close" GotoTag "taskswitch_request" TagVisibility "global" } Block { BlockType From Name "From5" Position [505, 471, 620, 489] BackgroundColor "red" ShowName off CloseFcn "tagdialog Close" GotoTag "roleswitch_comm" TagVisibility "global" } Block { BlockType Logic Name "Logical\nOperator" Ports [2, 1] Position [480, 198, 510, 222] ShowName off Operator "OR" AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType Logic Name "Logical\nOperator1" Ports [2, 1] Position [245, 209, 285, 351] ShowName off Operator "OR" AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType Memory Name "Memory1" Position [125, 230, 155, 260] ShowName off InheritSampleTime on } Block { BlockType Memory Name "Memory2" Position [125, 300, 155, 330] ShowName off InheritSampleTime on } Block { BlockType Memory Name "Memory3" Position [130, 449, 155, 461] } Block { BlockType Mux Name "Mux3" Ports [2, 1] Position [905, 437, 910, 493] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [845, 366, 885, 404] InputPortWidth "6" IndexOptions "Index vector (dialog)" Indices "[1]" OutputSizes "1" } Block { BlockType Selector Name "Selector1" Ports [1, 1] Position [845, 431, 885, 469] InputPortWidth "6" IndexOptions "Index vector (dialog)" Indices "[6]" OutputSizes "1" } Block { BlockType "S-Function" Name "strategy handler" Ports [13, 2] Position [605, 30, 795, 460] BackgroundColor "orange" FunctionName "strategy" MaskDisplay "port_label('input',1,'cur_xyo')\nport_label('input',2,'ball xyz/xyzdot')\nport_label('input',3,'ballfound')\nport_label('input',4,'teamhasball')\nport_label('input',5,'role_id')\nport_label('input',6,'refbox role reset')\nport_label('input',7,'taskswitch')\nport_label('input',8,'strategy disable')\nport_label('input',9,'tunable parameters')\nport_label('input',10,'TRC bus')\nport_label('input',11,'team bus')\nport_label('input',12,'control bus')\nport_label('input',13,'TSR_ROH')\n\n\nport_label('output',1,'aggresionlevel')\nport_label('output',2,'taskswitch')\n\n\n" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType Outport Name "agression level" Position [935, 143, 965, 157] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "currentRole" Position [935, 378, 965, 392] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "taskSwitchGo" Position [850, 333, 880, 347] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "roleSwitch" Position [935, 458, 965, 472] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "strategy handler" SrcPort 2 Points [0, -15; 15, 0] Branch { Points [0, 45] Branch { DstBlock "Selector" DstPort 1 } Branch { Points [0, 65] DstBlock "Selector1" DstPort 1 } } Branch { DstBlock "taskSwitchGo" DstPort 1 } } Line { SrcBlock "strategy handler" SrcPort 1 Points [0, 10] DstBlock "Data Type Conversion4" DstPort 1 } Line { SrcBlock "From10" SrcPort 1 DstBlock "strategy handler" DstPort 2 } Line { SrcBlock "From13" SrcPort 1 DstBlock "strategy handler" DstPort 3 } Line { SrcBlock "Data Type Conversion5" SrcPort 1 DstBlock "strategy handler" DstPort 8 } Line { SrcBlock "Strategy_tuning_bus" SrcPort 1 DstBlock "strategy handler" DstPort 9 } Line { SrcBlock "Selector" SrcPort 1 DstBlock "currentRole" DstPort 1 } Line { SrcBlock "From18" SrcPort 1 DstBlock "strategy handler" DstPort 1 } Line { SrcBlock "From28" SrcPort 1 DstBlock "strategy handler" DstPort 4 } Line { SrcBlock "From3" SrcPort 1 DstBlock "Data Type Conversion2" DstPort 1 } Line { SrcBlock "Selector1" SrcPort 1 DstBlock "Mux3" DstPort 1 } Line { SrcBlock "From5" SrcPort 1 DstBlock "Data Type Conversion3" DstPort 1 } Line { SrcBlock "Mux3" SrcPort 1 DstBlock "roleSwitch" DstPort 1 } Line { SrcBlock "Compare\nTo Constant1" SrcPort 1 DstBlock "Logical\nOperator1" DstPort 1 } Line { SrcBlock "Compare\nTo Constant3" SrcPort 1 DstBlock "Logical\nOperator1" DstPort 2 } Line { SrcBlock "Logical\nOperator1" SrcPort 1 DstBlock "Data Type Conversion5" DstPort 1 } Line { SrcBlock "refboxInProgress" SrcPort 1 DstBlock "Memory1" DstPort 1 } Line { SrcBlock "strategyDisable" SrcPort 1 DstBlock "Memory2" DstPort 1 } Line { SrcBlock "assignedRole" SrcPort 1 DstBlock "strategy handler" DstPort 5 } Line { SrcBlock "Memory2" SrcPort 1 DstBlock "Compare\nTo Constant3" DstPort 1 } Line { SrcBlock "Memory1" SrcPort 1 DstBlock "Compare\nTo Constant1" DstPort 1 } Line { SrcBlock "Data Type Conversion2" SrcPort 1 DstBlock "strategy handler" DstPort 7 } Line { SrcBlock "Data Type Conversion3" SrcPort 1 DstBlock "Mux3" DstPort 2 } Line { SrcBlock "Data Type Conversion4" SrcPort 1 DstBlock "agression level" DstPort 1 } Line { SrcBlock "Logical\nOperator" SrcPort 1 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 DstBlock "strategy handler" DstPort 6 } Line { SrcBlock "TRCbus" SrcPort 1 Points [65, 0; 0, -30] Branch { DstBlock "strategy handler" DstPort 10 } Branch { Points [0, -135] DstBlock "Bus decoder" DstPort 1 } } Line { SrcBlock "teambus" SrcPort 1 DstBlock "strategy handler" DstPort 11 } Line { SrcBlock "Bus decoder" SrcPort 1 DstBlock "Logical\nOperator" DstPort 2 } Line { SrcBlock "role_reset" SrcPort 1 Points [30, 0] DstBlock "Logical\nOperator" DstPort 1 } Line { SrcBlock "controbus1" SrcPort 1 DstBlock "strategy handler" DstPort 12 } Line { SrcBlock "TSR_ROH" SrcPort 1 DstBlock "Memory3" DstPort 1 } Line { SrcBlock "Memory3" SrcPort 1 DstBlock "strategy handler" DstPort 13 } } } Block { BlockType SubSystem Name "switchert" Ports [8, 2] Position [1130, 447, 1170, 543] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "switchert" Location [16, 125, 826, 539] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "In3" Position [295, 75, 325, 90] Orientation "down" IconDisplay "Port number" } Block { BlockType Inport Name "In2" Position [340, 83, 370, 97] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "In5" Position [340, 168, 370, 182] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "In4" Position [340, 123, 370, 137] Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "In6" Position [340, 208, 370, 222] Port "5" IconDisplay "Port number" } Block { BlockType Inport Name "In8" Position [30, 233, 60, 247] Port "6" IconDisplay "Port number" } Block { BlockType Inport Name "In1" Position [405, 33, 435, 47] Port "7" IconDisplay "Port number" } Block { BlockType Inport Name "In7" Position [400, 213, 430, 227] Port "8" IconDisplay "Port number" } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [85, 223, 160, 257] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch" Position [395, 163, 425, 227] ShowName off Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [455, 208, 485, 272] ShowName off Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch2" Position [395, 78, 425, 142] ShowName off Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch3" Position [460, 28, 490, 92] ShowName off Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "opp_xydxdyr" Position [515, 53, 545, 67] IconDisplay "Port number" } Block { BlockType Outport Name "AHParStruct" Position [510, 233, 540, 247] Port "2" IconDisplay "Port number" } Line { SrcBlock "Data Type Conversion" SrcPort 1 Points [10, 0] Branch { DstBlock "Switch1" DstPort 2 } Branch { Points [0, -180] DstBlock "Switch3" DstPort 2 } } Line { SrcBlock "Switch2" SrcPort 1 Points [15, 0] DstBlock "Switch3" DstPort 3 } Line { SrcBlock "Switch" SrcPort 1 Points [0, 65] DstBlock "Switch1" DstPort 3 } Line { SrcBlock "In3" SrcPort 1 Points [0, 15] Branch { DstBlock "Switch2" DstPort 2 } Branch { Points [0, 85] DstBlock "Switch" DstPort 2 } } Line { SrcBlock "In1" SrcPort 1 DstBlock "Switch3" DstPort 1 } Line { SrcBlock "Switch3" SrcPort 1 DstBlock "opp_xydxdyr" DstPort 1 } Line { SrcBlock "In2" SrcPort 1 DstBlock "Switch2" DstPort 1 } Line { SrcBlock "In4" SrcPort 1 DstBlock "Switch2" DstPort 3 } Line { SrcBlock "In5" SrcPort 1 DstBlock "Switch" DstPort 1 } Line { SrcBlock "In6" SrcPort 1 DstBlock "Switch" DstPort 3 } Line { SrcBlock "In7" SrcPort 1 DstBlock "Switch1" DstPort 1 } Line { SrcBlock "Switch1" SrcPort 1 DstBlock "AHParStruct" DstPort 1 } Line { SrcBlock "In8" SrcPort 1 DstBlock "Data Type Conversion" DstPort 1 } } } Block { BlockType SubSystem Name "waypointplanner" Ports [2, 2] Position [245, 642, 485, 733] BackgroundColor "orange" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "waypointplanner" Location [450, 162, 1221, 690] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType Inport Name "teambus" Position [145, 263, 175, 277] ForegroundColor "red" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "actionsbus" Position [140, 128, 170, 142] ForegroundColor "[0.700000, 0.500000, 0.000000]" Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType From Name "From11" Position [140, 346, 255, 364] BackgroundColor "red" ShowName off CloseFcn "tagdialog Close" GotoTag "WM_active_robots" TagVisibility "global" } Block { BlockType From Name "From12" Position [140, 401, 255, 419] BackgroundColor "red" ShowName off CloseFcn "tagdialog Close" GotoTag "WM_robot_pos" TagVisibility "global" } Block { BlockType From Name "From14" Position [140, 181, 255, 199] BackgroundColor "red" ShowName off CloseFcn "tagdialog Close" GotoTag "opp_xydxdyr_wm" TagVisibility "global" } Block { BlockType From Name "From18" Position [140, 71, 255, 89] BackgroundColor "[0.710000, 0.820000, 0.120000]" ShowName off CloseFcn "tagdialog Close" GotoTag "cur_xyo" TagVisibility "global" } Block { BlockType Terminator Name "Terminator1" Position [580, 360, 600, 380] ShowName off } Block { BlockType Terminator Name "Terminator2" Position [205, 260, 225, 280] ShowName off } Block { BlockType Constant Name "hysteresis\npercentage check" Position [300, 230, 330, 260] Value "0.1" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "obstacles_local_xyr" Position [300, 285, 330, 315] Value "zeros(3*get_global_par('MAXNOBJ_LOCAL'),1)" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Selector Name "pos" Ports [1, 1] Position [295, 61, 335, 99] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "[1:2]" OutputSizes "1" } Block { BlockType "S-Function" Name "waypointplanner" Ports [7, 3] Position [375, 59, 530, 431] FunctionName "waypointplanner" } Block { BlockType Outport Name "wppathlength" Position [575, 238, 610, 252] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "waypoints_xy" Position [575, 113, 610, 127] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "hysteresis\npercentage check" SrcPort 1 DstBlock "waypointplanner" DstPort 4 } Line { SrcBlock "waypointplanner" SrcPort 3 DstBlock "Terminator1" DstPort 1 } Line { SrcBlock "pos" SrcPort 1 DstBlock "waypointplanner" DstPort 1 } Line { SrcBlock "waypointplanner" SrcPort 2 DstBlock "wppathlength" DstPort 1 } Line { SrcBlock "waypointplanner" SrcPort 1 DstBlock "waypoints_xy" DstPort 1 } Line { SrcBlock "From18" SrcPort 1 DstBlock "pos" DstPort 1 } Line { SrcBlock "From14" SrcPort 1 DstBlock "waypointplanner" DstPort 3 } Line { SrcBlock "obstacles_local_xyr" SrcPort 1 DstBlock "waypointplanner" DstPort 5 } Line { SrcBlock "From11" SrcPort 1 DstBlock "waypointplanner" DstPort 6 } Line { SrcBlock "From12" SrcPort 1 DstBlock "waypointplanner" DstPort 7 } Line { SrcBlock "actionsbus" SrcPort 1 DstBlock "waypointplanner" DstPort 2 } Line { SrcBlock "teambus" SrcPort 1 DstBlock "Terminator2" DstPort 1 } } } Block { BlockType Outport Name "strategybus" Position [1660, 358, 1695, 372] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "role mapper" SrcPort 7 DstBlock "Goto5" DstPort 1 } Line { SrcBlock "role assigner" SrcPort 1 Points [10, 0] Branch { Points [225, 0; 0, -110] DstBlock "refbox handler" DstPort 4 } Branch { Points [0, 15] DstBlock "Goto1" DstPort 1 } } Line { SrcBlock "strategy handler" SrcPort 2 Points [10, 0] Branch { Points [0, -15] DstBlock "Goto2" DstPort 1 } Branch { Points [275, 0] Branch { Points [0, 200] DstBlock "Goal Keeper" DstPort 3 } Branch { Points [0, -60] DstBlock "role handler" DstPort 4 } } } Line { SrcBlock "strategy handler" SrcPort 1 DstBlock "role handler" DstPort 5 } Line { SrcBlock "strategy handler" SrcPort 3 DstBlock "Goto4" DstPort 1 } Line { SrcBlock "strategy handler" SrcPort 4 DstBlock "Goto6" DstPort 1 } Line { SrcBlock "refbox handler" SrcPort 3 Points [15, 0] Branch { Points [0, -80; -860, 0; 0, 425] DstBlock "strategy handler" DstPort 4 } Branch { Labels [0, 0] Points [35, 0; 0, 300] DstBlock "switchert" DstPort 1 } } Line { SrcBlock "role mapper" SrcPort 5 Points [215, 0; 0, -35] DstBlock "refbox handler" DstPort 3 } Line { SrcBlock "role mapper" SrcPort 1 Points [345, 0] DstBlock "refbox handler" DstPort 1 } Line { SrcBlock "role mapper" SrcPort 3 Points [300, 0; 0, 235] Branch { DstBlock "role handler" DstPort 2 } Branch { Points [0, 280] DstBlock "Goal Keeper" DstPort 2 } } Line { SrcBlock "role mapper" SrcPort 6 Points [245, 0; 0, 180] DstBlock "role handler" DstPort 3 } Line { SrcBlock "refbox handler" SrcPort 10 Points [5, 0] Branch { Points [0, 25; -230, 0; 0, 20] Branch { DstBlock "role handler" DstPort 1 } Branch { Points [0, 280] DstBlock "Goal Keeper" DstPort 1 } } Branch { DstBlock "Goto7" DstPort 1 } } Line { SrcBlock "refbox handler" SrcPort 1 Points [5, 0; 0, -20; -840, 0; 0, 230] DstBlock "role assigner" DstPort 1 } Line { SrcBlock "refbox handler" SrcPort 2 Points [10, 0; 0, -50; -850, 0; 0, 270] DstBlock "role assigner" DstPort 2 } Line { SrcBlock "waypointplanner" SrcPort 1 DstBlock "Goto14" DstPort 1 } Line { SrcBlock "waypointplanner" SrcPort 2 DstBlock "Goto13" DstPort 1 } Line { SrcBlock "role assigner" SrcPort 2 Points [10, 0] Branch { DstBlock "Goto3" DstPort 1 } Branch { Points [0, 75; -270, 0] DstBlock "strategy handler" DstPort 1 } } Line { SrcBlock "role handler" SrcPort 1 DstBlock "Goto19" DstPort 1 } Line { SrcBlock "role handler" SrcPort 2 DstBlock "Goto22" DstPort 1 } Line { SrcBlock "TRCbus" SrcPort 1 Points [80, 0] Branch { Points [0, 365] Branch { DstBlock "role assigner" DstPort 3 } Branch { Points [0, 100] DstBlock "strategy handler" DstPort 3 } } Branch { Points [565, 0; 0, 305] Branch { Points [0, 250] Branch { DstBlock "role handler" DstPort 11 } Branch { Points [0, 200] DstBlock "Goal Keeper" DstPort 7 } } Branch { DstBlock "refbox handler" DstPort 8 } } } Line { SrcBlock "visionbus" SrcPort 1 Points [710, 0; 0, 260] Branch { Points [0, -80] DstBlock "refbox handler" DstPort 5 } Branch { Points [0, 160] Branch { DstBlock "role handler" DstPort 6 } Branch { Points [0, 240] DstBlock "Goal Keeper" DstPort 4 } } } Line { SrcBlock "role handler" SrcPort 5 Points [30, 0; 0, 95; -870, 0; 0, -80] DstBlock "strategy handler" DstPort 7 } Line { SrcBlock "Goal Keeper" SrcPort 1 Points [40, 0; 0, -160] DstBlock "switchert" DstPort 6 } Line { SrcBlock "Goal Keeper" SrcPort 2 DstBlock "Goto24" DstPort 1 } Line { SrcBlock "refbox handler" SrcPort 4 DstBlock "Goto10" DstPort 1 } Line { SrcBlock "refbox handler" SrcPort 5 DstBlock "Goto11" DstPort 1 } Line { SrcBlock "refbox handler" SrcPort 6 DstBlock "Goto" DstPort 1 } Line { SrcBlock "refbox handler" SrcPort 7 DstBlock "Goto18" DstPort 1 } Line { SrcBlock "refbox handler" SrcPort 8 Points [45, 0; 0, 185] DstBlock "switchert" DstPort 2 } Line { SrcBlock "Goal Keeper" SrcPort 3 Points [45, 0; 0, -220] DstBlock "switchert" DstPort 7 } Line { SrcBlock "Strategy_tuning_bus" SrcPort 1 Points [65, 0] Branch { Points [0, 425] DstBlock "strategy handler" DstPort 5 } Branch { Points [625, 0; 0, 175] Branch { DstBlock "refbox handler" DstPort 6 } Branch { Points [0, 230] DstBlock "role handler" DstPort 7 } } } Line { SrcBlock "actionsbus" SrcPort 1 Points [115, 0] Branch { Points [595, 0] Branch { DstBlock "Goal Keeper" DstPort 5 } Branch { Points [0, -220] Branch { DstBlock "role handler" DstPort 8 } Branch { Points [0, -220] DstBlock "refbox handler" DstPort 7 } } } Branch { Points [0, -30] DstBlock "waypointplanner" DstPort 2 } } Line { SrcBlock "role assigner" SrcPort 3 Points [0, 35; -270, 0; 0, 50] DstBlock "strategy handler" DstPort 2 } Line { SrcBlock "role mapper" SrcPort 2 Points [345, 0] DstBlock "refbox handler" DstPort 2 } Line { SrcBlock "teambus" SrcPort 1 Points [75, 0] Branch { DstBlock "waypointplanner" DstPort 1 } Branch { Points [0, -130] DstBlock "strategy handler" DstPort 6 } Branch { Points [0, 95; 550, 0] Branch { DstBlock "Goal Keeper" DstPort 6 } Branch { Points [0, -220] DstBlock "role handler" DstPort 9 } } } Line { SrcBlock "role mapper" SrcPort 4 Points [195, 0; 0, 370] DstBlock "role handler" DstPort 10 } Line { SrcBlock "control_bus" SrcPort 1 DstBlock "strategy handler" DstPort 8 } Line { SrcBlock "role handler" SrcPort 6 Points [20, 0; 0, 55; -850, 0] DstBlock "strategy handler" DstPort 9 } Line { SrcBlock "refbox handler" SrcPort 9 Points [40, 0; 0, 170] DstBlock "switchert" DstPort 3 } Line { SrcBlock "role handler" SrcPort 4 DstBlock "switchert" DstPort 5 } Line { SrcBlock "Goal Keeper" SrcPort 4 Points [50, 0; 0, -245] DstBlock "switchert" DstPort 8 } Line { SrcBlock "switchert" SrcPort 2 DstBlock "Goto9" DstPort 1 } Line { SrcBlock "switchert" SrcPort 1 DstBlock "Goto8" DstPort 1 } Line { SrcBlock "role handler" SrcPort 3 Points [35, 0; 0, 25] DstBlock "switchert" DstPort 4 } Line { SrcBlock "From9" SrcPort 1 DstBlock "Bus assigner" DstPort 1 } Line { SrcBlock "From1" SrcPort 1 DstBlock "Bus assigner" DstPort 2 } Line { SrcBlock "From3" SrcPort 1 DstBlock "Bus assigner" DstPort 3 } Line { SrcBlock "From2" SrcPort 1 DstBlock "Bus assigner" DstPort 4 } Line { SrcBlock "From7" SrcPort 1 DstBlock "Bus assigner" DstPort 5 } Line { SrcBlock "From4" SrcPort 1 DstBlock "Bus assigner" DstPort 6 } Line { SrcBlock "From6" SrcPort 1 DstBlock "Bus assigner" DstPort 7 } Line { SrcBlock "From5" SrcPort 1 DstBlock "Bus assigner" DstPort 8 } Line { SrcBlock "From12" SrcPort 1 DstBlock "Bus assigner" DstPort 9 } Line { SrcBlock "From8" SrcPort 1 DstBlock "Bus assigner" DstPort 10 } Line { SrcBlock "From11" SrcPort 1 DstBlock "Bus assigner" DstPort 11 } Line { SrcBlock "From10" SrcPort 1 DstBlock "Bus assigner" DstPort 12 } Line { SrcBlock "From15" SrcPort 1 DstBlock "Bus assigner" DstPort 13 } Line { SrcBlock "From16" SrcPort 1 DstBlock "Bus assigner" DstPort 14 } Line { SrcBlock "From14" SrcPort 1 DstBlock "Bus assigner" DstPort 15 } Line { SrcBlock "From13" SrcPort 1 DstBlock "Bus assigner" DstPort 16 } Line { SrcBlock "Bus assigner" SrcPort 1 DstBlock "strategybus" DstPort 1 } } } Block { BlockType SubSystem Name "team, worldmodel comm" Ports [0, 1] Position [105, 380, 230, 490] BackgroundColor "red" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "team, worldmodel comm" Location [5, 77, 1275, 690] Open off ModelBrowserVisibility off ModelBrowserWidth 200 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" Block { BlockType "S-Function" Name "Bus decoder" Ports [1, 19] Position [690, 16, 945, 604] BackgroundColor "cyan" FunctionName "sf_bus_decode" Parameters "sizes,offsets,portwidth,types,bus_size" MaskType "Decode bus variables." MaskDescription "Bus decoder to obtain values of bus variables. \nBusses can be editted and created using the busmanager. Note that deleting input variables of this bus assigner will mix the inputs." MaskPromptString "Name of bus |blueIsHomeGoal|robotsInField|teamColors|gameRoleIds|current_xyo|subtarget_xy|CPBteam|t_MS|CPPAroleIdDef|CPPAteamDef|taskSwitchRequest|roleSwitchInitiative|refboxRoleIds|refboxStageStates|gameStageStates|receptorPassTarget|receptorRoleId|refboxGlobalNrs|prevGameRoleIds|WMactive|WMopponents_xy_dxdy_r|WMrobot_xyo|WMactiveRobots|turtleTargets|t_BS|ball_xyz|ball_xyzdot|ballSource|ballConfidence|seeBall|usedBallTurtleID|isPeer|CPPAroleIdAtt|CPPAteamAtt|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |memory variable|memory variable|memory variable" MaskStyleString "popup(