diff --git a/src/epics/simLink/CDS_PARTS.mdl b/src/epics/simLink/CDS_PARTS.mdl index 63688b88e6b018dad82680643777eef4c5c400f0..7047ff25b22590db7e3003e4e9e378a0d5070004 100644 --- a/src/epics/simLink/CDS_PARTS.mdl +++ b/src/epics/simLink/CDS_PARTS.mdl @@ -1,12 +1,12 @@ Library { Name "CDS_PARTS" Version 9.3 - SavedCharacterEncoding "ISO-8859-1" - WebScopes_FoundationPlugin "on" + SavedCharacterEncoding "UTF-8" DiagnosticSuppressor "on" SLCCPlugin "on" - NotesPlugin "on" + WebScopes_FoundationPlugin "on" LogicAnalyzerPlugin "on" + NotesPlugin "on" LibraryType "BlockLibrary" EnableAccessToBaseWorkspace on ScopeRefreshTime 0.035000 @@ -14,7 +14,7 @@ Library { DisableAllScopes off FPTRunName "Run 1" MaxMDLFileLineLength 120 - LastSavedArchitecture "maci64" + LastSavedArchitecture "glnxa64" Object { $PropName "BdWindowsInfo" $ObjectID 1 @@ -24,17 +24,17 @@ Library { $ObjectID 2 $ClassName "Simulink.WindowInfo" IsActive [1] - Location [343.0, 42.0, 1036.0, 877.0] + Location [729.0, 64.0, 1036.0, 877.0] Object { $PropName "ModelBrowserInfo" $ObjectID 3 $ClassName "Simulink.ModelBrowserInfo" - Visible [0] + Visible [1] DockPosition "Left" Width [50] Height [50] Filter [9] - Minimized "Unset" + Minimized "Off" } Object { $PropName "ExplorerBarInfo" @@ -47,11 +47,11 @@ Library { $ObjectID 5 $ClassName "Simulink.EditorInfo" IsActive [1] - ViewObjType "SimulinkTopLevel" - LoadSaveID "0" - Extents [998.0, 712.0] - ZoomFactor [1.4799999999999998] - Offset [1.1368683772161603e-13, 0.0] + ViewObjType "SimulinkSubsys" + LoadSaveID "150" + Extents [735.0, 687.0] + ZoomFactor [1.5] + Offset [-17.569047619048717, 227.907229427522] } Object { $PropName "DockComponentsInfo" @@ -68,15 +68,15 @@ Library { Height [480] Minimized "Unset" } - WindowState "AAAA/wAAAAD9AAAAAgAAAAAAAAC9AAAB+PwCAAAAA/sAAAAWAEQAbwBjAGsAVwBpAGQAZwBlAHQAMwEAAAAxAAAB+AAAA" + WindowState "AAAA/wAAAAD9AAAAAgAAAAAAAAD1AAAC8PwCAAAAA/sAAAAWAEQAbwBjAGsAVwBpAGQAZwBlAHQAMwEAAAAxAAAB+AAAA" "AAAAAAA+wAAABYARABvAGMAawBXAGkAZABnAGUAdAA0AAAAAAD/////AAAAAAAAAAD7AAAAUgBHAEwAVQBFADIAIAB0AHIAZQBlACAAYwBvAG0Ac" - "ABvAG4AZQBuAHQALwBHAEwAVQBFADIAIAB0AHIAZQBlACAAYwBvAG0AcABvAG4AZQBuAHQAAAAAAP////8AAABrAP///wAAAAEAAAAAAAAAAPwCA" + "ABvAG4AZQBuAHQALwBHAEwAVQBFADIAIAB0AHIAZQBlACAAYwBvAG0AcABvAG4AZQBuAHQBAAAAQAAAAvAAAACAAP///wAAAAEAAAAAAAAAAPwCA" "AAAAfsAAABUAEcATABVAEUAMgA6AFAAcgBvAHAAZQByAHQAeQBJAG4AcwBwAGUAYwB0AG8AcgAvAFAAcgBvAHAAZQByAHQAeQAgAEkAbgBzAHAAZ" - "QBjAHQAbwByAAAAAAD/////AAABrAD///8AAAQMAAADAwAAAAEAAAACAAAAAQAAAAL8AAAAAQAAAAIAAAAP/////wAAAAAA/////wAAAAAAAAAA/" + "QBjAHQAbwByAAAAAAD/////AAABrAD///8AAAMFAAAC8AAAAAEAAAACAAAAAQAAAAL8AAAAAQAAAAIAAAAP/////wAAAAAA/////wAAAAAAAAAA/" "////wEAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/" - "////wEAAACE/////wAAAAAAAAAA/////wEAAAD2/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/" - "////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wEAAAFL/////wAAAAAAAAAA/" - "////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA" + "////wEAAACK/////wAAAAAAAAAA/////wEAAADy/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/" + "////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wEAAAFK/////wAAAAAAAAAA/" + "////wEAAAGB/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA" } } HideAutomaticNames on @@ -84,11 +84,11 @@ Library { Creator "aivanov" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%<Auto>" - LastModifiedBy "rolf" + LastModifiedBy "ezekiel.dohmen" ModifiedDateFormat "%<Auto>" - LastModifiedDate "Thu Dec 17 08:21:58 2020" - RTWModifiedTimeStamp 530093207 - ModelVersionFormat "1.%<AutoIncrement:396>" + LastModifiedDate "Tue Apr 12 10:14:15 2022" + RTWModifiedTimeStamp 571659248 + ModelVersionFormat "1.%<AutoIncrement:404>" SampleTimeColors off SampleTimeAnnotations off LibraryLinkDisplay "all" @@ -168,7 +168,7 @@ Library { Description "" Array { Type "Handle" - Dimension 9 + Dimension 10 Simulink.SolverCC { $ObjectID 8 Version "19.0.0" @@ -879,6 +879,21 @@ Library { CovStopTime 0 CovMcdcMode "Masking" } + hdlcoderui.hdlcc { + $ObjectID 19 + Version "19.0.0" + DisabledProps [] + Description "HDL Coder custom configuration component" + Components [] + Name "HDL Coder" + Array { + Type "Cell" + Dimension 1 + Cell " " + PropName "HDLConfigFile" + } + HDLCActiveTab "0" + } PropName "Components" } Name "Configuration" @@ -1177,12 +1192,12 @@ Library { } System { Name "CDS_PARTS" - Location [343, 42, 1379, 919] - Open on + Location [729, 64, 1765, 941] + Open off PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "portrait" @@ -1192,9 +1207,9 @@ Library { TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off - ZoomFactor "148" + ZoomFactor "100" ReportName "simulink-default.rpt" - SIDHighWatermark "379" + SIDHighWatermark "389" SimulinkSubDomain "Simulink" Block { BlockType SubSystem @@ -1212,7 +1227,7 @@ Library { PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "portrait" @@ -1241,7 +1256,7 @@ Library { PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" @@ -1546,7 +1561,7 @@ Library { PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" @@ -1609,7 +1624,7 @@ Library { PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" @@ -2185,7 +2200,7 @@ Library { PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" @@ -2729,7 +2744,7 @@ Library { Annotation { SID "98:321" Name "CONTEC6464 Binary I/O Modules " - Position [26, 11, 289, 31] + Position [26, 11, 289, 38] InternalMargins [0, 0, 0, 0] ZOrder -1 FontName "times" @@ -2738,7 +2753,7 @@ Library { Annotation { SID "98:322" Name "Card 0 " - Position [125, 101, 179, 121] + Position [125, 101, 179, 128] InternalMargins [0, 0, 0, 0] ZOrder -2 FontName "times" @@ -2747,7 +2762,7 @@ Library { Annotation { SID "98:323" Name "Card 1 " - Position [300, 101, 354, 121] + Position [300, 101, 354, 128] InternalMargins [0, 0, 0, 0] ZOrder -3 FontName "times" @@ -2756,7 +2771,7 @@ Library { Annotation { SID "98:324" Name "Card 2 " - Position [480, 101, 534, 121] + Position [480, 101, 534, 128] InternalMargins [0, 0, 0, 0] ZOrder -4 FontName "times" @@ -2765,7 +2780,7 @@ Library { Annotation { SID "98:325" Name "User Application Parts *********************************" - Position [29, 76, 495, 96] + Position [29, 76, 495, 103] InternalMargins [0, 0, 0, 0] ZOrder -5 FontName "times" @@ -2774,7 +2789,7 @@ Library { Annotation { SID "98:326" Name "IOP Parts *********************************" - Position [36, 351, 408, 371] + Position [36, 351, 408, 378] InternalMargins [0, 0, 0, 0] ZOrder -6 FontName "times" @@ -2783,7 +2798,7 @@ Library { Annotation { SID "98:327" Name "Card 3 " - Position [670, 101, 724, 121] + Position [670, 101, 724, 128] InternalMargins [0, 0, 0, 0] ZOrder -7 FontName "times" @@ -3096,7 +3111,7 @@ Library { Annotation { SID "335" Name "Binary I/O Modules *******************************************************************" - Position [20, 821, 774, 841] + Position [20, 821, 773, 848] InternalMargins [0, 0, 0, 0] ZOrder -1 FontName "times" @@ -3105,7 +3120,7 @@ Library { Annotation { SID "336" Name "Digital to Analog (DAC) Modules ********" - Position [25, 306, 350, 326] + Position [25, 306, 351, 333] InternalMargins [0, 0, 0, 0] ZOrder -2 FontName "times" @@ -3114,7 +3129,7 @@ Library { Annotation { SID "337" Name "Real-time Communications ********" - Position [24, 556, 300, 576] + Position [24, 556, 300, 583] InternalMargins [0, 0, 0, 0] ZOrder -3 FontName "times" @@ -3123,7 +3138,7 @@ Library { Annotation { SID "338" Name " aLIGO Real-time Code Generator - I/O Parts Library" - Position [126, 7, 644, 33] + Position [126, 7, 644, 42] InternalMargins [0, 0, 0, 0] ZOrder -4 FontName "times" @@ -3132,7 +3147,7 @@ Library { Annotation { SID "339" Name "Analog to Digial (ADC) Modules ***************************************************" - Position [33, 56, 741, 76] + Position [33, 56, 740, 83] InternalMargins [0, 0, 0, 0] ZOrder -5 FontName "times" @@ -3156,7 +3171,7 @@ Library { PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "portrait" @@ -3259,7 +3274,7 @@ Library { PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" @@ -3296,7 +3311,7 @@ Library { SID "6:7" Name "#DAQ Channels\n\nONE_DAQ_CHANNEL 2048\nANOTHER_DAQ_CHANNEL 1024\nSCIENCE_FRAME_CHAN* 1024\nUINT32_CHAN ui" "nt32 2048\nDAQ_CHANNEL_AT_DEFAULT_RATE" - Position [66, 81, 294, 181] + Position [66, 81, 294, 216] InternalMargins [0, 0, 0, 0] HorizontalAlignment "left" DropShadow on @@ -3337,12 +3352,12 @@ Library { RequestExecContextInheritance off System { Name "EpicsParts" - Location [1419, 271, 2439, 1254] + Location [729, 64, 1765, 941] Open off PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "portrait" @@ -3367,6 +3382,12 @@ Library { LibraryVersion "1.2" SourceBlock "cdsEpicsOutLong/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -3379,13 +3400,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag13" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3399,13 +3421,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag14" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3419,13 +3442,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag15" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3439,13 +3463,14 @@ Library { BackgroundColor "magenta" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag16" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3459,13 +3484,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag17" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3479,13 +3505,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag18" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3499,13 +3526,14 @@ Library { BackgroundColor "magenta" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag19" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3519,13 +3547,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag20" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3539,13 +3568,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag21" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3559,13 +3589,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag22" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3579,13 +3610,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag23" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3609,6 +3641,12 @@ Library { LibraryVersion "1.6" SourceBlock "cdsEpicsBinIn/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -3624,6 +3662,12 @@ Library { LibraryVersion "1.4" SourceBlock "cdsEpicsCounter/EpicsCounter" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -3649,6 +3693,12 @@ Library { LibraryVersion "1.7" SourceBlock "cdsEpicsInCtrl/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -3671,6 +3721,12 @@ Library { LibraryVersion "1.3" SourceBlock "cdsEpicsIn/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -3687,6 +3743,12 @@ Library { LibraryVersion "1.6" SourceBlock "cdsEpicsMbbi/EpicsMbbi" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -3703,6 +3765,12 @@ Library { LibraryVersion "1.3" SourceBlock "cdsEpicsMbbo/EpicsMbbo" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -3718,6 +3786,12 @@ Library { LibraryVersion "1.6" SourceBlock "cdsEpicsMomentary/EpicsMomentary" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -3737,6 +3811,12 @@ Library { LibraryVersion "1.2" SourceBlock "cdsEpicsOut/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -3770,6 +3850,12 @@ Library { LibraryVersion "1.3" SourceBlock "cdsRemoteIntlk/Name" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -3786,6 +3872,12 @@ Library { LibraryVersion "1.4" SourceBlock "cdsEpicsStringIn/EpicsStringIn" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Ground @@ -3819,6 +3911,12 @@ Library { LibraryVersion "1.4" SourceBlock "cdsEzCaRead/cdsEzCaRead" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -3837,6 +3935,12 @@ Library { LibraryVersion "1.2" SourceBlock "cdsEzCaWrite/cdsEzCaWrite" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Line { ZOrder 1 @@ -3855,7 +3959,7 @@ Library { Annotation { SID "332" Name "RCG EPICS Parts Library ******************************" - Position [55, 21, 520, 41] + Position [55, 21, 520, 48] InternalMargins [0, 0, 0, 0] ZOrder -1 FontName "times" @@ -3864,7 +3968,7 @@ Library { Annotation { SID "333" Name "Custom For Guardian Scripts ***************************" - Position [42, 471, 502, 491] + Position [42, 471, 502, 498] InternalMargins [0, 0, 0, 0] ZOrder -2 FontName "times" @@ -3885,12 +3989,12 @@ Library { RequestExecContextInheritance off System { Name "Filters/\nGDS" - Location [1419, 271, 2439, 1254] + Location [729, 64, 1765, 941] Open off PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "portrait" @@ -3913,13 +4017,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag24" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3933,13 +4038,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag25" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3953,13 +4059,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag26" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3973,13 +4080,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag27" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -3993,13 +4101,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag28" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -4013,13 +4122,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag29" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -4033,13 +4143,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag30" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -4055,6 +4166,12 @@ Library { LibraryVersion "1.5" SourceBlock "cdsInputFilter/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4069,6 +4186,12 @@ Library { LibraryVersion "1.8" SourceBlock "cdsEXC/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4129,6 +4252,12 @@ Library { LibraryVersion "1.9" SourceBlock "cdsFiltCtrl/IIR FM with control" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4189,6 +4318,12 @@ Library { LibraryVersion "1.15" SourceBlock "cdsFiltCtrl2/IIR FM with control 2" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4221,6 +4356,12 @@ Library { LibraryVersion "1.3" SourceBlock "cdsFilt/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4239,6 +4380,12 @@ Library { LibraryVersion "1.4" SourceBlock "cdsPPFIR/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4255,6 +4402,12 @@ Library { LibraryVersion "1.2" SourceBlock "cdsRms/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4269,6 +4422,12 @@ Library { LibraryVersion "1.5" SourceBlock "cdsTP/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4285,6 +4444,12 @@ Library { LibraryVersion "1.8" SourceBlock "cdsTrueRMS/TrueRMS" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Annotation { SID "334" @@ -4308,12 +4473,12 @@ Library { RequestExecContextInheritance off System { Name "MatrixParts" - Location [857, 306, 1877, 1289] + Location [729, 64, 1765, 941] Open off PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "portrait" @@ -4372,13 +4537,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag31" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -4392,13 +4558,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag32" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -4412,13 +4579,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag33" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -4432,13 +4600,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag34" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -4452,13 +4621,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag35" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -4472,13 +4642,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag36" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -4492,13 +4663,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag37" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -4512,13 +4684,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag38" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -4532,13 +4705,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag39" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -4557,6 +4731,12 @@ Library { LibraryVersion "1.2" SourceBlock "cdsMatrix/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4580,6 +4760,12 @@ Library { LibraryVersion "1.4" SourceBlock "cdsProduct/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4596,6 +4782,12 @@ Library { LibraryVersion "1.1" SourceBlock "cdsSubtract8/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4612,6 +4804,12 @@ Library { LibraryVersion "1.1" SourceBlock "cdsSwitch1/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Mux @@ -4660,9 +4858,15 @@ Library { LibraryVersion "1.2" SourceBlock "cdsRampMuxMatrix/Subsystem" SourceType "SubSystem" - } - Block { - BlockType Reference + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off + } + Block { + BlockType Reference Name "RampSwitch" SID "305" Tag "cdsRampSwitch" @@ -4676,6 +4880,12 @@ Library { LibraryVersion "1.2" SourceBlock "cdsRampSwitch/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4692,6 +4902,12 @@ Library { LibraryVersion "1.6" SourceBlock "cdsBit2Word/cdsBit2Word" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4707,6 +4923,12 @@ Library { LibraryVersion "1.2" SourceBlock "cdsFiltMuxMatrix/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4723,6 +4945,12 @@ Library { LibraryVersion "1.3" SourceBlock "cdsMuxMatrix/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -4739,6 +4967,12 @@ Library { LibraryVersion "1.6" SourceBlock "cdsWord2Bit/cdsWord2Bit" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Line { ZOrder 1 @@ -4813,12 +5047,12 @@ Library { RequestExecContextInheritance off System { Name "Osc/Phase" - Location [694, 33, 1730, 1080] - Open off + Location [729, 64, 1765, 941] + Open on PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "portrait" @@ -4828,7 +5062,7 @@ Library { TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off - ZoomFactor "125" + ZoomFactor "150" SimulinkSubDomain "Simulink" Block { BlockType Reference @@ -4836,12 +5070,12 @@ Library { SID "109" Description "Saturation Count" Ports [] - Position [227, 590, 267, 629] + Position [227, 710, 267, 749] ZOrder -1 BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.358" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag40" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" @@ -4862,7 +5096,7 @@ Library { BackgroundColor "magenta" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.358" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag41" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" @@ -4883,7 +5117,7 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.358" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag42" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" @@ -4904,7 +5138,7 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.358" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag43" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" @@ -4925,7 +5159,7 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.358" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag44" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" @@ -4946,7 +5180,7 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.358" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag45" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" @@ -4967,7 +5201,7 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.358" + LibraryVersion "1.453" UserDataPersistent on UserData "DataTag46" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" @@ -4977,6 +5211,47 @@ Library { ContentPreviewEnabled off DocumentType "Text" } + Block { + BlockType Reference + Name "DocBlock7" + SID "386" + Description "GaussianNoiseGenerator" + Ports [] + Position [252, 585, 292, 624] + ZOrder 12 + BackgroundColor "yellow" + ShowName off + AttributesFormatString "%<Description>" + LibraryVersion "1.453" + UserDataPersistent on + UserData "DataTag47" + SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" + SourceType "DocBlock" + SourceProductName "Simulink" + SourceProductBaseCode "SL" + ContentPreviewEnabled off + DocumentType "Text" + } + Block { + BlockType Reference + Name "GaussianNoiseGenerator" + SID "389" + Tag "cdsGaussianNoiseGenerator" + Ports [1, 1] + Position [65, 584, 165, 626] + ZOrder 15 + BackgroundColor "[1.000000, 0.576471, 0.435294]" + AttributesFormatString "%<Tag>" + LibraryVersion "1.4" + SourceBlock "cdsGaussianNoiseGenerator/Subsystem" + SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off + } Block { BlockType Ground Name "Ground" @@ -4998,25 +5273,37 @@ Library { Position [5, 380, 25, 400] ZOrder 5 } + Block { + BlockType Ground + Name "Ground3" + SID "384" + Position [20, 595, 40, 615] + ZOrder 11 + } Block { BlockType Reference - Name "Noise Generator" + Name "NoiseGeneratorName" SID "130" Tag "cdsNoise" Description "White Noise Generator" Ports [1, 1] Position [80, 483, 165, 527] ZOrder -8 - BackgroundColor "[1.000000, 0.577622, 0.434895]" + BackgroundColor "[1.000000, 0.576471, 0.435294]" AttributesFormatString "%<Tag>" LibraryVersion "1.5" SourceBlock "cdsNoise/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off ContentPreviewEnabled off } Block { BlockType Reference - Name "Oscillator Fixed Phase Name" + Name "OscillatorFixedPhaseName" SID "369" Tag "cdsOscFixedPhase" Description "ADL=OSC.adl" @@ -5028,11 +5315,16 @@ Library { LibraryVersion "1.10" SourceBlock "cdsOscFixedPhase/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off ContentPreviewEnabled off } Block { BlockType Reference - Name "Oscillator Name" + Name "OscillatorName" SID "131" Tag "cdsOsc" Description "ADL=OSC.adl" @@ -5045,11 +5337,16 @@ Library { LibraryVersion "1.6" SourceBlock "cdsOsc/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off ContentPreviewEnabled off } Block { BlockType Reference - Name "Oscillator Set Phase Name" + Name "OscillatorSetPhaseName" SID "372" Tag "cdsOscSetPhase" Description "ADL=OSC.adl" @@ -5061,11 +5358,16 @@ Library { LibraryVersion "1.10" SourceBlock "cdsOscSetPhase/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off ContentPreviewEnabled off } Block { BlockType Reference - Name "Phase Rotator Name" + Name "PhaseRotatorName" SID "132" Tag "cdsPhase" Description "Phase Rotator" @@ -5078,11 +5380,16 @@ Library { LibraryVersion "1.2" SourceBlock "cdsPhase/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off ContentPreviewEnabled off } Block { BlockType Reference - Name "Rotator Name" + Name "RotatorName" SID "133" Tag "cdsWfsPhase" Description "WFS Phase Rotator" @@ -5095,6 +5402,11 @@ Library { LibraryVersion "1.2" SourceBlock "cdsWfsPhase/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off ContentPreviewEnabled off } Block { @@ -5104,7 +5416,7 @@ Library { Tag "cdsSatCount" Description "Saturation count" Ports [1, 2] - Position [35, 563, 165, 627] + Position [35, 683, 165, 747] ZOrder -12 BackgroundColor "red" DropShadow on @@ -5112,33 +5424,45 @@ Library { LibraryVersion "1.6" SourceBlock "cdsSatCount/Saturation Count Name" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off ContentPreviewEnabled off } Line { ZOrder 1 SrcBlock "Ground" SrcPort 1 - DstBlock "Oscillator Name" + DstBlock "OscillatorName" DstPort 1 } Line { ZOrder 2 SrcBlock "Ground1" SrcPort 1 - DstBlock "Noise Generator" + DstBlock "NoiseGeneratorName" DstPort 1 } Line { ZOrder 3 SrcBlock "Ground2" SrcPort 1 - DstBlock "Oscillator Fixed Phase Name" + DstBlock "OscillatorFixedPhaseName" + DstPort 1 + } + Line { + ZOrder 8 + SrcBlock "Ground3" + SrcPort 1 + DstBlock "GaussianNoiseGenerator" DstPort 1 } Annotation { SID "342" Name "RCG OSC/Phase Parts Library" - Position [70, 11, 294, 31] + Position [70, 11, 294, 38] InternalMargins [0, 0, 0, 0] ZOrder -1 FontName "times" @@ -5158,12 +5482,12 @@ Library { RequestExecContextInheritance off System { Name "RT Links" - Location [857, 306, 1877, 1289] + Location [729, 64, 1765, 941] Open off PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" @@ -5186,13 +5510,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on - UserData "DataTag47" + UserData "DataTag48" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -5206,13 +5531,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on - UserData "DataTag48" + UserData "DataTag49" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -5226,13 +5552,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on - UserData "DataTag49" + UserData "DataTag50" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -5247,6 +5574,12 @@ Library { LibraryVersion "1.7" SourceBlock "cdsGps/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -5260,6 +5593,12 @@ Library { LibraryVersion "1.1" SourceBlock "cdsModelRate/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -5274,6 +5613,12 @@ Library { LibraryVersion "1.4" SourceBlock "cdsStateWord/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } } } @@ -5288,12 +5633,12 @@ Library { RequestExecContextInheritance off System { Name "WatchDogs" - Location [1319, 176, 2347, 1191] + Location [729, 64, 1765, 941] Open off PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "portrait" @@ -5321,6 +5666,12 @@ Library { FontSize 12 SourceBlock "cdsDacKill/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -5337,6 +5688,12 @@ Library { LibraryVersion "1.3" SourceBlock "cdsDacKillIop/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -5352,6 +5709,12 @@ Library { LibraryVersion "1.3" SourceBlock "cdsDacKillTimed/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -5364,13 +5727,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on - UserData "DataTag50" + UserData "DataTag51" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -5384,13 +5748,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on - UserData "DataTag51" + UserData "DataTag52" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -5404,13 +5769,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on - UserData "DataTag52" + UserData "DataTag53" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -5424,13 +5790,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on - UserData "DataTag53" + UserData "DataTag54" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -5444,13 +5811,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on - UserData "DataTag54" + UserData "DataTag55" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -5464,13 +5832,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on - UserData "DataTag55" + UserData "DataTag56" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -5484,13 +5853,14 @@ Library { BackgroundColor "yellow" ShowName off AttributesFormatString "%<Description>" - LibraryVersion "1.281" + LibraryVersion "1.453" UserDataPersistent on - UserData "DataTag56" + UserData "DataTag57" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" SourceProductBaseCode "SL" + ContentPreviewEnabled off DocumentType "Text" } Block { @@ -5508,6 +5878,12 @@ Library { LibraryVersion "1.4" SourceBlock "cdsHWWD/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -5524,6 +5900,12 @@ Library { LibraryVersion "1.1" SourceBlock "cdsSusWd/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -5537,6 +5919,12 @@ Library { LibraryVersion "1.7" SourceBlock "SUS_IOP_WD/WD" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -5550,6 +5938,12 @@ Library { LibraryVersion "1.11" SourceBlock "SUS_IOP_WD_2_DC_RMS/WD" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } Block { BlockType Reference @@ -5565,6 +5959,12 @@ Library { LibraryVersion "1.3" SourceBlock "cdsWD/Subsystem" SourceType "SubSystem" + ShowPortLabels "FromPortIcon" + SystemSampleTime "-1" + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + ContentPreviewEnabled off } } } @@ -5584,7 +5984,7 @@ Library { PortBlocksUseCompactNotation off SetExecutionDomain off ExecutionDomainType "Deduce" - ModelBrowserVisibility off + ModelBrowserVisibility on ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "portrait" @@ -5688,7 +6088,7 @@ Library { AttributesFormatString "%<Description>" LibraryVersion "1.281" UserDataPersistent on - UserData "DataTag57" + UserData "DataTag58" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" @@ -5708,7 +6108,7 @@ Library { AttributesFormatString "%<Description>" LibraryVersion "1.281" UserDataPersistent on - UserData "DataTag58" + UserData "DataTag59" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" @@ -5728,7 +6128,7 @@ Library { AttributesFormatString "%<Description>" LibraryVersion "1.281" UserDataPersistent on - UserData "DataTag59" + UserData "DataTag60" SourceBlock "simulink/Model-Wide\nUtilities/DocBlock" SourceType "DocBlock" SourceProductName "Simulink" @@ -5893,7 +6293,7 @@ Library { Annotation { SID "343" Name "MUXs" - Position [156, 548, 215, 574] + Position [156, 548, 215, 581] InternalMargins [0, 0, 0, 0] ZOrder -1 FontSize 24 @@ -5901,7 +6301,7 @@ Library { Annotation { SID "344" Name "BUS CREATOR" - Position [246, 553, 366, 573] + Position [246, 553, 366, 578] InternalMargins [0, 0, 0, 0] ZOrder -2 FontSize 18 @@ -5965,7 +6365,7 @@ Library { SID "364" Name "Note: \nIn V2.8 and later:\nBIQUAD IIR filter algorithm set \nas default.\nshmem_daq=1 set as defau" "lt, so no\nlonger a required setting.\n" - Position [22, 297, 222, 369] + Position [22, 297, 222, 404] InternalMargins [0, 0, 0, 0] ZOrder -1 FontWeight "bold" @@ -5974,7 +6374,7 @@ Library { SID "345" Name "One cdsParameters block is\nrequired per User Model.\nPart is shown with the 6\nrequired fields. Ad" "ditional\noptions described in DOC block. " - Position [25, 95, 219, 147] + Position [25, 95, 219, 167] InternalMargins [0, 0, 0, 0] ZOrder -2 } @@ -5982,7 +6382,7 @@ Library { SID "346" Name "Matlab Parts Library for Use with aLIGO Real-time Code Generator - V4\nDefault Matlab Version is no" "w 2019a" - Position [63, 11, 595, 49] + Position [63, 11, 595, 63] InternalMargins [0, 0, 0, 0] ZOrder -3 FontName "times" @@ -5991,7 +6391,7 @@ Library { } } MatData { - NumRecords 60 + NumRecords 61 DataRecord { Tag DataTag0 Data " %)30 . ^ 0 8 ( @ % \" $ ! 0 % 0 \" $ 8 =F5R<" @@ -6846,6 +7246,26 @@ MatData { } DataRecord { Tag DataTag47 + Data " %)30 . 4 4 8 ( @ % \" $ ! 0 % 0 \" $ 8 =F5R<" + "VEO;@!C;VYT96YT &9O<FUA= #@ #@ & \" 8 !0 @ ! 0 $ \"0 @ S,S,S,S/S/" + "PX \" ! !@ @ $ 4 ( 0 $T$ ! ! !-! 1V%U<W-I86Y.;VES94=E;F5R871O<CH*/3T]/3" + "T]/3T]/3T]/3T]\"E1H:7,@8FQO8VL@9V5N97)A=&5S(&$@<F%N9&]M(&YU;6)E<B!F<F]M(&$@;F]R;6%L(&1I<W1R:6)U=&EO;B!W:71H(&$@\"F" + "UE86X@;V8@,\"P@86YD(&$@<W1A;F1A<F0@9&5V:6%T:6]N(&]F(#$N\"@I5<V%G93H*0V]N;F5C=\"!T:&4@;W5T<'5T(\"=.;VES92<@=&\\@=&A" + "E(&1E<VER960@4D-'('!A<G0L(&=E;F5R86QL>2!A(&9I;'1E<B!B86YK\"G1O(&]F9G-E=\"P@<V-A;&4L(&%N9\"!O=&AE<G=I<V4@<VAA<&4@=&" + "AE(&]U='!U=\"!N;VES92X*\"D]P97)A=&EO;CH*5&AI<R!B;&]C:R!U=&EL:7IE<R!A('-L:6=H=&QY('-T<FEP<&5D(&1O=VX@=F5R<VEO;B!O9B" + "!T:&4@<6YO<FTH*2 *9G5N8W1I;VX@9&5F:6YE9\"!B>2!T:&4@4B!P<F]J96-T+@IH='1P<SHO+W-V;BYR+7!R;VIE8W0N;W)G+U(O=')U;FLO<W)" + "C+VYM871H+W%N;W)M+F,*\"E1H92!M971H;V0@=7-E9\"!I<R!I;G9E<G-E('1R86YS9F]R;2!S86UP;&EN9R!T;R!G96YE<F%T92!G875S<VEA;B!" + "N;VES92X*\"E1H:7,@8FQO8VL@=71I;&EZ97,@9V5T7W)A;F1O;5]B>71E<R@I(&9R;VT@=&AE(#QL:6YU>\"]R86YD;VTN:#XL( IK97)N96P@:&5" + "A9&5R+\"!T:&ES('!R;W9I9&5S(#8T(&)I=',@;V8@96YT<F]P>2!U<V5D('1O('-A;7!L92!T:&4@:6YV97)S92 *=')A;G-F;W)M('=I=&@N\"@I" + "%86-H(&EN<W1A;F-E(&]F('1H:7,@8FQO8VL@8V%L;',@=&AE('-A;64@:6YL:6YE(&9U;F-T:6]N('1O(&=E=\" *=&AE(&YE>'0@<F%N9&]M(&1O" + "=6)L92!S86UP;&5D(&9R;VT@=&AE(&1I<W1R:6)U=&EO;BX*\"E)%1D5214Y#10H@\"D)E87-L97DL($HN($0N(&%N9\"!3+B!'+B!3<')I;F=E<B " + "H,3DW-RDN\"D%L9V]R:71H;2!!4R Q,3$Z(%1H92!P97)C96YT86=E('!O:6YT<R!O9B!T:&4@;F]R;6%L(&1I<W1R:6)U=&EO;BP*07!P;&EE9\"!" + "3=&%T:7-T:6-S+\" R-BP@,3$X+3$R,2X*( I7:6-H=7)A+\"!-+DHN(\"@Q.3@X*2X*06QG;W)I=&AM($%3(#(T,3H@5&AE(%!E<F-E;G1A9V4@4&" + "]I;G1S(&]F('1H92!.;W)M86P@1&ES=')I8G5T:6]N+@I!<'!L:65D(%-T871I<W1I8W,L(#,W+\" T-S<M-#@T+@H* #@ # & \" " + " 0 !0 @ ! P $ $ # %185 " + } + DataRecord { + Tag DataTag48 Data " %)30 . 6 $ 8 ( @ % \" $ ! 0 % 0 \" $ 8 =F5R<" "VEO;@!C;VYT96YT &9O<FUA= #@ #@ & \" 8 !0 @ ! 0 $ \"0 @ S,S,S,S/S/" "PX \"( !@ @ $ 4 ( 0 %4 ! ! !5 1U!3#0HZ#0H]/3T]#0H-\"E1H:7,@<&%R=\"!O" @@ -6853,7 +7273,7 @@ MatData { " 4 ( 0 , ! ! P!46%0 " } DataRecord { - Tag DataTag48 + Tag DataTag49 Data " %)30 . @ , 8 ( @ % \" $ ! 0 % 0 \" $ 8 =F5R<" "VEO;@!C;VYT96YT &9O<FUA= #@ #@ & \" 8 !0 @ ! 0 $ \"0 @ S,S,S,S/S/" "PX \"P @ !@ @ $ 4 ( 0 'H\" ! ! !Z @ 4U1!5$573U)$#0HZ#0H]/3T]#0H-\"E1O('!R" @@ -6867,7 +7287,7 @@ MatData { "P@87,@8GD@1&%T879I97=E<BX-\"@ X P !@ @ $ 4 ( 0 , ! ! P!46%0 " } DataRecord { - Tag DataTag49 + Tag DataTag50 Data " %)30 . 0 $ 8 ( @ % \" $ ! 0 % 0 \" $ 8 =F5R<" "VEO;@!C;VYT96YT &9O<FUA= #@ #@ & \" 8 !0 @ ! 0 $ \"0 @ S,S,S,S/S/" "PX !P !@ @ $ 4 ( 0 #H ! ! Z 1U!3#0HZ#0H]/3T]#0H-\"E1H:7,@<&%R=\"!O=" @@ -6875,7 +7295,7 @@ MatData { " P!46%0 " } DataRecord { - Tag DataTag50 + Tag DataTag51 Data " %)30 . V $ 8 ( @ % \" $ ! 0 % 0 \" $ 0 =F5R<" "VEO;@!C;VYT96YT X X !@ @ & 4 ( 0 $ ! D ( FIF9F9F9\\3\\. 2 $ " " 8 ( ! % \" $ 1 0 0 0 $0$ &-D<U-U<U=D.@T*/3T]/3T]/3T]#0H-\"E1H:7,@9G5N8W1I;" @@ -6884,7 +7304,7 @@ MatData { "G1E<F9E<F]M971E<BDN#0H-\"E1H:7,@8FQO8VL@<VAO=6QD(&YO=\"!B92!U<V5D(&EN(&%N>2!N97<@9&5S:6=N<RX-\"@ " } DataRecord { - Tag DataTag51 + Tag DataTag52 Data " %)30 . < 8 ( @ % \" $ ! 0 % 0 \" $ 8 =F5R<" "VEO;@!C;VYT96YT &9O<FUA= #@ #@ & \" 8 !0 @ ! 0 $ \"0 @ S,S,S,S/S/" "PX P!@ !@ @ $ 4 ( 0 /\\% ! ! #_!0 8V1S5V%T8VAD;V<Z#0H]/3T]/3T-\"@T*5&AI<" @@ -6909,7 +7329,7 @@ MatData { "T('-I9VYA;',N#0H #@ # & \" 0 !0 @ ! P $ $ # %185 " } DataRecord { - Tag DataTag52 + Tag DataTag53 Data " %)30 . \" 8 8 ( @ % \" $ ! 0 % 0 \" $ 8 =F5R" "<VEO;@!C;VYT96YT &9O<FUA= #@ #@ & \" 8 !0 @ ! 0 $ \"0 @ S,S,S,S/S" "/PX X!0 !@ @ $ 4 ( 0 0% ! ! $!0 8V1S5T0Z#0H]/3T]/3T-\"@T*5&AI<R!B;&]C:" @@ -6931,7 +7351,7 @@ MatData { "T97(N( T* X P !@ @ $ 4 ( 0 , ! ! P!46%0 " } DataRecord { - Tag DataTag53 + Tag DataTag54 Data " %)30 . D 0 8 ( @ % \" $ ! 0 % 0 \" $ 8 =F5R<" "VEO;@!C;VYT96YT &9O<FUA= #@ #@ & \" 8 !0 @ ! 0 $ \"0 @ S,S,S,S/S/" "PX # P !@ @ $ 4 ( 0 (P# ! ! \", P 8V1S1&%Q2VEL;#H-\"CT]/3T]/0T*#0I4:&4@8" @@ -6949,7 +7369,7 @@ MatData { " @ ! P $ $ # %185 " } DataRecord { - Tag DataTag54 + Tag DataTag55 Data " %)30 . > 4 8 ( @ % \" $ ! 0 % 0 \" $ 8 =F5R<" "VEO;@!C;VYT96YT &9O<FUA= #@ #@ & \" 8 !0 @ ! 0 $ \"0 @ S,S,S,S/S/" "PX \"H! !@ @ $ 4 ( 0 '@$ ! ! !X! 8V1S1&%C2VEL;$EO<#H-\"CT]/3T]/0T*#0I4:" @@ -6970,7 +7390,7 @@ MatData { " P!46%0 " } DataRecord { - Tag DataTag55 + Tag DataTag56 Data " %)30 . 6 ( 8 ( @ % \" $ ! 0 % 0 \" $ 8 =F5R<" "VEO;@!C;VYT96YT &9O<FUA= #@ #@ & \" 8 !0 @ ! 0 $ \"0 @ S,S,S,S/S/" "PX \"( 0 !@ @ $ 4 ( 0 %0! ! ! !4 0 8V1S5T0R.@T*/3T]/3T]#0H-\"E1H:7,@8FQO8" @@ -6981,7 +7401,7 @@ MatData { " % \" $ # 0 0 , 5%A4 " } DataRecord { - Tag DataTag56 + Tag DataTag57 Data " %)30 . : 4 8 ( @ % \" $ ! 0 % 0 \" $ 8 =F5R<" "VEO;@!C;VYT96YT &9O<FUA= #@ #@ & \" 8 !0 @ ! 0 $ \"0 @ S,S,S,S/S/" "PX \"8! !@ @ $ 4 ( 0 &0$ ! ! !D! 8V1S1&%C2VEL;%1I;65D.@T*/3T]/3T]#0H-\"" @@ -7001,14 +7421,14 @@ MatData { "7!A<W-I;F<B#0H #@ # & \" 0 !0 @ ! P $ $ # %185 " } DataRecord { - Tag DataTag57 + Tag DataTag58 Data " %)30 . * $ 8 ( @ % \" $ ! 0 % 0 \" $ 0 =F5R<" "VEO;@!C;VYT96YT X X !@ @ & 4 ( 0 $ ! D ( FIF9F9F9\\3\\. F " " 8 ( ! % \" $ !G 0 0 9P %5N:71$96QA>3H-\"CT]/3T]/3T]/3T-\"@T*5&AI<R!B;&]C" ":R!I<R!U<V5D(&9E960@8F%C:R!V86QU97,@;VX@=&AE(&YE>'0@8V]D92!C>6-L92!O9B!T:&4@<V]F='=A<F4N#0H " } DataRecord { - Tag DataTag58 + Tag DataTag59 Data " %)30 . D \\ 8 ( @ % \" $ ! 0 % 0 \" $ 0 =F5R" "<VEO;@!C;VYT96YT X X !@ @ & 4 ( 0 $ ! D ( FIF9F9F9\\3\\. \\" " 8 ( ! % \" $ !F!P 0 1 S X $T 80!T &@ 1@!U &X 8P!T &D ;P!N #H #0 * #T /0 ]" @@ -7060,7 +7480,7 @@ MatData { " ( !B &4 ( !S &4 = @ '0 ;P @ 'H 90!R &\\ +@ - H " } DataRecord { - Tag DataTag59 + Tag DataTag60 Data " %)30 . P D 8 ( @ % \" $ ! 0 % 0 \" $ 8 =F5R<" "VEO;@!C;VYT96YT &9O<FUA= #@ #@ & \" 8 !0 @ ! 0 $ \"0 @ S,S,S,S/S/" "PX #P\" !@ @ $ 4 ( 0 +D( ! ! \"Y\" 1F-N.@T*/3T]/0T*#0I4:&ES(&UO9'5L92!I" diff --git a/src/epics/simLink/lib/cdsGaussianNoiseGenerator.mdl b/src/epics/simLink/lib/cdsGaussianNoiseGenerator.mdl new file mode 100644 index 0000000000000000000000000000000000000000..a2bab3abfaedaa81be9a13e2e16cf87078c8a84e --- /dev/null +++ b/src/epics/simLink/lib/cdsGaussianNoiseGenerator.mdl @@ -0,0 +1,1145 @@ +Library { + Name "cdsGaussianNoise" + Version 9.3 + SavedCharacterEncoding "UTF-8" + DiagnosticSuppressor "on" + SLCCPlugin "on" + WebScopes_FoundationPlugin "on" + LogicAnalyzerPlugin "on" + NotesPlugin "on" + LibraryType "BlockLibrary" + EnableAccessToBaseWorkspace on + ScopeRefreshTime 0.035000 + OverrideScopeRefreshTime on + DisableAllScopes off + FPTRunName "Run 1" + MaxMDLFileLineLength 120 + LastSavedArchitecture "glnxa64" + Object { + $PropName "BdWindowsInfo" + $ObjectID 1 + $ClassName "Simulink.BDWindowsInfo" + Object { + $PropName "WindowsInfo" + $ObjectID 2 + $ClassName "Simulink.WindowInfo" + IsActive [1] + Location [117.0, 61.0, 716.0, 564.0] + Object { + $PropName "ModelBrowserInfo" + $ObjectID 3 + $ClassName "Simulink.ModelBrowserInfo" + Visible [1] + DockPosition "Left" + Width [50] + Height [50] + Filter [9] + Minimized "On" + } + Object { + $PropName "ExplorerBarInfo" + $ObjectID 4 + $ClassName "Simulink.ExplorerBarInfo" + Visible [1] + } + Object { + $PropName "EditorsInfo" + $ObjectID 5 + $ClassName "Simulink.EditorInfo" + IsActive [1] + ViewObjType "SimulinkTopLevel" + LoadSaveID "0" + Extents [592.0, 374.0] + ZoomFactor [1.0] + Offset [0.0, 0.0] + } + Object { + $PropName "DockComponentsInfo" + $ObjectID 6 + $ClassName "Simulink.DockComponentInfo" + Type "GLUE2:PropertyInspector" + ID "Property Inspector" + Visible [1] + CreateCallback "" + UserData "" + Floating [0] + DockPosition "Right" + Width [640] + Height [480] + Minimized "On" + } + WindowState "AAAA/wAAAAD9AAAAAgAAAAAAAAC9AAAB+PwCAAAAA/sAAAAWAEQAbwBjAGsAVwBpAGQAZwBlAHQAMwEAAAAxAAAB+AAAA" + "AAAAAAA+wAAABYARABvAGMAawBXAGkAZABnAGUAdAA0AAAAAAD/////AAAAAAAAAAD7AAAAUgBHAEwAVQBFADIAIAB0AHIAZQBlACAAYwBvAG0Ac" + "ABvAG4AZQBuAHQALwBHAEwAVQBFADIAIAB0AHIAZQBlACAAYwBvAG0AcABvAG4AZQBuAHQAAAAAAP////8AAACAAP///wAAAAEAAAAAAAAAAPwCA" + "AAAAfsAAABUAEcATABVAEUAMgA6AFAAcgBvAHAAZQByAHQAeQBJAG4AcwBwAGUAYwB0AG8AcgAvAFAAcgBvAHAAZQByAHQAeQAgAEkAbgBzAHAAZ" + "QBjAHQAbwByAAAAAAD/////AAABrAD///8AAAJ2AAABtwAAAAEAAAACAAAAAQAAAAL8AAAABAAAAAAAAAABAAAANgBjAG8AbABsAGEAcABzAGkAY" + "gBsAGUAUABhAG4AZQBsAFQAbwBvAGwAQgBhAHIATABlAGYAdAMAAAAA/////wAAAAAAAAAAAAAAAQAAAAEAAAA4AGMAbwBsAGwAYQBwAHMAaQBiA" + "GwAZQBQAGEAbgBlAGwAVABvAG8AbABCAGEAcgBSAGkAZwBoAHQDAAAAAP////8AAAAAAAAAAAAAAAIAAAAP/////wAAAAAA/////wAAAAAAAAAA/" + "////wEAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/" + "////wEAAACK/////wAAAAAAAAAA/////wEAAADy/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/" + "////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wEAAAFK/////wAAAAAAAAAA/" + "////wEAAAGB/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAAAAAAAwAAAAEAAAA6AGMAbwBsAGwAYQBwAHMAaQBiAGwAZQBQAGEAbgBlA" + "GwAVABvAG8AbABCAGEAcgBCAG8AdAB0AG8AbQAAAAAA/////wAAAAAAAAAA" + } + } + HideAutomaticNames on + Created "Mon Apr 11 16:37:21 2022" + Creator "ezekiel.dohmen" + UpdateHistory "UpdateHistoryNever" + ModifiedByFormat "%<Auto>" + LastModifiedBy "ezekiel.dohmen" + ModifiedDateFormat "%<Auto>" + LastModifiedDate "Tue Apr 12 09:53:07 2022" + RTWModifiedTimeStamp 571657983 + ModelVersionFormat "1.%<AutoIncrement:4>" + SampleTimeColors off + SampleTimeAnnotations off + LibraryLinkDisplay "disabled" + WideLines off + ShowLineDimensions off + ShowPortDataTypes off + ShowAllPropagatedSignalLabels off + PortDataTypeDisplayFormat "AliasTypeOnly" + ShowEditTimeErrors on + ShowEditTimeWarnings on + ShowEditTimeAdvisorChecks off + ShowPortUnits off + ShowDesignRanges off + ShowLoopsOnError on + IgnoreBidirectionalLines off + ShowStorageClass off + ShowTestPointIcons on + ShowSignalResolutionIcons on + ShowViewerIcons on + SortedOrder off + VariantCondition off + ShowSubsystemDomainSpec off + ExecutionContextIcon off + ShowLinearizationAnnotations on + ShowVisualizeInsertedRTB on + ShowMarkup on + BlockNameDataTip off + BlockParametersDataTip off + BlockDescriptionStringDataTip off + BlockVariantConditionDataTip off + ToolBar on + StatusBar on + BrowserShowLibraryLinks off + FunctionConnectors off + BrowserLookUnderMasks off + MultiThreadCoSim on + SimulationMode "normal" + PauseTimes "5" + NumberOfSteps 1 + SnapshotBufferSize 10 + SnapshotInterval 10 + NumberOfLastSnapshots 0 + LinearizationMsg "none" + Profile off + ParamWorkspaceSource "MATLABWorkspace" + ExtModeBatchMode off + ExtModeEnableFloating on + ExtModeTrigType "manual" + ExtModeTrigMode "normal" + ExtModeTrigPort "1" + ExtModeTrigElement "any" + ExtModeTrigDuration 1000 + ExtModeTrigDurationFloating "auto" + ExtModeTrigHoldOff 0 + ExtModeTrigDelay 0 + ExtModeTrigDirection "rising" + ExtModeTrigLevel 0 + ExtModeArchiveMode "off" + ExtModeAutoIncOneShot off + ExtModeIncDirWhenArm off + ExtModeAddSuffixToVar off + ExtModeWriteAllDataToWs off + ExtModeArmWhenConnect on + ExtModeSkipDownloadWhenConnect off + ExtModeLogAll on + ExtModeAutoUpdateStatusClock on + ShowModelReferenceBlockVersion off + ShowModelReferenceBlockIO off + OrderedModelArguments on + Array { + Type "Handle" + Dimension 1 + Simulink.ConfigSet { + $ObjectID 7 + Version "19.0.0" + DisabledProps [] + Description "" + Array { + Type "Handle" + Dimension 10 + Simulink.SolverCC { + $ObjectID 8 + Version "19.0.0" + DisabledProps [] + Description "" + Components [] + StartTime "0.0" + StopTime "10.0" + AbsTol "auto" + AutoScaleAbsTol on + FixedStep "auto" + InitialStep "auto" + MaxOrder 5 + ZcThreshold "auto" + ConsecutiveZCsStepRelTol "10*128*eps" + MaxConsecutiveZCs "1000" + ExtrapolationOrder 4 + NumberNewtonIterations 1 + MaxStep "auto" + MinStep "auto" + MaxConsecutiveMinStep "1" + RelTol "1e-3" + EnableMultiTasking off + ConcurrentTasks off + Solver "VariableStepAuto" + SolverName "VariableStepAuto" + SolverJacobianMethodControl "auto" + ShapePreserveControl "DisableAll" + ZeroCrossControl "UseLocalSettings" + ZeroCrossAlgorithm "Nonadaptive" + AlgebraicLoopSolver "TrustRegion" + SolverInfoToggleStatus off + IsAutoAppliedInSIP off + SolverResetMethod "Fast" + PositivePriorityOrder off + AutoInsertRateTranBlk off + SampleTimeConstraint "Unconstrained" + InsertRTBMode "Whenever possible" + SampleTimeProperty [] + DecoupledContinuousIntegration off + MinimalZcImpactIntegration off + SolverOrder 3 + } + Simulink.DataIOCC { + $ObjectID 9 + Version "19.0.0" + DisabledProps [] + Description "" + Components [] + Decimation "1" + ExternalInput "[t, u]" + FinalStateName "xFinal" + InitialState "xInitial" + LimitDataPoints off + MaxDataPoints "1000" + LoadExternalInput off + LoadInitialState off + SaveFinalState off + SaveOperatingPoint off + SaveFormat "Dataset" + SignalLoggingSaveFormat "Dataset" + SaveOutput on + SaveState off + SignalLogging on + DSMLogging on + InspectSignalLogs off + VisualizeSimOutput on + StreamToWorkspace off + StreamVariableName "streamout" + SaveTime on + ReturnWorkspaceOutputs on + StateSaveName "xout" + TimeSaveName "tout" + OutputSaveName "yout" + SignalLoggingName "logsout" + DSMLoggingName "dsmout" + OutputOption "RefineOutputTimes" + OutputTimes "[]" + ReturnWorkspaceOutputsName "out" + Refine "1" + LoggingToFile off + DatasetSignalFormat "timeseries" + LoggingFileName "out.mat" + LoggingIntervals "[-inf, inf]" + } + Simulink.OptimizationCC { + $ObjectID 10 + Version "19.0.0" + Array { + Type "Cell" + Dimension 8 + Cell "BooleansAsBitfields" + Cell "PassReuseOutputArgsAs" + Cell "PassReuseOutputArgsThreshold" + Cell "ZeroExternalMemoryAtStartup" + Cell "ZeroInternalMemoryAtStartup" + Cell "OptimizeModelRefInitCode" + Cell "NoFixptDivByZeroProtection" + Cell "UseSpecifiedMinMax" + PropName "DisabledProps" + } + Description "" + Components [] + BlockReduction on + BooleanDataType on + ConditionallyExecuteInputs on + DefaultParameterBehavior "Tunable" + UseDivisionForNetSlopeComputation "off" + GainParamInheritBuiltInType off + UseFloatMulNetSlope off + DefaultUnderspecifiedDataType "double" + UseSpecifiedMinMax off + InlineInvariantSignals off + OptimizeBlockIOStorage on + BufferReuse on + EnhancedBackFolding off + CachingGlobalReferences off + GlobalBufferReuse on + StrengthReduction off + AdvancedOptControl "" + ExpressionFolding on + BooleansAsBitfields off + BitfieldContainerType "uint_T" + EnableMemcpy on + MemcpyThreshold 64 + PassReuseOutputArgsAs "Structure reference" + PassReuseOutputArgsThreshold 12 + ExpressionDepthLimit 128 + LocalBlockOutputs on + RollThreshold 5 + StateBitsets off + DataBitsets off + ActiveStateOutputEnumStorageType "Native Integer" + ZeroExternalMemoryAtStartup on + ZeroInternalMemoryAtStartup on + InitFltsAndDblsToZero off + NoFixptDivByZeroProtection off + EfficientFloat2IntCast off + EfficientMapNaN2IntZero on + LifeSpan "auto" + MaxStackSize "Inherit from target" + BufferReusableBoundary on + SimCompilerOptimization "off" + AccelVerboseBuild off + OptimizeBlockOrder "off" + OptimizeDataStoreBuffers on + BusAssignmentInplaceUpdate on + DifferentSizesBufferReuse off + OptimizationLevel "level2" + OptimizationPriority "Balanced" + OptimizationCustomize on + UseRowMajorAlgorithm off + LabelGuidedReuse off + MultiThreadedLoops off + DenormalBehavior "GradualUnderflow" + } + Simulink.DebuggingCC { + $ObjectID 11 + Version "19.0.0" + Array { + Type "Cell" + Dimension 1 + Cell "UseOnlyExistingSharedCode" + PropName "DisabledProps" + } + Description "" + Components [] + RTPrefix "error" + ConsistencyChecking "none" + ArrayBoundsChecking "none" + SignalInfNanChecking "none" + StringTruncationChecking "error" + SignalRangeChecking "none" + ReadBeforeWriteMsg "UseLocalSettings" + WriteAfterWriteMsg "UseLocalSettings" + WriteAfterReadMsg "UseLocalSettings" + AlgebraicLoopMsg "warning" + ArtificialAlgebraicLoopMsg "warning" + SaveWithDisabledLinksMsg "warning" + SaveWithParameterizedLinksMsg "warning" + CheckSSInitialOutputMsg on + UnderspecifiedInitializationDetection "Simplified" + MergeDetectMultiDrivingBlocksExec "error" + CheckExecutionContextPreStartOutputMsg off + CheckExecutionContextRuntimeOutputMsg off + SignalResolutionControl "UseLocalSettings" + BlockPriorityViolationMsg "warning" + MinStepSizeMsg "warning" + TimeAdjustmentMsg "none" + MaxConsecutiveZCsMsg "error" + MaskedZcDiagnostic "warning" + IgnoredZcDiagnostic "warning" + SolverPrmCheckMsg "none" + InheritedTsInSrcMsg "warning" + MultiTaskDSMMsg "error" + MultiTaskCondExecSysMsg "error" + MultiTaskRateTransMsg "error" + SingleTaskRateTransMsg "none" + TasksWithSamePriorityMsg "warning" + ExportedTasksRateTransMsg "none" + SigSpecEnsureSampleTimeMsg "warning" + CheckMatrixSingularityMsg "none" + IntegerOverflowMsg "warning" + Int32ToFloatConvMsg "warning" + ParameterDowncastMsg "error" + ParameterOverflowMsg "error" + ParameterUnderflowMsg "none" + ParameterPrecisionLossMsg "warning" + ParameterTunabilityLossMsg "warning" + FixptConstUnderflowMsg "none" + FixptConstOverflowMsg "none" + FixptConstPrecisionLossMsg "none" + UnderSpecifiedDataTypeMsg "none" + UnnecessaryDatatypeConvMsg "none" + VectorMatrixConversionMsg "none" + InvalidFcnCallConnMsg "error" + FcnCallInpInsideContextMsg "error" + SignalLabelMismatchMsg "none" + UnconnectedInputMsg "warning" + UnconnectedOutputMsg "warning" + UnconnectedLineMsg "warning" + UseOnlyExistingSharedCode "error" + SFcnCompatibilityMsg "none" + FrameProcessingCompatibilityMsg "error" + UniqueDataStoreMsg "none" + BusObjectLabelMismatch "warning" + RootOutportRequireBusObject "warning" + AssertControl "UseLocalSettings" + AllowSymbolicDim on + RowMajorDimensionSupport off + ModelReferenceIOMsg "none" + ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" + ModelReferenceVersionMismatchMessage "none" + ModelReferenceIOMismatchMessage "none" + UnknownTsInhSupMsg "warning" + ModelReferenceDataLoggingMessage "warning" + ModelReferenceSymbolNameMessage "warning" + ModelReferenceExtraNoncontSigs "error" + StateNameClashWarn "none" + OperatingPointInterfaceChecksumMismatchMsg "warning" + NonCurrentReleaseOperatingPointMsg "error" + ChecksumConsistencyForSSReuse "none" + PregeneratedLibrarySubsystemCodeDiagnostic "warning" + MatchCodeGenerationContextForUpdateDiagram "none" + InitInArrayFormatMsg "warning" + StrictBusMsg "ErrorLevel1" + BusNameAdapt "WarnAndRepair" + NonBusSignalsTreatedAsBus "none" + SymbolicDimMinMaxWarning "warning" + LossOfSymbolicDimsSimulationWarning "warning" + LossOfSymbolicDimsCodeGenerationWarning "error" + SymbolicDimsDataTypeCodeGenerationDiagnostic "error" + BlockIODiagnostic "none" + SFUnusedDataAndEventsDiag "warning" + SFUnexpectedBacktrackingDiag "error" + SFInvalidInputDataAccessInChartInitDiag "warning" + SFNoUnconditionalDefaultTransitionDiag "error" + SFTransitionOutsideNaturalParentDiag "warning" + SFUnreachableExecutionPathDiag "warning" + SFUndirectedBroadcastEventsDiag "warning" + SFTransitionActionBeforeConditionDiag "warning" + SFOutputUsedAsStateInMooreChartDiag "error" + SFTemporalDelaySmallerThanSampleTimeDiag "warning" + SFSelfTransitionDiag "warning" + SFExecutionAtInitializationDiag "warning" + SFMachineParentedDataDiag "warning" + IntegerSaturationMsg "warning" + AllowedUnitSystems "all" + UnitsInconsistencyMsg "warning" + AllowAutomaticUnitConversions on + RCSCRenamedMsg "warning" + RCSCObservableMsg "warning" + ForceCombineOutputUpdateInSim off + UnitDatabase "" + UnderSpecifiedDimensionMsg "none" + DebugExecutionForFMUViaOutOfProcess off + ArithmeticOperatorsInVariantConditions "error" + } + Simulink.HardwareCC { + $ObjectID 12 + Version "19.0.0" + DisabledProps [] + Description "" + Components [] + ProdBitPerChar 8 + ProdBitPerShort 16 + ProdBitPerInt 32 + ProdBitPerLong 32 + ProdBitPerLongLong 64 + ProdBitPerFloat 32 + ProdBitPerDouble 64 + ProdBitPerPointer 64 + ProdBitPerSizeT 64 + ProdBitPerPtrDiffT 64 + ProdLargestAtomicInteger "Char" + ProdLargestAtomicFloat "Float" + ProdIntDivRoundTo "Zero" + ProdEndianess "LittleEndian" + ProdWordSize 64 + ProdShiftRightIntArith on + ProdLongLongMode off + ProdHWDeviceType "Intel->x86-64 (Windows64)" + TargetBitPerChar 8 + TargetBitPerShort 16 + TargetBitPerInt 32 + TargetBitPerLong 32 + TargetBitPerLongLong 64 + TargetBitPerFloat 32 + TargetBitPerDouble 64 + TargetBitPerPointer 32 + TargetBitPerSizeT 32 + TargetBitPerPtrDiffT 32 + TargetLargestAtomicInteger "Char" + TargetLargestAtomicFloat "None" + TargetShiftRightIntArith on + TargetLongLongMode off + TargetIntDivRoundTo "Undefined" + TargetEndianess "Unspecified" + TargetWordSize 32 + TargetPreprocMaxBitsSint 32 + TargetPreprocMaxBitsUint 32 + TargetHWDeviceType "Specified" + TargetUnknown off + ProdEqTarget on + UseEmbeddedCoderFeatures on + UseSimulinkCoderFeatures on + HardwareBoardFeatureSet "EmbeddedCoderHSP" + } + Simulink.ModelReferenceCC { + $ObjectID 13 + Version "19.0.0" + DisabledProps [] + Description "" + Components [] + UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" + EnableRefExpFcnMdlSchedulingChecks on + CheckModelReferenceTargetMessage "error" + EnableParallelModelReferenceBuilds off + ParallelModelReferenceErrorOnInvalidPool on + ParallelModelReferenceMATLABWorkerInit "None" + ModelReferenceNumInstancesAllowed "Multi" + PropagateVarSize "Infer from blocks in model" + ModelDependencies "" + ModelReferencePassRootInputsByReference on + ModelReferenceMinAlgLoopOccurrences off + PropagateSignalLabelsOutOfModel on + SupportModelReferenceSimTargetCustomCode off + } + Simulink.SFSimCC { + $ObjectID 14 + Version "19.0.0" + DisabledProps [] + Description "" + Components [] + SimCustomSourceCode "" + SimCustomHeaderCode "" + SimCustomInitializer "" + SimCustomTerminator "" + SimReservedNameArray [] + SimUserSources "" + SimUserIncludeDirs "" + SimUserLibraries "" + SimUserDefines "" + SimCustomCompilerFlags "" + SimCustomLinkerFlags "" + SFSimEcho on + SimCtrlC on + SimIntegrity on + SimUseLocalCustomCode on + SimParseCustomCode on + SimAnalyzeCustomCode off + SimBuildMode "sf_incremental_build" + SimGenImportedTypeDefs off + ModelFunctionsGlobalVisibility "on" + CompileTimeRecursionLimit 50 + EnableRuntimeRecursion on + MATLABDynamicMemAlloc on + MATLABDynamicMemAllocThreshold 65536 + CustomCodeFunctionArrayLayout [] + DefaultCustomCodeFunctionArrayLayout "NotSpecified" + } + Simulink.RTWCC { + $BackupClass "Simulink.RTWCC" + $ObjectID 15 + Version "19.0.0" + Array { + Type "Cell" + Dimension 16 + Cell "IncludeHyperlinkInReport" + Cell "GenerateTraceInfo" + Cell "GenerateTraceReport" + Cell "GenerateTraceReportSl" + Cell "GenerateTraceReportSf" + Cell "GenerateTraceReportEml" + Cell "PortableWordSizes" + Cell "GenerateWebview" + Cell "GenerateCodeMetricsReport" + Cell "GenerateCodeReplacementReport" + Cell "GenerateMissedCodeReplacementReport" + Cell "GenerateErtSFunction" + Cell "CreateSILPILBlock" + Cell "CodeExecutionProfiling" + Cell "CodeProfilingSaveOptions" + Cell "CodeProfilingInstrumentation" + PropName "DisabledProps" + } + SystemTargetFile "grt.tlc" + HardwareBoard "None" + ShowCustomHardwareApp off + ShowEmbeddedHardwareApp off + TLCOptions "" + GenCodeOnly off + MakeCommand "make_rtw" + GenerateMakefile on + PackageGeneratedCodeAndArtifacts off + PackageName "" + TemplateMakefile "grt_default_tmf" + PostCodeGenCommand "" + Description "" + GenerateReport off + RTWVerbose on + RetainRTWFile off + RTWBuildHooks [] + ProfileTLC off + TLCDebug off + TLCCoverage off + TLCAssert off + RTWUseLocalCustomCode on + RTWUseSimCustomCode off + CustomSourceCode "" + CustomHeaderCode "" + CustomInclude "" + CustomSource "" + CustomLibrary "" + CustomDefine "" + CustomBLASCallback "" + CustomLAPACKCallback "" + CustomFFTCallback "" + CustomInitializer "" + CustomTerminator "" + Toolchain "Automatically locate an installed toolchain" + BuildConfiguration "Faster Builds" + CustomToolchainOptions [] + IncludeHyperlinkInReport off + LaunchReport off + PortableWordSizes off + CreateSILPILBlock "None" + CodeExecutionProfiling off + CodeExecutionProfileVariable "executionProfile" + CodeProfilingSaveOptions "SummaryOnly" + CodeProfilingInstrumentation "off" + SILDebugging off + TargetLang "C" + IncludeBusHierarchyInRTWFileBlockHierarchyMap off + GenerateTraceInfo off + GenerateTraceReport off + GenerateTraceReportSl off + GenerateTraceReportSf off + GenerateTraceReportEml off + GenerateWebview off + GenerateCodeMetricsReport off + GenerateCodeReplacementReport off + GenerateMissedCodeReplacementReport off + RTWCompilerOptimization "off" + ObjectivePriorities [] + RTWCustomCompilerOptimizations "" + CheckMdlBeforeBuild "Off" + SharedConstantsCachingThreshold 1024 + Array { + Type "Handle" + Dimension 2 + Simulink.CodeAppCC { + $ObjectID 16 + Version "19.0.0" + Array { + Type "Cell" + Dimension 28 + Cell "IgnoreCustomStorageClasses" + Cell "IgnoreTestpoints" + Cell "BlockCommentType" + Cell "InsertBlockDesc" + Cell "InsertPolySpaceComments" + Cell "SFDataObjDesc" + Cell "MATLABFcnDesc" + Cell "SimulinkDataObjDesc" + Cell "DefineNamingRule" + Cell "SignalNamingRule" + Cell "ParamNamingRule" + Cell "InternalIdentifier" + Cell "InlinedPrmAccess" + Cell "CustomSymbolStr" + Cell "CustomSymbolStrGlobalVar" + Cell "CustomSymbolStrType" + Cell "CustomSymbolStrField" + Cell "CustomSymbolStrFcn" + Cell "CustomSymbolStrModelFcn" + Cell "CustomSymbolStrFcnArg" + Cell "CustomSymbolStrBlkIO" + Cell "CustomSymbolStrTmpVar" + Cell "CustomSymbolStrMacro" + Cell "CustomSymbolStrUtil" + Cell "CustomSymbolStrEmxType" + Cell "CustomSymbolStrEmxFcn" + Cell "CustomUserTokenString" + Cell "ReqsInCode" + PropName "DisabledProps" + } + Description "" + Components [] + Comment "" + ForceParamTrailComments off + GenerateComments on + CommentStyle "Auto" + IgnoreCustomStorageClasses on + IgnoreTestpoints off + MaxIdLength 31 + PreserveName off + PreserveNameWithParent off + ShowEliminatedStatement off + OperatorAnnotations off + SimulinkDataObjDesc off + SFDataObjDesc off + MATLABFcnDesc off + MangleLength 1 + SharedChecksumLength 8 + CustomSymbolStrGlobalVar "$R$N$M" + CustomSymbolStrType "$N$R$M_T" + CustomSymbolStrField "$N$M" + CustomSymbolStrFcn "$R$N$M$F" + CustomSymbolStrModelFcn "$R$N" + CustomSymbolStrFcnArg "rt$I$N$M" + CustomSymbolStrBlkIO "rtb_$N$M" + CustomSymbolStrTmpVar "$N$M" + CustomSymbolStrMacro "$R$N$M" + CustomSymbolStrUtil "$N$C" + CustomSymbolStrEmxType "emxArray_$M$N" + CustomSymbolStrEmxFcn "emx$M$N" + CustomUserTokenString "" + CustomCommentsFcn "" + DefineNamingRule "None" + DefineNamingFcn "" + ParamNamingRule "None" + ParamNamingFcn "" + SignalNamingRule "None" + SignalNamingFcn "" + InsertBlockDesc off + InsertPolySpaceComments off + SimulinkBlockComments on + BlockCommentType "BlockPathComment" + StateflowObjectComments off + MATLABSourceComments off + EnableCustomComments off + InternalIdentifierFile "" + InternalIdentifier "Shortened" + InlinedPrmAccess "Literals" + ReqsInCode off + UseSimReservedNames off + ReservedNameArray [] + } + Simulink.GRTTargetCC { + $BackupClass "Simulink.TargetCC" + $ObjectID 17 + Version "19.0.0" + Array { + Type "Cell" + Dimension 16 + Cell "IncludeMdlTerminateFcn" + Cell "SuppressErrorStatus" + Cell "ERTCustomFileBanners" + Cell "GenerateSampleERTMain" + Cell "ExistingSharedCode" + Cell "GenerateTestInterfaces" + Cell "ModelStepFunctionPrototypeControlCompliant" + Cell "GenerateAllocFcn" + Cell "PurelyIntegerCode" + Cell "SupportComplex" + Cell "SupportAbsoluteTime" + Cell "SupportContinuousTime" + Cell "SupportNonInlinedSFcns" + Cell "RemoveDisableFunc" + Cell "RemoveResetFunc" + Cell "PreserveStateflowLocalDataDimensions" + PropName "DisabledProps" + } + Description "" + Components [] + TargetFcnLib "ansi_tfl_table_tmw.mat" + TargetLibSuffix "" + TargetPreCompLibLocation "" + GenFloatMathFcnCalls "NOT IN USE" + TargetLangStandard "C99 (ISO)" + CodeReplacementLibrary "None" + UtilityFuncGeneration "Auto" + MultiwordTypeDef "System defined" + MultiwordLength 2048 + DynamicStringBufferSize 256 + GenerateFullHeader on + InferredTypesCompatibility off + ExistingSharedCode "" + GenerateSampleERTMain off + GenerateTestInterfaces off + ModelReferenceCompliant on + ParMdlRefBuildCompliant on + CompOptLevelCompliant on + ConcurrentExecutionCompliant on + IncludeMdlTerminateFcn on + GeneratePreprocessorConditionals "Use local settings" + CombineOutputUpdateFcns on + CombineSignalStateStructs off + GroupInternalDataByFunction off + SuppressErrorStatus off + IncludeFileDelimiter "Auto" + ERTCustomFileBanners off + SupportAbsoluteTime on + LogVarNameModifier "rt_" + MatFileLogging on + MultiInstanceERTCode off + CodeInterfacePackaging "Nonreusable function" + PurelyIntegerCode off + SupportNonFinite on + SupportComplex on + SupportContinuousTime on + SupportNonInlinedSFcns on + RemoveDisableFunc off + RemoveResetFunc off + SupportVariableSizeSignals off + ParenthesesLevel "Nominal" + CastingMode "Nominal" + PreserveStateflowLocalDataDimensions off + MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" + ModelStepFunctionPrototypeControlCompliant off + CPPClassGenCompliant on + AutosarCompliant off + MDXCompliant off + GRTInterface off + GenerateAllocFcn off + UseToolchainInfoCompliant on + GenerateSharedConstants on + CoderGroups [] + AccessMethods [] + LookupTableObjectStructAxisOrder "1,2,3,4,..." + LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" + LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" + ArrayLayout "Column-major" + UnsupportedSFcnMsg "error" + ERTHeaderFileRootName "$R$E" + ERTSourceFileRootName "$R$E" + ERTDataFileRootName "$R_data" + UseMalloc off + ExtMode off + ExtModeStaticAlloc off + ExtModeTesting off + ExtModeStaticAllocSize 1000000 + ExtModeTransport 0 + ExtModeMexFile "ext_comm" + ExtModeMexArgs "" + ExtModeIntrfLevel "Level1" + RTWCAPISignals off + RTWCAPIParams off + RTWCAPIStates off + RTWCAPIRootIO off + GenerateASAP2 off + MultiInstanceErrorCode "Error" + } + PropName "Components" + } + } + SlCovCC.ConfigComp { + $ObjectID 18 + Version "19.0.0" + DisabledProps [] + Description "Simulink Coverage Configuration Component" + Components [] + Name "Simulink Coverage" + CovEnable off + CovScope "EntireSystem" + CovIncludeTopModel on + RecordCoverage off + CovPath "/" + CovSaveName "covdata" + CovCompData "" + CovMetricSettings "dwe" + CovFilter "" + CovHTMLOptions "" + CovNameIncrementing off + CovHtmlReporting off + CovForceBlockReductionOff on + CovEnableCumulative on + CovSaveCumulativeToWorkspaceVar off + CovSaveSingleToWorkspaceVar off + CovCumulativeVarName "covCumulativeData" + CovCumulativeReport off + CovSaveOutputData on + CovOutputDir "slcov_output/$ModelName$" + CovDataFileName "$ModelName$_cvdata" + CovShowResultsExplorer on + CovReportOnPause on + CovModelRefEnable "off" + CovModelRefExcluded "" + CovExternalEMLEnable on + CovSFcnEnable on + CovBoundaryAbsTol 1e-05 + CovBoundaryRelTol 0.01 + CovUseTimeInterval off + CovStartTime 0 + CovStopTime 0 + CovMcdcMode "Masking" + } + hdlcoderui.hdlcc { + $ObjectID 19 + Version "19.0.0" + DisabledProps [] + Description "HDL Coder custom configuration component" + Components [] + Name "HDL Coder" + Array { + Type "Cell" + Dimension 1 + Cell " " + PropName "HDLConfigFile" + } + HDLCActiveTab "0" + } + PropName "Components" + } + Name "Configuration" + CurrentDlgPage "Solver" + ConfigPrmDlgPosition [ 465, 173, 1455, 843 ] + ExtraOptions "" + } + PropName "ConfigurationSets" + } + ExplicitPartitioning off + BlockDefaults { + ForegroundColor "black" + BackgroundColor "white" + DropShadow off + NamePlacement "normal" + FontName "Helvetica" + FontSize 10 + FontWeight "normal" + FontAngle "normal" + ShowName on + HideAutomaticName on + BlockRotation 0 + BlockMirror off + } + AnnotationDefaults { + HorizontalAlignment "left" + VerticalAlignment "top" + ForegroundColor "black" + BackgroundColor "white" + DropShadow off + FontName "Helvetica" + FontSize 10 + FontWeight "normal" + FontAngle "normal" + MarkupType "model" + UseDisplayTextAsClickCallback off + AnnotationType "note_annotation" + FixedHeight off + FixedWidth off + Interpreter "off" + } + LineDefaults { + FontName "Helvetica" + FontSize 9 + FontWeight "normal" + FontAngle "normal" + } + MaskDefaults { + SelfModifiable "off" + IconFrame "on" + IconOpaque "opaque" + RunInitForIconRedraw "analyze" + IconRotate "none" + PortRotate "default" + IconUnits "autoscale" + } + MaskParameterDefaults { + Evaluate "on" + Tunable "on" + NeverSave "off" + Internal "off" + ReadOnly "off" + Enabled "on" + Visible "on" + ToolTip "on" + } + BlockParameterDefaults { + Block { + BlockType Inport + Port "1" + OutputFunctionCall off + OutMin "[]" + OutMax "[]" + OutDataTypeStr "Inherit: auto" + LockScale off + BusOutputAsStruct off + Unit "inherit" + PortDimensions "-1" + VarSizeSig "Inherit" + SampleTime "-1" + SignalType "auto" + SamplingMode "auto" + LatchByDelayingOutsideSignal off + LatchInputForFeedbackSignals off + Interpolate on + } + Block { + BlockType Outport + Port "1" + OutMin "[]" + OutMax "[]" + OutDataTypeStr "Inherit: auto" + LockScale off + BusOutputAsStruct off + Unit "inherit" + PortDimensions "-1" + VarSizeSig "Inherit" + SampleTime "-1" + SignalType "auto" + SamplingMode "auto" + EnsureOutportIsVirtual off + SourceOfInitialOutputValue "Dialog" + OutputWhenDisabled "held" + InitialOutput "[]" + MustResolveToSignalObject off + OutputWhenUnConnected off + OutputWhenUnconnectedValue "0" + VectorParamsAs1DForOutWhenUnconnected off + } + Block { + BlockType SubSystem + ShowPortLabels "FromPortIcon" + Permissions "ReadWrite" + PermitHierarchicalResolution "All" + TreatAsAtomicUnit off + MinAlgLoopOccurrences off + PropExecContextOutsideSubsystem off + ScheduleAs "Sample time" + SystemSampleTime "-1" + RTWSystemCode "Auto" + RTWFcnNameOpts "Auto" + RTWFileNameOpts "Auto" + FunctionInterfaceSpec "void_void" + FunctionWithSeparateData off + RTWMemSecFuncInitTerm "Inherit from model" + RTWMemSecFuncExecute "Inherit from model" + RTWMemSecDataConstants "Inherit from model" + RTWMemSecDataInternal "Inherit from model" + RTWMemSecDataParameters "Inherit from model" + SimViewingDevice off + DataTypeOverride "UseLocalSettings" + DataTypeOverrideAppliesTo "AllNumericTypes" + MinMaxOverflowLogging "UseLocalSettings" + Opaque off + MaskHideContents off + SFBlockType "NONE" + VariantControlMode "Expression" + Variant off + GeneratePreprocessorConditionals off + AllowZeroVariantControls off + PropagateVariantConditions off + TreatAsGroupedWhenPropagatingVariantConditions on + ContentPreviewEnabled off + IsWebBlock off + IsObserver off + Latency "0" + AutoFrameSizeCalculation off + IsWebBlockPanel off + } + } + System { + Name "cdsGaussianNoise" + Location [117, 61, 833, 625] + Open on + PortBlocksUseCompactNotation off + SetExecutionDomain off + ExecutionDomainType "Deduce" + ModelBrowserVisibility on + 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" + SIDHighWatermark "11" + SimulinkSubDomain "Simulink" + Block { + BlockType Inport + Name "Ground" + SID "6" + Position [160, 178, 190, 192] + ZOrder 6 + IconDisplay "Port number" + } + Block { + BlockType SubSystem + Name "Subsystem" + SID "9" + Ports [1, 1] + Position [230, 164, 330, 206] + ZOrder 7 + RequestExecContextInheritance off + System { + Name "Subsystem" + Location [117, 61, 833, 625] + Open off + PortBlocksUseCompactNotation off + SetExecutionDomain off + ExecutionDomainType "Deduce" + ModelBrowserVisibility on + 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" + SimulinkSubDomain "Simulink" + Block { + BlockType Inport + Name "Ground" + SID "10" + Position [110, 103, 140, 117] + ZOrder -1 + IconDisplay "Port number" + } + Block { + BlockType Outport + Name "GNoise" + SID "11" + Position [240, 103, 270, 117] + ZOrder -2 + IconDisplay "Port number" + } + } + } + Block { + BlockType Outport + Name "GNoise" + SID "8" + Position [370, 178, 400, 192] + ZOrder 4 + IconDisplay "Port number" + } + Line { + ZOrder 8 + SrcBlock "Ground" + SrcPort 1 + DstBlock "Subsystem" + DstPort 1 + } + Line { + ZOrder 9 + SrcBlock "Subsystem" + SrcPort 1 + DstBlock "GNoise" + DstPort 1 + } + } +} diff --git a/src/epics/util/feCodeGen.pl b/src/epics/util/feCodeGen.pl index 5307da4a8b744ec01c99faf1affcb60a1714f0dd..066e63108a04cdc3012c068c16597da6cdff7f47 100755 --- a/src/epics/util/feCodeGen.pl +++ b/src/epics/util/feCodeGen.pl @@ -162,6 +162,7 @@ $remoteGpsPart = 0; $remoteGPS = 0; $requireIOcnt = 1; $noiseGeneratorSeed = "none"; +$gaussNoiseGeneratorSeed = "none"; #Following provide for non standard IOP clock rates $adcclock = 64; $modelrate = 64; diff --git a/src/epics/util/lib/GaussianNoiseGenerator.pm b/src/epics/util/lib/GaussianNoiseGenerator.pm new file mode 100644 index 0000000000000000000000000000000000000000..ba425632fbaa0ca67e472f2c533a80e83ad48164 --- /dev/null +++ b/src/epics/util/lib/GaussianNoiseGenerator.pm @@ -0,0 +1,103 @@ +package CDS::GaussianNoiseGenerator; +use Exporter; +@ISA = ('Exporter'); + +#// \page GaussianNoiseGenerator Noise.pm +#// Documentation for GaussianNoiseGenerator.pm +#// This GaussianNoiseGenerator part generates gaussian +#// random noise with 0 mean and 1 standard deviation. +#// +#// +#// +#// \n + + +$printed = 0; +$init_code_printed = 0; +1; + +sub partType { + return GaussianNoiseGenerator; +} + +# Print Epics communication structure into a header file +# Current part number is passed as first argument +sub printHeaderStruct { + my ($i) = @_; +} + +# Print Epics variable definitions +# Current part number is passed as first argument +sub printEpics { + my ($i) = @_; +} + + +# Print variable declarations int front-end file +# Current part number is passed as first argument +sub printFrontEndVars { + my ($i) = @_; + + print ::OUT "static double \L$::xpartName[$i];\n"; + if ($printed) { return; } + + $state_name = "gauss_gen_prng_state"; + print ::OUT "static uint64_t $state_name\[2\];\n"; + print ::OUT "static inline double gaussianRandomDouble( void ) \n"; + print ::OUT "{\n"; + print ::OUT " return qnorm5_s( ((double)xoroshiroPP_next( $state_name )/0xFFFFFFFFFFFFFFFF), 1, 0);\n"; + print ::OUT "}\n"; + + $printed = 1; +} + +# Check inputs are connected +sub checkInputConnect { + my ($i) = @_; + return ""; +} + +# Figure out part input code +# Argument 1 is the part number +# Argument 2 is the input number +# Returns calculated input code +sub fromExp { + my ($i, $j) = @_; + my $from = $::partInNum[$i][$j]; + return "\L$::xpartName[$from]"; +} + +# Return front end initialization code +# Argument 1 is the part number +# Returns calculated code string +sub frontEndInitCode { + my ($i) = @_; + + if ($init_code_printed) { return ""; } + my $calcExp = "\L$::xpartName[$i] = 0;\n"; + if( $::gaussNoiseGeneratorSeed eq "none") + { + $calcExp .= "ligo_get_random_bytes(gauss_gen_prng_state, sizeof(gauss_gen_prng_state));\n"; + } + else + { + #We don't want to have a zero seed for the RNG, so we take any user seed and + #add a constant to it, that way we can support a 0 gaussNoiseGeneratorSeed + $calcExp .= "gauss_gen_prng_state[0] = 0x38ECAC5FB3251641ULL;\n"; + $calcExp .= "gauss_gen_prng_state[1] = 0x145E556BD545B56BULL + $::gaussNoiseGeneratorSeed;\n"; + } + + $init_code_printed = 1; + return $calcExp; +} + + +# Return front end code +# Argument 1 is the part number +# Returns calculated code string +sub frontEndCode { + my ($i) = @_; + my $calcExp = "// GaussiaNoiseGenerator\n"; + $calcExp .= "\L$::xpartName[$i] " . "= gaussianRandomDouble();\n"; + return $calcExp; +} diff --git a/src/epics/util/lib/Noise.pm b/src/epics/util/lib/Noise.pm index 150e3c593194201ffd73aa92499042bbe18e0aca..69a40d5595fd516abab60eecde61fcc4d2b46410 100644 --- a/src/epics/util/lib/Noise.pm +++ b/src/epics/util/lib/Noise.pm @@ -110,4 +110,5 @@ sub frontEndCode { my ($i) = @_; my $calcExp = "// Noise\n"; $calcExp .= "\L$::xpartName[$i] = noise_doub();\n"; + return $calcExp; } diff --git a/src/epics/util/lib/Parameters.pm b/src/epics/util/lib/Parameters.pm index 18c91e5119bacbe6a3ee41578da01a878555cfbe..9b72c12b7f5a75c75a2e424dafa17e06e25819a1 100644 --- a/src/epics/util/lib/Parameters.pm +++ b/src/epics/util/lib/Parameters.pm @@ -236,6 +236,10 @@ sub parseParams { { $::noiseGeneratorSeed = $spp[1]; } + case "gaussNoiseGeneratorSeed" + { + $::gaussNoiseGeneratorSeed = $spp[1]; + } case "virtualIOP" { $::virtualiop = $spp[1]; diff --git a/src/include/fe.h b/src/include/fe.h index c7498f1638e4e0b7363ae2440cbb0d40a35280d8..c0486400342fdd9a64a5b1eb2abd024050ce6ca2 100644 --- a/src/include/fe.h +++ b/src/include/fe.h @@ -6,6 +6,9 @@ // extern int printf(const char *, ...); #define printf printk #include "inlineMath.h" +#include "qnorm.h" +#include "util/random_bytes.h" +#include "util/prng_xoroshiroPP.h" #include "drv/cdsHardware.h" #include FE_HEADER #include "tRamp.h" diff --git a/src/include/inlineMath.h b/src/include/inlineMath.h index 3dc254efd84af3b53557939e7b9bc3acb6dc121f..b7588f0023192752d1283c1a3a4b8ee4cbfb425a 100644 --- a/src/include/inlineMath.h +++ b/src/include/inlineMath.h @@ -5,6 +5,7 @@ #define M_PI 3.14159265358979323846 #define M_TWO_PI 6.28318530717958647692 +#define M_SQRT2 1.41421356237309504880 #include <asm/msr.h> #define rdtscl( low ) __asm__ __volatile__( "rdtsc" : "=a"( low ) : : "edx" ) diff --git a/src/include/qnorm.h b/src/include/qnorm.h new file mode 100644 index 0000000000000000000000000000000000000000..a3700d1ce30d699cd9ec38e7d076b62b7f698f44 --- /dev/null +++ b/src/include/qnorm.h @@ -0,0 +1,253 @@ +/* -------- This header applies to the qnorm function ------------ + * Mathlib : A C Library of Special Functions + * Copyright (C) 2000--2020 The R Core Team + * Copyright (C) 1998 Ross Ihaka + * based on AS 111 (C) 1977 Royal Statistical Society + * and on AS 241 (C) 1988 Royal Statistical Society + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, a copy is available at + * https://www.R-project.org/Licenses/ + * + * SYNOPSIS + * + * double qnorm5(double p, double mu, double sigma, + * int lower_tail, int log_p) + * {qnorm (..) is synonymous and preferred inside R} + * + * DESCRIPTION + * + * Compute the quantile function for the normal distribution. + * + * For small to moderate probabilities, algorithm referenced + * below is used to obtain an initial approximation which is + * polished with a final Newton step. + * + * For very large arguments, an algorithm of Wichura is used. + * + * REFERENCE + * + * Beasley, J. D. and S. G. Springer (1977). + * Algorithm AS 111: The percentage points of the normal distribution, + * Applied Statistics, 26, 118-121. + * + * Wichura, M.J. (1988). + * Algorithm AS 241: The Percentage Points of the Normal Distribution. + * Applied Statistics, 37, 477-484. + * + * -------------- End qnorm function header ----------------------------- + * + * -------- This header applies to the fastlog2 and fastlog functions --- + * =====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro <paul@mineiro.com> * + * ===================================================================== + * + * ---------- End of fastlog2 and fastlog functions -------------------- + * + */ + +/** + * LIGO Header + * + * This code was taken from : https://svn.r-project.org/R/trunk/src/nmath/qnorm.c + * LIGO versions of math functions were swapped in. (sqrt -> lsqrt, etc) + * + * The fastlog2 and fastlog functions where taken from : + * https://github.com/romeric/fastapprox/blob/master/fastapprox/src/fastlog.h + * + */ + +#ifndef LIGO_QNORM_H +#define LIGO_QNORM_H + +#include "inlineMath.h" + + +#define ML_POSINF (1.0 / 0.0) +#define ML_NEGINF ((-1.0) / 0.0) +#define ML_NAN (0.0 / 0.0) + +/* Use 0.5 - p + 0.5 to perhaps gain 1 bit of accuracy */ +#define R_D_Lval(p) (lower_tail ? (p) : (0.5 - (p) + 0.5)) /* p */ +#define R_D_Cval(p) (lower_tail ? (0.5 - (p) + 0.5) : (p)) /* 1 - p */ + + +#define R_DT_qIv(p) (log_p ? (lower_tail ? taylor_9th_exp(p) : - expm1(p)) \ + : R_D_Lval(p)) + +#define R_DT_CIv(p) (log_p ? (lower_tail ? -expm1(p) : taylor_9th_exp(p)) \ + : R_D_Cval(p)) + +// This is a simplified 9th order Taylor polynomial for e^x +// +// This has a maximum percent error of 0.000011% over the (0,1) +// range, which is where we use it here +// +static inline double taylor_9th_exp(double x) +{ + return (362880+x*(362880+x*(181440+x*(60480+x* + (15120+x*(3024+x*(504+x*(72+x*(9+x)))))))))*2.75573192e-6; +} + +static inline double expm1( double x) +{ + return taylor_9th_exp(x) - 1.0; +} + + +static inline float +fastlog2 (float x) +{ + union { float f; uint32_t i; } vx = { x }; + union { uint32_t i; float f; } mx = { (vx.i & 0x007FFFFF) | 0x3f000000 }; + float y = vx.i; + y *= 1.1920928955078125e-7f; + + return y - 124.22551499f + - 1.498030302f * mx.f + - 1.72587999f / (0.3520887068f + mx.f); +} + +// The maximum error over the (0,1] range is a percent error of +// 0.000773% with the use of this acceleration +static inline float +fastlog (float x) +{ + return 0.69314718f * fastlog2 (x); +} + + +static inline double qnorm5_s(double p, int lower_tail, int log_p) +{ + double p_, q, r, val; + + p_ = R_DT_qIv(p);/* real lower_tail prob. p */ + q = p_ - 0.5; + + /*-- use AS 241 --- */ + /* double ppnd16_(double *p, long *ifault)*/ + /* ALGORITHM AS241 APPL. STATIST. (1988) VOL. 37, NO. 3 + + Produces the normal deviate Z corresponding to a given lower + tail area of P; Z is accurate to about 1 part in 10**16. + + (original fortran code used PARAMETER(..) for the coefficients + and provided hash codes for checking them...) + */ + if (lfabs(q) <= .425) {/* |p~ - 0.5| <= .425 <==> 0.075 <= p~ <= 0.925 */ + r = .180625 - q * q; // = .425^2 - q^2 >= 0 + val = + q * (((((((r * 2509.0809287301226727 + + 33430.575583588128105) * r + 67265.770927008700853) * r + + 45921.953931549871457) * r + 13731.693765509461125) * r + + 1971.5909503065514427) * r + 133.14166789178437745) * r + + 3.387132872796366608) + / (((((((r * 5226.495278852854561 + + 28729.085735721942674) * r + 39307.89580009271061) * r + + 21213.794301586595867) * r + 5394.1960214247511077) * r + + 687.1870074920579083) * r + 42.313330701600911252) * r + 1.); + } + else { /* closer than 0.075 from {0,1} boundary : + * r := log(p~); p~ = min(p, 1-p) < 0.075 : */ + if(log_p && ((lower_tail && q <= 0) || (!lower_tail && q > 0))) { + p_ = R_DT_qIv(p);/* real lower_tail prob. p */ + r = p; + } else { + r = fastlog( (q > 0) ? R_DT_CIv(p) /* 1-p */ : p_ /* = R_DT_Iv(p) ^= p */); + } + + // r = sqrt( - log(min(p,1-p)) ) <==> min(p, 1-p) = exp( - r^2 ) : + r = lsqrt(-r); + if (r <= 5.) { /* <==> min(p,1-p) >= exp(-25) ~= 1.3888e-11 */ + r += -1.6; + val = (((((((r * 7.7454501427834140764e-4 + + .0227238449892691845833) * r + .24178072517745061177) * + r + 1.27045825245236838258) * r + + 3.64784832476320460504) * r + 5.7694972214606914055) * + r + 4.6303378461565452959) * r + + 1.42343711074968357734) + / (((((((r * + 1.05075007164441684324e-9 + 5.475938084995344946e-4) * + r + .0151986665636164571966) * r + + .14810397642748007459) * r + .68976733498510000455) * + r + 1.6763848301838038494) * r + + 2.05319162663775882187) * r + 1.); + } + else if(r >= 816) { // p is *extremly* close to 0 or 1 - only possibly when log_p =TRUE + // Using the asymptotical formula -- is *not* optimal but uniformly better than branch below + val = r * M_SQRT2; + } + else { // p is very close to 0 or 1: r > 5 <==> min(p,1-p) < exp(-25) = 1.3888..e-11 + // Wichura, p.478: minimax rational approx R_3(t) is for 5 <= t <= 27 (t :== r) + r += -5.; + val = (((((((r * 2.01033439929228813265e-7 + + 2.71155556874348757815e-5) * r + + .0012426609473880784386) * r + .026532189526576123093) * + r + .29656057182850489123) * r + + 1.7848265399172913358) * r + 5.4637849111641143699) * + r + 6.6579046435011037772) + / (((((((r * + 2.04426310338993978564e-15 + 1.4215117583164458887e-7)* + r + 1.8463183175100546818e-5) * r + + 7.868691311456132591e-4) * r + .0148753612908506148525) + * r + .13692988092273580531) * r + + .59983220655588793769) * r + 1.); + } + + if(q < 0.0) + val = -val; + } + return val; +} + + + + + +#endif //LIGO_QNORM_H diff --git a/src/include/util/prng_xoroshiroPP.h b/src/include/util/prng_xoroshiroPP.h new file mode 100644 index 0000000000000000000000000000000000000000..dad441a7d387dddb68fa0ba091803ab9080599ab --- /dev/null +++ b/src/include/util/prng_xoroshiroPP.h @@ -0,0 +1,46 @@ +/* Written in 2019 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See <http://creativecommons.org/publicdomain/zero/1.0/>. */ + + +/* This is xoroshiro128++ 1.0, one of our all-purpose, rock-solid, + * small-state generators. It is extremely (sub-ns) fast and it passes all + * tests we are aware of, but its state space is large enough only for + * mild parallelism. + * + * For generating just floating-point numbers, xoroshiro128+ is even + * faster (but it has a very mild bias, see notes in the comments). + * + * The state must be seeded so that it is not everywhere zero. If you have + * a 64-bit seed, we suggest to seed a splitmix64 generator and use its + * output to fill s. + * + * This has a 2^(128)-1 period + */ + +#ifndef LIGO_PRNG_XOROSHIRO_PLUS_PLUS_H +#define LIGO_PRNG_XOROSHIRO_PLUS_PLUS_H + +static inline uint64_t rotl(const uint64_t x, int k) { + return (x << k) | (x >> (64 - k)); +} + + +static uint64_t xoroshiroPP_next( uint64_t s[2] ) { + const uint64_t s0 = s[0]; + uint64_t s1 = s[1]; + const uint64_t result = rotl(s0 + s1, 17) + s0; + + s1 ^= s0; + s[0] = rotl(s0, 49) ^ s1 ^ (s1 << 21); // a, b + s[1] = rotl(s1, 28); // c + + return result; +} + + +#endif //LIGO_PRNG_XOROSHIRO_PLUS_H diff --git a/src/include/util/random_bytes.h b/src/include/util/random_bytes.h new file mode 100644 index 0000000000000000000000000000000000000000..ebc7f89bb6389376090d93a8c29660b56e054079 --- /dev/null +++ b/src/include/util/random_bytes.h @@ -0,0 +1,45 @@ +#ifndef LIGO_RAMDOM_BYTES_H +#define LIGO_RAMDOM_BYTES_H + +/**************************************************************************** + * + * This header provides a kernel/usp compatible compatible call for + * retrieving cryptographically secure random bytes. + * + * NOTE: These calls are SLOW and should not be used in performance sensitive + * loops. .5-1us measured on a Intel(R) Xeon(R) CPU E5-1660 v4 @ 3.20GHz + * + * You will see these used to seed faster PRNGs that will be used to + * generate random numbers during critical loops. + * + * @author EJ Dohmen + * @date 13 April 2022 + * + ****************************************************************************/ + +#ifdef __KERNEL__ + +#include <linux/random.h> + +static inline void ligo_get_random_bytes(void *buf, int nbytes) +{ + get_random_bytes(buf, nbytes); + return; +} + +#else + +#include <sys/random.h> + +static inline void ligo_get_random_bytes(void *buf, int nbytes) +{ + getrandom(buf, nbytes, GRND_NONBLOCK); + return; +} + + +#endif + + + +#endif //LIGO_RAMDOM_BYTES_H